Version 2.4
26 January 2004
© Copyright IBM ® Corporation 1998, 2006
- Notices
- 1.0 Introduction
- 2.0 Essential Accessibility Programming Practices
- 3.0 Java Foundation Classes (JFC) - A Foundation for Accessibility
- 4.0 Using JFC to Build Accessible Applications
- 5.0 Building Custom Accessible Components
- 6.0 The Accessibility API
- 7.0 Java Development Tool Designers
- 8.0 Testing for Accessibility
- 9.0 Documentation, Online Information and Help
- 10.0 Appendix
- 11.0 Feedback
- 12.0 Changes from Version 2.1
Abstract
Application developers should consider the special needs of disabled users when they develop software programs in Java. Meeting the needs of disabled users will benefit all users, including those of new pervasive devices. In these guidelines, we discuss the following topics:
- Essential accessibility programming practices that make applications usable by people with disabilities.
- The Java Foundation Classes (JFC), also known as Swing, and their implementation of accessibility methods in the user interface components. Application developers should take advantage of this easy way to incorporate accessibility into their designs.
- The Java Accessibility API. If developers choose to create components themselves, they should implement this API.
These topics are covered in detail with supporting rationale, citing specific Java code. Examples are provided where appropriate.
These guidelines highlight the Java accessibility features and provide guidance for creating accessible Java-based software. This is the industry's first set of 100% pure Java application development guidelines for accessibility. The guidelines are designed to be interactive, available online, and easy to update. To print the guidelines document it is best to print all linked documents. The latest version of this document, as well as additional accessibility resource information, can be found in the Accessibility References section of this document.
Table of contents
- Notices
- 1.0 Introduction
- 2.0 Essential Accessibility Programming Practices
- 2.1 Make Your Application Keyboard Accessible
- 2.1.1 Provide Keyboard Equivalents for all Actions
- 2.1.2 ObserveOperating System Keyboard Conventions
- 2.1.3 Set Mnemonics on Components
- 2.1.4 Use Accelerators for Commonly Used Functions
- 2.1.5 Provide a Logical Keyboard Tabbing Order
- 2.1.6 ProvideElectronic Access to Keyboard Navigation Documentation
- 2.2 SupportMultimedia Access Essentials.
- 2.3 Providing Focus
- 2.4 Using Alerts and Dialogs
- 2.5 Avoid Using AWTand Native Windowing Invocations
- 2.6 Multi-ThreadingYour Application - Be Access Aware
- 2.7 Provide aLogical Component Layout
- 2.8 Provide Accessible Relationships
- 2.9 Describe Icons and Graphics
- 2.10 Support DisplayAccess Essentials for Java
- 2.11 Support TimingAccess Essentials
- 2.1 Make Your Application Keyboard Accessible
- 3.0 Java Foundation Classes (JFC) - A Foundation for
Accessibility - 4.0 Using JFC to Build Accessible Applications
- 5.0 Building Custom Accessible Components
- 6.0 TheAccessibility API
- 6.1 InterfaceAccessible
- 6.2 AccessibleContext
- 6.2.1 Basic Accessible Information
- 6.2.2 Parent/Child Information
- 6.2.3 Role and State Information
- 6.2.4 Property Change Notification
- 6.2.5 National Language Information
- 6.2.6AccessibleAction
- 6.2.7 AccessibleTable
- 6.2.8 AccessibleRelation and AccessibleRelationSet
- 6.2.9 AccessibleIcon
- 6.2.10 AccessibleHypertext
- 6.2.11 AccessibleHyperlink
- 7.0 Java DevelopmentTool Designers
- 8.0 Testing forAccessibility
- 9.0 Documentation, Online Information and Help
- 10.0 Appendix
- 11.0 Feedback
- 12.0 Changes from Version 2.1
© 1998, 2006 IBM Corporation
Last updated January 5, 2006
Document Author:
Richard S. Schwerdtfeger
SWG Accessibility Strategist - Emerging Internet Technologies
IBM Human Ability and Accessibility Center