Skip to Local Navigation
Skip to Content
California State University, Long Beach
Bob Murphy ACCESS Center
Print this pageAdd this page to your favoritesSelect a small fontSelect a medium fontSelect a large font

Java Applet logoJava Applet Accessibility

by: Shane Anderson

Accessible Java is a complicated issue with many factors at play. Most of these are related to the platform on which the user's computer relies. Other factors lie with the assistive technology developers. Theoretically there are solutions, but only a few work, and none work optimally. However, applets have many uses and together with a Java backend (Servlets, etc), Java becomes a very powerful web platform. Our suggestion is to use accessible alternatives to applets, where important content is involved, until solid accessible solutions evolve.

Warning! The next section contains technical language that may be confusing to those not familiar with Java or Java programming.

Sun provides a wealth of information on Java Accessibility at the following links:

Sun lists four features within Java for making application accessible. I will briefly explain each one. A more extensive explanation is found at:

Java Accessibility Features and Tools

The first Java Accessibility Feature, is the Java Accessibility API. This package includes interfaces and classes needed for a Java Swing application or applet to communicate with an assistive technology.

The second Java Accessibility Feature consists of a group of utilities called the Java Accessibility Utilities. These classes provide Java coded assistive technologies, the information provided by applications using the Java Accessibility API.

The next Feature is the Java Accessibility Bridge. Because the programming language of most assistive technologies and operating systems is something other than Java, a communication bridge is needed in order for assistive technologies to access information provided by a Java Swing application implementing the Java Accessibility API.

The last Feature mentioned by Sun is the use of Swing's Pluggable Look and Feel. This enables the programmer using Swing's Model-View-Controller architecture, to create a "view" which is represented through an alternative output device, such as a Braille display.

Also not mentioned under Sun's Java Accessibility Features but a promising tool is the Java Accessibility Helper.(currently version 0.6) It is a validation tool which gives feedback on the keyboard accessibility of a Java application.

The IBM Java Accessibility Checklist is a useful tool for visual verification.

Problems with Java Accessibility

It is difficult to implement. If it is successfully implemented in an applet, it apears that the only way to access it is to click on it. Requiring a click is, of course, an accessibility problem. It also appears that the only method of accessing an applet is using JAWS 3.7 + with the Accessibility Bridge. And to make things worse the new JDK 1.4 does not yet fully support the Accessibility Features. Basically, Java will not be accessible to most people using assistive technologies, YET!

Hope on the horizon

There is hope however. Java is a versatile and popular language. Accessibility will be of increasing importance. The increased demand for accessible applications will yield more solutions. As the Java Accessibility features mature and become more frequently implemented, better documentation should surface.

Sun is helping on the development of Gnome 2. (An open source graphical desktop for UNIX and GNU/Linux systems) This project claims that accessibility is built into Gnome 2, instead of "bolted on" as an afterthought. There was a UNIX and Java accessibility track at the CSUN Conference on Technology and Persons with Disabilities last month. Peter Korn of the Sun Accessibility team sent us a summary of the UNIX/Java Accessibility proceedings. Also at CSUN was the Second Annual Linux Accessibility Conference.


Working with Java Accessibility is difficult, but accessibility is catching up. More tools and solutions are being developed, and the new versions of assistive technology will use the Java Accessibility Features. Java developers can help the accessibility cause by implementing the Accessibility API, using the tools and utilities available, and participating in discussions on the Java-Access listserve.

Resources - Sun Microsystems Accessibility Program - Another accessibility portal at Sun - Sun's Java-Access listserve - IBM Guidelines for Writing Accessible Applications Using 100% Pure Java - IBM Java Accessibility Checklist - Gnome 2 accessibilitiy page

- Notes from the Second Annual Linux Accessibility Conference

- Java Accessibility and Usability Work at the Trace Center

This page was made in thanks of

© Copyright 2000-2002 WebAIM. All Rights Reserved. Terms of Use.