Title: Java Application Accessibility Awareness Lawrence Najjar
1Java Application Accessibility AwarenessLawrence
Najjar
2Outline
- Purpose
- Definitions
- Section 508
- Screen Readers
- Some Accessibility Requirements
- Some Accessibility Suggestions
- For Best Results Use
- Testing
- Accessibility at BMC
- Accessibility Resources
- Summary
3Purpose
- Improve Java application accessibility
awareness
4Definitions
- 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
5Section 508
- Section 508 of the Rehabilitation Act
amendments of 1998 (http//www.section508.gov/inde
x.cfm?FuseActionContentID12Web) - 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)
6Screen Readers
- http//www.doit.wisc.edu/accessibility/video/intro
_scrn_rdrs.mov
7Some 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/doc
s/api/javax/swing/doc-files/Key-Index.html) - Provide functional keyboard equivalents for mouse
functions
8Example for Provide keyboard-only access to all
functions
9Some Java Accessibility Requirements (Continued)
- Dont 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 - Dont use color as only way to convey
information (example) - Dont blink between 2 Hz and 55 Hz
- Make forms accessible (ex. place prompt left of
entry field)
10Example for Show focus visually and
programmatically
11Example for Do not override user-selected color,
contrast, font size, etc.
12Example of Dont use color as only way to convey
information
13Some Accessibility Suggestions
- Provide high contrast for text (example)
- Use tab order that makes sense to users
(example) - Dont use unnecessary graphics (example)
- Provide default focus on every window
- Set a component to execute the java.awt.Componentr
equestFocus 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, - Dont use timed responses if you must, allow
users to extend the time
14Example for Provide high contrast for text
Date (mm/dd/yyyy)
Date (mm/dd/yyyy)
15Example for Use tab order that makes sense to
users
16Example of Dont use unnecessary graphics
- http//www.flamingtext.com/
17For 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/) - Dont use applets (some assistive technology
browsers dont support them) use Sun Web Start
18Java 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.
19Testing
- Use Java Accessibility Helper
(http//java.sun.com/developer/earlyAccess/jaccess
helper/) - Use application with only keyboard
(http//java.sun.com/j2se/1.4.2/docs/api/javax/swi
ng/doc-files/Key-Index.html) - Use JAWS screen reader (http//www.freedomscient
ific.com/fs_products/software_jaws.asp) - Print screens on black white printer
- Use BMC accessibility checklist
(http//cww/internal/ResearchAndDevelopment/Usabil
ity/attachments/SmartNumber_section508_assessment.
doc) - Use IBM Java accessibility checklist
(http//www-306.ibm.com/able/guidelines/java/acces
sjava.html)
20Accessibility 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 RD Usability
portal (example) - Over 500 products evaluated using BMC Section 508
Product Assessment Form - Completed accessibility form now required for
products release to market process - Federal agencies now requiring information on
when BMC products will conform to Section 508
21Accessibility in RD Usability Portal
http//cww/portal/site/CWW/index.jsp?chid69da4c9a
711eaf00VgnVCMServerd30611acRCRD
22Accessibility 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?chidbada4c9a
711eaf00VgnVCMServerd30611acRCRD - Dunn, J. (2002, June 2). Developing accessible
JFC applications On-line. Available
http//www.sun.com/access/developers/developing-ac
cessible-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/de
veloperworks/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). IBMs
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?FuseActionCon
tentID12Web - Sun Microsystems (2003). Accessibility quick
reference On-line. Available
http//www.sun.com/access/ developers/access.qui
ck.ref.htmlapptips - Sun Microsystems. Swing component keystroke
assignments On-line. Available
http//java.sun.com/j2se/1.4.2/docs/api/javax/swin
g/doc-files/Key-Index.html
23Summary
- For maximum accessibility
- Design in accessibility from the start
- Verify accessibility with checklists, tools, and
accessibility tests
24Thank You
- To get a copy of this presentation
- E-mail Lawrence Najjar
- Or, go to the RD 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