Java Application Accessibility Awareness Lawrence Najjar.
-
Upload
branden-payne -
Category
Documents
-
view
225 -
download
0
Transcript of Java Application Accessibility Awareness Lawrence Najjar.
Java Application Accessibility Awareness
Lawrence Najjar
2
Outline
• Purpose• Definitions• Section 508• Screen Readers• Some Accessibility Requirements• Some Accessibility Suggestions• For Best Results Use• Testing• Accessibility at BMC• Accessibility Resources• Summary
3
Purpose
• Improve Java application accessibility awareness
4
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
5
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)
6
Screen Readers
http://www.doit.wisc.edu/accessibility/video/intro_scrn_rdrs.mov
7
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
8
Example for “Provide keyboard-only access to all functions”
9
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)
10
Example for “Show focus visually and programmatically”
11
Example for “Do not override user-selected color, contrast, font size, etc.”
12
Example of “Don’t use color as only way to convey information”
Before
After
13
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
14
Example for “Provide high contrast for text”
Before
After
*Date (mm/dd/yyyy):
*Date (mm/dd/yyyy):
15
Example for “Use tab order that makes sense to users”
16
Example of “Don’t use unnecessary graphics”
http://www.flamingtext.com/
17
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
18
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.
19
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_assessment.doc)
• Use IBM Java accessibility checklist (http://www-306.ibm.com/able/guidelines/java/accessjava.html)
20
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
21
Accessibility in R&D Usability Portal
http://cww/portal/site/CWW/index.jsp?chid=69da4c9a711eaf00VgnVCMServerd30611acRCRD
22
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=bada4c9a711eaf00VgnVCMServerd30611acRCRD• Dunn, J. (2002, June 2). Developing accessible JFC applications [On-line]. Available: http://www.sun.com/access/developers/developing-accessible-apps/• 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/doc-files/Key-Index.html
23
Summary
For maximum accessibility:•Design in accessibility from the start
•Verify accessibility with checklists, tools, and accessibility tests
24
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:• Contact Tony Haverda, manager, Interface Design and
Usability