Re-directing Access: IBM's Outlook on Java, Accessibility, and Special Needs
By Richard Schwerdtfeger, IBM Special Needs
Frances Hayden, IBM Special Needs
The good news is that the Java platform includes the building blocks for "direct
accessibility." For the first time in computing history, we have the opportunity
to store accessibility information and export this very information to access software.
Unlike other mainstream application development environments, Java is object-oriented
from the ground up.
In order to use Java as a means of developing truly accessible information systems and
software products, the "fuse" must be lit. The accessibility community and the Java
development community need to work together.
Lighting the Accessibility Fuse
In February 1997, the Sun Accessibility group held a conference to kick the Java
accessibility initiative into high gear. In addition, the first Java Accessibility
Review Meeting was conducted. Accessibility leaders included Greg Vanderheiden from
Trace, T.V. Raman from Adobe, James Thatcher and Rick Schwerdtfeger from IBM, Chuck
Opperman from Microsoft, and Ephraim Glinert from RPI.
Following this meeting, IBM Special Needs Systems (SNS) developed a three-pronged
strategy to work on Java accessibility inside and outside of IBM. The strategy includes:
- Collaboration with Sun to build tools and an API set enabling application
programmers to develop accessible software easily and efficiently
- Engaging IBM development groups in designing and developing accessible Java
tools and applications
- Developing access software that makes use of new access technology as it evolves
IBM's Collaboration with Sun
This past year, IBM worked closely with Sun to incorporate accessibility into Java.
IBM provided expertise in the architecture of accessibility components, while Sun
designed and coded the features to be used as an open standard for Java application
design and ATV support.
The partnership resulted in positive and sweeping changes in the JDK version 1.2,
including a Java Accessibility API and increased accessibility in the Java Foundation
Classes.
Java Accessibility API
One of the unique features of Java is its ability to define an interface that objects
can implement to get a desired "signature." Sun and IBM realized that
this feature could be used to define an accessibility interface that application
components could then use to access-enable themselves. IBM now supports
the three key accessibility issues in its areas of product expertise:
- Blind Access
- Dyslexia Document Enhancement
- Voice Recognition Navigation
The resulting Java Accessibility API is more comprehensive than its predecessors and
provides support for:
- Text through pre-defined text interfaces
- Reading and modifying complex documents
- Language translation (Object Role and State can be easily converted to correct locale)
- Changing application component attributes
- Application Layout Determination
The Accessibility API drives accessibility away from low-level system dependencies by
reducing the need to support an Off Screen Model (OSM).
Furthermore, the API reduces the need to support
application-specific object communication for visual reading enhancements (e.g., to
support people with dyslexia).
The Accessibility API, if used properly, can completely access-enable applications for
a host of disabilities.
JFC and Accessibility
Due to early activity by both Sun and IBM, the Java Foundation Classes (JFC) are already
very accessible.
The JFC library enables application developers to build applications with a unique look
and feel while reusing the class library components. This support for multiplexed User
Interfaces, or plug-ins, is a mechanism for supporting things such as audio and Braille.
Robust document structure access is also achieved through the exposure of indexed
document elements including embedded complex components. This is facilitated by the
SGML structure of text component documents.
In addition, the JFC implements the Java Accessibility API, meaning ATV software will
know how to work with it.
IBM Java OS Team (Accessible Network Clients)
This fall, SNS began work with IBM's Java group to lay out a road map for making Java OS
network clients accessible. We want to make sure that this team, which is responsible
for the GUI front end of IBM's Java OS, will use the accessibility features now inherent
in Java.
In addition, we must ensure that IBM's Java OS includes support for:
- Screen magnification
- Keyboard and mouse control for ATV software
- Parallel support for Braille devices
- Mobility features such as sticky keys, bounce keys, mouse keys, and serial keys
IBM Java Application Development Organizations
SNS is also working with IBM Application Development Organizations to adopt the Java
Accessibility Development Guidelines and the Sun Java Accessibility API. The initial
focus will be on:
- Lotus - Kona Java Office Product Suite
- Tivoli - Network Management Software
- VisualAge - Java Integrated Development Environment
- Host-On-Demand - Java 3270 Emulator
Java Accessibility Guidelines
In addition to working with groups face-to-face, SNS and Sun are currently writing
Java Accessibility Development Guidelines. The first draft will be completed by the
end of 1997.
What's Next?
Java accessibility is off to a great start, but there is much more work to be done.
Sun must complete the accessibility API and its implementation on the JFC. Also, IBM
and other ATVs need to develop access tools that will verify Java's accessibility
features and provide access to people who need it.
Application developers must adopt the JFC and Accessibility API. They need to make
their organizations aware of the need for accessible software. They also need to
incorporate the upcoming Accessibility Development Guidelines into their products.
This drive can be further strengthened if consumers demand that software includes
Java's accessibility features.
Further participation in development groups and conferences, collaboration with
other organizations, and the production of accessible tools and applications will
keep the Java fuse "lit" and extend "cross-platform" capabilities into "accessible"
realities.
Note: This article will be presented along with a Java Accessibility demonstration at
the "Closing the Gap" conference on October 24. More information may be found at
http://www.closingthegap.com/
|