Accessible Java Application User Interface Design Guidelines

Download Report

Transcript Accessible Java Application User Interface Design Guidelines

Accessible Java Application
User Interface Design Guidelines
Lawrence J. Najjar, Ph.D.
BMC Software*
*Now at TandemSeven
[email protected]
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
2
Sample Java Application
3
Sample Java Application
4
The Need
User interface design guidelines
– Based on accessibility requirements
– Tailored for Java applications
5
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
6
Paragraph 1194.21 Software
Applications and Operating Systems
Describes how to improve accessibility of
– Interactive software applications (such as Java
applications)
– Operating systems
7
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)
8
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
9
Keyboard-Only
10
Initial Focus
11
Tabbing Order
12
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
13
Keyboard
14
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”
15
Mnemonics
16
Mnemonics
17
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
18
Shortcut Keys in Edit Menu
19
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”)
20
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”
21
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
22
23
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/enus/dnwue/html/welcome.asp
Sun (2001). Java look and feel design guidelines (2nd ed.). Boston: AddisonWesley. 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
24
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/
25
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
26
Tool Tip
27
Tool Tip
Status
Name
Data Source
Failed East Coast
zimbabwe : ZIM817MA
Located:
Boston : ZIM920GA
South Region zimbabwe
Network:
SwanBoat27
West Region
javelina
: JAV720SJ
Last updated: 07/27/2005
DBMS
Oracle 8.0.5
Oracle 9.2.0
UDB 7.2.0
Details
Show Details
Show Details
Show Details
Status
Name
Data Source
Failed East Coast
zimbabwe : ZIM817MA
Show
Details
South Region zimbabwe
: ZIM920GA
Copy
Ctrl+C
West Region javelina : JAV720SJ
Paste
Ctrl+V
DBMS
Oracle 8.0.5
Oracle 9.2.0
UDB 7.2.0
Details
Show Details
Show Details
Show Details
Show Details
Located: Boston
Network: SwanBoat27
Last updated: 07/27/2005
Close
28
Open
Copy
Ctrl+C
Select All
Ctrl+A
Choose Columns...
Tool Tip
29