Trail: Graphical User Interfaces
Lesson: Swing Features
Home Page > Graphical User Interfaces > Swing Features


Assistive technologies exist to enable people with permanent or temporary disabilities to use the computer. This includes a wide variety of techniques and equipment: voice interfaces, magnifiers, screen readers, closed captioning, keyboard enhancements, and so on. In many countries, including the United States, Australia, Canada, and the European Union, there are laws requiring that programs function smoothly with assistive technologies. For more information, see Oracle's Accessibility Program.

A certain level of accessibility is built-in to all Swing components, but full accessibility can be achieved by following some simple rules. For example, assign tool tips, keyboard alternatives, and textual descriptions for images, wherever possible.

The PasswordStore demo follows the rules set out for accessibility. In the following figure, you can see an example of tool tip text.

The PasswordStore demo showing a tooltip.

PasswordStore With a Tooltip

Other Resources

The section How to Support Assistive Technologies shows you how to create Swing applications that function smoothly with assistive technologies. It also lists examples that have good support for assistive technologies.

Java Access Bridge makes it possible for Windows-based assistive technologies to interact with the Java Accessibility API (which is defined in the javax.accessibility package). It exposes the Java Accessibility API in a Microsoft Windows DLL, enabling Java applications and applets that implement the Java Accessibility API to be visible to assistive technologies on Microsoft Windows systems.

The Java Accessibility Utilities are a set of utility classes that help assistive technologies provide access to GUI toolkits that implement the Java Accessibility API.

Problems with the examples? Try Compiling and Running the Examples: FAQs.
Complaints? Compliments? Suggestions? Give us your feedback.

Previous page: Internationalization and Localization
Next page: Integrating with the Desktop - all specs in one place