Accessible Java Application User Interface Design Guidelines Lawrence J. Najjar, Ph.D. BMC Software* *Now at TandemSeven
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
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 Software applications and operating systems –Paragraph Functional performance criteria –Paragraph Information, documentation, and support
7 Paragraph 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 Epilepsy.com (2004b, February). Reflex epilepsies. Retrieved February 10, 2005, from General Services Administration (2005). Section 508. Retrieved February 8, 2005, from Microsoft (2004). Official guidelines for user interface developers and designers. Retrieved February 10, 2004, from us/dnwue/html/welcome.asp us/dnwue/html/welcome.asp Sun (2001). Java look and feel design guidelines (2 nd ed.). Boston: Addison- Wesley. Retrieved February 10, 2005, from Watchfire (2005). Welcome to Bobby. Retrieved February 8, 2005, from
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), Retrieved February 10, 2005, from World Wide Web Consortium (2005). Web accessibility initiative (WAI). Retrieved February 8, 2005, from
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
29 Tool Tip