Top Banner
Accessible Java Application User Interface Design Guidelines Lawrence J. Najjar, Ph.D. BMC Software* *Now at TandemSeven [email protected]
29
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Accessible Java Application User Interface Design Guidelines

Accessible Java Application User Interface Design

GuidelinesLawrence J. Najjar, Ph.D.

BMC Software*

*Now at [email protected]

Page 2: Accessible Java Application User Interface Design Guidelines

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

Page 3: Accessible Java Application User Interface Design Guidelines

3

Sample Java Application

Page 4: Accessible Java Application User Interface Design Guidelines

4

Sample Java Application

Page 5: Accessible Java Application User Interface Design Guidelines

5

The Need

User interface design guidelines – Based on accessibility requirements– Tailored for Java applications

Page 6: Accessible Java Application User Interface Design Guidelines

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

Page 7: Accessible Java Application User Interface Design Guidelines

7

Paragraph 1194.21 Software Applications and Operating Systems

Describes how to improve accessibility of – Interactive software applications (such as Java

applications)– Operating systems

Page 8: Accessible Java Application User Interface Design Guidelines

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)

Page 9: Accessible Java Application User Interface Design Guidelines

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

Page 10: Accessible Java Application User Interface Design Guidelines

10

Keyboard-Only

Page 11: Accessible Java Application User Interface Design Guidelines

11

Initial Focus

Page 12: Accessible Java Application User Interface Design Guidelines

12

Tabbing Order

Page 13: Accessible Java Application User Interface Design Guidelines

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

Page 14: Accessible Java Application User Interface Design Guidelines

14

Keyboard

Page 15: Accessible Java Application User Interface Design Guidelines

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”

Page 16: Accessible Java Application User Interface Design Guidelines

16

Mnemonics

Page 17: Accessible Java Application User Interface Design Guidelines

17

Mnemonics

Page 18: Accessible Java Application User Interface Design Guidelines

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

Page 19: Accessible Java Application User Interface Design Guidelines

19

Shortcut Keys in Edit Menu

Page 20: Accessible Java Application User Interface Design Guidelines

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”)

Page 21: Accessible Java Application User Interface Design Guidelines

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”

Page 22: Accessible Java Application User Interface Design Guidelines

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

Page 23: Accessible Java Application User Interface Design Guidelines

23

Page 24: Accessible Java Application User Interface Design Guidelines

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

Page 25: Accessible Java Application User Interface Design Guidelines

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/

Page 26: Accessible Java Application User Interface Design Guidelines

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

Page 27: Accessible Java Application User Interface Design Guidelines

27

Tool Tip

Page 28: Accessible Java Application User Interface Design Guidelines

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

Page 29: Accessible Java Application User Interface Design Guidelines

29

Tool TipOpenCopy Ctrl+CSelect All Ctrl+AChoose Columns...