29
Accessible Java Application User Interface Design Guidelines Lawrence J. Najjar, Ph.D. BMC Software* *Now at TandemSeven [email protected]

Accessible Java Application User Interface Design Guidelines Lawrence J. Najjar, Ph.D. BMC Software* *Now at TandemSeven [email protected]

Embed Size (px)

Citation preview

Page 1: Accessible Java Application User Interface Design Guidelines Lawrence J. Najjar, Ph.D. BMC Software* *Now at TandemSeven lnajjar@tandemseven.com

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 Lawrence J. Najjar, Ph.D. BMC Software* *Now at TandemSeven lnajjar@tandemseven.com

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 Lawrence J. Najjar, Ph.D. BMC Software* *Now at TandemSeven lnajjar@tandemseven.com

3

Sample Java Application

Page 4: Accessible Java Application User Interface Design Guidelines Lawrence J. Najjar, Ph.D. BMC Software* *Now at TandemSeven lnajjar@tandemseven.com

4

Sample Java Application

Page 5: Accessible Java Application User Interface Design Guidelines Lawrence J. Najjar, Ph.D. BMC Software* *Now at TandemSeven lnajjar@tandemseven.com

5

The Need

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

Page 6: Accessible Java Application User Interface Design Guidelines Lawrence J. Najjar, Ph.D. BMC Software* *Now at TandemSeven lnajjar@tandemseven.com

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 Lawrence J. Najjar, Ph.D. BMC Software* *Now at TandemSeven lnajjar@tandemseven.com

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 Lawrence J. Najjar, Ph.D. BMC Software* *Now at TandemSeven lnajjar@tandemseven.com

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 Lawrence J. Najjar, Ph.D. BMC Software* *Now at TandemSeven lnajjar@tandemseven.com

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 Lawrence J. Najjar, Ph.D. BMC Software* *Now at TandemSeven lnajjar@tandemseven.com

10

Keyboard-Only

Page 11: Accessible Java Application User Interface Design Guidelines Lawrence J. Najjar, Ph.D. BMC Software* *Now at TandemSeven lnajjar@tandemseven.com

11

Initial Focus

Page 12: Accessible Java Application User Interface Design Guidelines Lawrence J. Najjar, Ph.D. BMC Software* *Now at TandemSeven lnajjar@tandemseven.com

12

Tabbing Order

Page 13: Accessible Java Application User Interface Design Guidelines Lawrence J. Najjar, Ph.D. BMC Software* *Now at TandemSeven lnajjar@tandemseven.com

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 Lawrence J. Najjar, Ph.D. BMC Software* *Now at TandemSeven lnajjar@tandemseven.com

14

Keyboard

Page 15: Accessible Java Application User Interface Design Guidelines Lawrence J. Najjar, Ph.D. BMC Software* *Now at TandemSeven lnajjar@tandemseven.com

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 Lawrence J. Najjar, Ph.D. BMC Software* *Now at TandemSeven lnajjar@tandemseven.com

16

Mnemonics

Page 17: Accessible Java Application User Interface Design Guidelines Lawrence J. Najjar, Ph.D. BMC Software* *Now at TandemSeven lnajjar@tandemseven.com

17

Mnemonics

Page 18: Accessible Java Application User Interface Design Guidelines Lawrence J. Najjar, Ph.D. BMC Software* *Now at TandemSeven lnajjar@tandemseven.com

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 Lawrence J. Najjar, Ph.D. BMC Software* *Now at TandemSeven lnajjar@tandemseven.com

19

Shortcut Keys in Edit Menu

Page 20: Accessible Java Application User Interface Design Guidelines Lawrence J. Najjar, Ph.D. BMC Software* *Now at TandemSeven lnajjar@tandemseven.com

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 Lawrence J. Najjar, Ph.D. BMC Software* *Now at TandemSeven lnajjar@tandemseven.com

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 Lawrence J. Najjar, Ph.D. BMC Software* *Now at TandemSeven lnajjar@tandemseven.com

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 Lawrence J. Najjar, Ph.D. BMC Software* *Now at TandemSeven lnajjar@tandemseven.com

23

Page 24: Accessible Java Application User Interface Design Guidelines Lawrence J. Najjar, Ph.D. BMC Software* *Now at TandemSeven lnajjar@tandemseven.com

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 Lawrence J. Najjar, Ph.D. BMC Software* *Now at TandemSeven lnajjar@tandemseven.com

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 Lawrence J. Najjar, Ph.D. BMC Software* *Now at TandemSeven lnajjar@tandemseven.com

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 Lawrence J. Najjar, Ph.D. BMC Software* *Now at TandemSeven lnajjar@tandemseven.com

27

Tool Tip

Page 28: Accessible Java Application User Interface Design Guidelines Lawrence J. Najjar, Ph.D. BMC Software* *Now at TandemSeven lnajjar@tandemseven.com

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 Lawrence J. Najjar, Ph.D. BMC Software* *Now at TandemSeven lnajjar@tandemseven.com

29

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