Accessible Java Application User Interface Design Guidelines - Presentation Transcript
Accessible Java Application User Interface Design Guidelines Lawrence J. Najjar, Ph.D. BMC Software* *Now at TandemSeven [email_address]
Accessibility Challenges
Java applications can be very complex
Java applications need to be accessible
Most accessibility guidelines, tools, and other resources are for Web applications
Sample Java Application
Sample Java Application
The Need
User interface design guidelines
Based on accessibility requirements
Tailored for Java applications
Accessibility Requirements
Section 508 of US Rehabilitation Act (General Services Administration, 2005)
Paragraph 1194.21 Software applications and operating systems
Paragraph 1194.31 Functional performance criteria
Paragraph 1194.41 Information, documentation, and support
Paragraph 1194.21 Software Applications and Operating Systems
Describes how to improve accessibility of
Interactive software applications (such as Java applications)
Operating systems
Requirement A
“ When software is designed to run on a system that has a keyboard, product functions shall be executable from a keyboard where the function itself or the result of performing a function can be discerned textually.” (General Services Administration, 2005)
Keyboard
Allow keyboard only users to perform (nearly) all functions
Define initial focus in every window
Create tabbing order based on user needs
Provide tab stop for instructions
Define spacebar to select a choice, Enter key to perform window’s default action
Keyboard-Only
Initial Focus
Tabbing Order
Keyboard
Design F10 to move keyboard focus to window menu bar (ex. File, Edit, View)
Tab and left-right arrows move between menus
Down-up arrows open menus
Down-up arrows move within choices in menu
Right-left arrows move between open menus
Esc key closes menus
Provide keyboard alternatives for drag-and-drop
In multiple document interface, design Ctrl-F6 to move to next child window
Keyboard
Mnemonics
Create mnemonics to allow users to press keys (ex. Alt-f) to move focus to a user interface control and activate it
Provide mnemonics for each menu bar item, choice in menu bar menus, and most frequently used controls in primary windows
For long list of check boxes or radio buttons, provide mnemonic for first item, arrow between items
Do not provide mnemonics for “OK” or “Cancel”
Mnemonics
Mnemonics
Shortcut Keys
Provide shortcut keys (ex. Ctrl-c, Shift-F1, F1) to allow users to perform very frequent menu bar actions
Do not use “Alt” as shortcut key because is used for mnemonics
Shortcut Keys in Edit Menu
Combo Boxes
Allow users to keep control
Allow users to move up and down choices without submitting a choice
Process choice only after user presses “Enter” key and selects submit button (ex. “Go”)
Help
Keyboard-only users need Help for required key combinations
In Help, describe ways to perform functions for keyboard-only users
Bad: “To open the contextual menu, right-click on the item”
Good: “To open the contextual menu, right-click on the item or move focus to the item and press Shift-F10”
Conclusions
By following these guidelines, we can design and build accessible Java applications
Accessible Java applications are attractive to governments, companies, and schools
Accessibility is good business
References
Epilepsy.com (2004a). Frequently asked questions. Retrieved February 10, 2005, from http://www.epilepsy.com/info/family_faq.html
Epilepsy.com (2004b, February). Reflex epilepsies. Retrieved February 10, 2005, from http://www.epilepsy.com/epilepsy/epilepsy_reflex.html
General Services Administration (2005). Section 508. Retrieved February 8, 2005, from http://www.section508.gov/index.cfm?FuseAction=Content&ID=12
Microsoft (2004). Official guidelines for user interface developers and designers. Retrieved February 10, 2004, from http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwue/html/welcome.asp
Sun (2001). Java look and feel design guidelines (2 nd ed.). Boston: Addison-Wesley. Retrieved February 10, 2005, from http://java.sun.com/products/jlf/ed2/book/index.html
Watchfire (2005). Welcome to Bobby. Retrieved February 8, 2005, from http://bobby.watchfire.com/bobby/html/en/index.jsp
References
Willuhn, D., Schulz, C., Knoth-Weber, L., Feger, S., & Saillet, Y. (2003). Developing accessible software for data visualization. IBM Systems Journal, 42(4), 652-668. Retrieved February 10, 2005, from http://www.research.ibm.com/journal/sj/424/willuhn.pdf
World Wide Web Consortium (2005). Web accessibility initiative (WAI). Retrieved February 8, 2005, from http://www.w3c.org/WAI/
Tool Tips
Provide simple, alternative ways for users to access text in tool tips
For graphic (ex. toolbar button), provide alternative text label
For line of date in table, provide hyperlink labeled “Show Details”
Create contextual menu for object that includes “Show Details” choice
Contextual menu = Action menu bar menu via Shift-F10
When user selects “Show Details” contextual menu choice, provide secondary window with tool tip text
0 comments
Post a comment