Date post: | 01-Jan-2016 |
Category: |
Documents |
Upload: | rosa-sanders |
View: | 221 times |
Download: | 0 times |
Accessible Java Application User Interface Design
GuidelinesLawrence J. Najjar, Ph.D.
BMC Software*
*Now at [email protected]
2
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
3
Sample Java Application
4
Sample Java Application
5
The Need
User interface design guidelines – Based on accessibility requirements– Tailored for Java applications
6
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
7
Paragraph 1194.21 Software Applications and Operating Systems
Describes how to improve accessibility of – Interactive software applications (such as Java
applications)– Operating systems
8
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)
9
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
10
Keyboard-Only
11
Initial Focus
12
Tabbing Order
13
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
14
Keyboard
15
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”
16
Mnemonics
17
Mnemonics
18
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
19
Shortcut Keys in Edit Menu
20
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”)
21
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”
22
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
23
24
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 (2nd 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
25
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/
26
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
27
Tool Tip
28
Tool Tip
Data SourceNameEast Coast zimbabwe : ZIM817MA
DBMSOracle 8.0.5
South Region zimbabwe : ZIM920GA Oracle 9.2.0West Region javelina : JAV720SJ UDB 7.2.0
StatusFailed
DetailsShow DetailsShow Details
Show Details
Show DetailsCopy Ctrl+CPaste Ctrl+V
Data SourceNameEast Coast zimbabwe : ZIM817MA
DBMSOracle 8.0.5
South Region zimbabwe : ZIM920GA Oracle 9.2.0West Region javelina : JAV720SJ UDB 7.2.0
StatusFailed
DetailsShow DetailsShow Details
Show Details
Located: BostonNetwork: SwanBoat27Last updated: 07/27/2005
Show DetailsShow Details
Located: BostonNetwork: SwanBoat27Last updated: 07/27/2005
Close
29
Tool TipOpenCopy Ctrl+CSelect All Ctrl+AChoose Columns...