When you write a Java application, think about the fact that users with varying abilities will want to use your product. There will be users who cannot use their hands, and users who are blind. That means they may not be able to use a mouse, type on a keyboard, see a screen, or read a printed User's Guide.
Over the years, disabled users and Assistive Technology Vendors (ATVs) have invented incredibly clever work-arounds for these problems. Voice input replaced the mouse, mouth sticks and switches replaced the keyboard, text-to-speech synthesis replaced the screen, and online books replaced printed books.
Some products include unintentional roadblocks to people who have disabilities. Some examples:
The following section discusses disability issues. Understanding these issues will help you better understand how to make an accessible Java solution.
The following describes what disabled users need:
Users who are blind or who have low vision need:
Users who are deaf or hard of hearing need:
Users who are mobility impaired need:
Users who have multiple disabilities need:
However as an application developer you don't have to provide all of the solution. You need to enable your application so that programmers writing and creating Assistive Technologies (AT) have the ability to obtain from the application program what it needs to present to it's users.
Java was first developed for use in small appliances. It has since evolved into a language that enables applications to run on multiple operating systems and hardware platforms. Because Java runs virtually everywhere, it was enthusiastically adopted for Web and Internet applications.
Java is object-oriented from the ground up. This provides a mechanism for application components to export accessibility information about themselves to assistive technologies.
Java's characteristics and these factors made it ideal for developing industry standards for accessible solutions.
The software engineers at Sun and IBM who developed Java technology are well aware of accessibility issues. They consulted with disabled customers, and business, education, and rehabilitation experts in the computer accessibility community. They conducted extensive reviews and beta testing of their code. As a result, many accessibility features are already built into Java and more features continue to be added.
If you exploit the Java accessibility features when you develop software, you win in three ways. First, the features are easy enough to incorporate that you won't expend lots of development resource. Second, your software will be universally accessible; customers of all abilities will be able to work with it. Third, features that are designed specifically for disabled users often make the product more usable for non-disabled users as well. For example, if you "keyboard-enable" your application so that it is easier for blind users to read with their screen readers, it will be easier for people who use voice control software as well.
Assistive Technology Vendors (ATVs) are winners too. If you implement your application using the Java accessibility features, ATVs have a much easier time making their products work with yours. IBM took advantage of this technology.