Download Java Application Accessibility Awareness Lawrence Najjar

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Java Application
Accessibility Awareness
Lawrence Najjar
Outline
•
•
•
•
•
•
•
•
•
•
•
Purpose
Definitions
Section 508
Screen Readers
Some Accessibility Requirements
Some Accessibility Suggestions
For Best Results Use
Testing
Accessibility at BMC
Accessibility Resources
Summary
2
Purpose
• Improve Java application accessibility awareness
3
Definitions
• Disability -- Functional limitation in vision, hearing,
movement, manipulation (for example, fine movements
to use mouse), speech, and interpretation of information
(for example, dyslexia and other cognitive impairments)
• Accessibility – Providing persons with disabilities
comparable access to and use of information and data as
persons without disabilities
4
Section 508
• Section 508 of the Rehabilitation Act amendments of
1998 (http://www.section508.gov/index.cfm?FuseAction=Content&ID=12#Web)
• For Federal purchases of information technology
• Requires Federal employees and members of the public
with disabilities have access to and use of information
and data comparable to that of employees and members
of the public without disabilities
• Is spreading beyond Federal government
(http://www.gcn.com/vol1_no1/daily-updates/26304-1.html)
5
Screen Readers
http://www.doit.wisc.edu/accessibility/video/intro_scrn_rdrs.mov
6
Some Accessibility Requirements
• Provide keyboard-only access to all functions (example)
› Provide keyboard mnemonics (ex. ALT-F for File menu) for menu bar
menus, frequently-used components, and all dialog window
components
› Duplicate toolbar buttons in menu or provide keyboard access to toolbar
› Use Swing keyboard bindings (ex. F6 to move between panes)
(http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/doc-files/Key-Index.html)
› Provide functional keyboard equivalents for mouse functions
7
Example for “Provide keyboard-only access
to all functions”
8
Some Java Accessibility Requirements
(Continued)
• Don’t interfere with accessibility features (ex. inverse video,
sticky keys)
• Show focus visually and programmatically (example)
• Make all user interface elements (ex. icons) available via text
• Use operating system to display textual info (ex. text, text input
carat, text attributes)
• Do not override user-selected color, contrast, font size,
keyboard repeat rate, etc. (example)
• Allow users to turn off animated info, but still get the info
• Don’t use color as only way to convey information (example)
• Don’t blink between 2 Hz and 55 Hz
• Make forms accessible (ex. place prompt left of entry field)
9
Example for “Show focus visually and
programmatically”
10
Example for “Do not override user-selected
color, contrast, font size, etc.”
11
Example of “Don’t use color as only way to
convey information”
Before
After
12
Some Accessibility Suggestions
•
•
•
•
Provide high contrast for text (example)
Use tab order that makes sense to users (example)
Don’t use unnecessary graphics (example)
Provide default focus on every window
› Set a component to execute the java.awt.ComponentrequestFocus method
• Describe icons and other functional graphics
› Call the setIcon( ) method
› Use the setDescription( ) class
• Label all components
› Implement the AccessibleName method on all objects
› Implement the AccessibleDescription Method
• Allow users to see visual version of audio alert
› Enable Windows sound accessibility flashed title bar, window, or desktop; can
also flash status indicator on taskbar, etc,
• Don’t use timed responses; if you must, allow users to extend the
time
13
Example for “Provide high contrast for text”
Before
*Date (mm/dd/yyyy):
After
*Date (mm/dd/yyyy):
14
Example for “Use tab order that makes sense
to users”
15
Example of “Don’t use unnecessary graphics”
http://www.flamingtext.com/
16
For Best Results Use
• Java 2
• Java Foundation Classes “Swing” User Interface
Components
• Java Accessibility Application Program Interface
• Java Access Bridge for Windows 1.1
(http://java.sun.com/products/accessbridge/)
• Don’t use applets (some assistive technology browsers
don’t support them); use Sun Web Start
17
Java Access Bridge
• Communicates between assistive technology (ex. JAWS) and
native code of Java Access Bridge
• Bridge for Java Accessibility API between Java virtual
machine and Windows
• Uses two Windows Dynamic Link Libraries and one Java
language classfile
Note: Users need Java Access Bridge on their machines.
18
Testing
• Use Java Accessibility Helper
(http://java.sun.com/developer/earlyAccess/jaccesshelper/)
• Use application with only keyboard
(http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/doc-files/Key-Index.html)
• Use JAWS screen reader
(http://www.freedomscientific.com/fs_products/software_jaws.asp)
• Print screens on black & white printer
• Use BMC accessibility checklist
(http://cww/internal/ResearchAndDevelopment/Usability/attachments/SmartNumber_section508_asse
ssment.doc)
• Use IBM Java accessibility checklist (http://www306.ibm.com/able/guidelines/java/accessjava.html)
19
Accessibility at BMC
• Accessibility program lead named (Chris Meier)
• Accessibility consultant hired (The Paciello Group)
• Reviewed SmartDBA and Metropolis
• Delivered 20-minute-long Webinars
• Will provide half-day Java accessibility training
• Accessibility awareness program begun (CWW, Brown Bags)
• Accessibility section added to BMC R&D Usability portal
(example)
• Over 500 products evaluated using BMC Section 508 Product
Assessment Form
• Completed accessibility form now required for product’s
release to market process
• Federal agencies now requiring information on when BMC
products will conform to Section 508
20
Accessibility in R&D Usability Portal
http://cww/portal/site/CWW/index.jsp?chid=69da4c9a711eaf00VgnVCMServerd30611acRCRD
21
Accessibility Resources
• Andrews, M. Accessibility and the Swing Set [On-line]. Available:
http://java.sun.com/products/jfc/tsc/articles/accessibility/
• BMC Accessibility Intranet site:
http://cww/portal/site/CWW/index.jsp?chid=bada4c9a711eaf00VgnVCMSer
verd30611acRCRD
• Dunn, J. (2002, June 2). Developing accessible JFC applications [On-line].
Available: http://www.sun.com/access/developers/developing-accessibleapps/
• Feigenbaum, B. A. (2002, October 1). Coding for accessibility – Use
JFC/Swing to build accessibility into your Java applications [On-line].
Available: http://www-106.ibm.com/developerworks/java/library/j-access/
• IBM (2002). IBM Java accessibility checklist [On-line]. Available:
http://www-306.ibm.com/able/guidelines/java/accessjava.html
• Schwerdtfeger, R. S. (2000, August 24). IBM’s guidelines for writing
accessible applications using 100% pure Java [On-line]. Available:
http://www-3.ibm.com/able/guidelines/java/snsjavag.html
• Section 508 [On-line]. Available:
http://www.section508.gov/index.cfm?FuseAction=Content&ID=12#Web
• Sun Microsystems (2003). Accessibility quick reference [On-line]. Available:
http://www.sun.com/access/ developers/access.quick.ref.html#apptips
• Sun Microsystems. Swing component keystroke assignments [On-line].
Available: http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/docfiles/Key-Index.html
22
Summary
For maximum accessibility:
• Design in accessibility from the start
• Verify accessibility with checklists, tools, and accessibility tests
23
Thank You
To get a copy of this presentation:
•
•
E-mail Lawrence Najjar
Or, go to the R&D Portal, Programs and Services, Usability and
Interface Design, Accessibility/Section 508, White Paper and
Presentations, Java Accessibility Awareness Brown Bag
To get accessibility services:
•
24
Contact Tony Haverda, manager, Interface Design and Usability