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: http://java.sun.com/products/jfc/jaccess-1.2.2/doc/guide.html
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.
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!
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.
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.
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
http://www.sun.com/access/ - Sun Microsystems Accessibility Program
http://java.sun.com/j2se/1.3/docs/guide/access/ - Another accessibility portal at Sun
http://archives.java.sun.com/archives/java-access.html - Sun's Java-Access listserve
http://www-3.ibm.com/able/snsjavag.html - IBM Guidelines for Writing Accessible Applications Using 100% Pure Java
http://www-3.ibm.com/able/accessjava.html - IBM Java Accessibility Checklist
http://developer.gnome.org/projects/gap/ - Gnome 2 accessibilitiy page
http://ocularis.sourceforge.net/events/csun2002/notes.html - Notes from the Second Annual Linux Accessibility Conference
http://trace.wisc.edu/world/java/java.htm - Java Accessibility and Usability Work at the Trace Center
This page was made in thanks of www.webaim.org