IAccessible2 Open Standard for Assistive Technology

Written By: Peter Abrahams
Published:
Content Copyright © 2006 Bloor. All Rights Reserved.

Assistive Technologies (AT) such as screen readers and screen
magnifiers are designed to represent information displayed in a
Graphical User Interface (GUI) in a different format. Screen
readers vocalise the information in the GUI, both controls and
content; Magnifiers enlarge portions of the GUI.

The problem has been that applications have driven the graphical
side of the user interface very directly, and there has not been a
clear distinction between the content and how it is displayed.

To take a simple example, a heading in a document may be shown
graphically by being on a separate line and in bold, this is easily
recognised, by a sighted user, as a heading but to a screen reader
is indistinguishable from any other piece of highlighted text.
There is semantic information that can be implied by the sighted
user that is lost to the user of a screen reader. This simple
example can be resolved by the use of a mark up language, if the
application support exists; but there are different standards and
proprietary solutions used by browsers, PDF readers, document
processors, thick client applications, etc. This means that the AT
products need to support multiple different applications that have
different ways of representing the same concept (in this example
‘a heading’).

This problem gets more difficult as applications develop more
complex representations such as buttons, dropdowns, tables and
images. Recent developments are compounding the problem with
technologies such as AJAX, Rich Internet Applications and OpenDoc
based applications. All of these threaten to lead to a plethora of
incompatible user interface application models that will make it
very difficult for the AT vendors to modify and extend their
programs so that they can represent all these new graphical
interfaces.

Microsoft recognised this problem as early as 1997 and developed
Microsoft Active Accessibility (MSAA). MSAA is a programming model
that is designed to help AT to work with applications running on
Windows. It has been enhanced over the intervening period and
provides a good foundation. Unfortunately it has two problems:

  • It does not provide a sufficiently rich interface and the AT
    products have been forced to use other internal proprietary ways of
    extracting some of the semantic information needed. The use of
    these non-standard methods has meant that, as applications have
    changed, the AT solutions have had to be modified to support them.
    This has been seen recently when some modification were needed to
    fully support IE 7.
  • MSAA is Microsoft proprietary which has led to the AT vendors
    having to develop different solutions for other platforms such as
    Linux and Apple. It has also meant that any extensions or
    enhancements could only be defined by Microsoft rather than by the
    IT community at large.

More recently IBM and Sun worked on open technology to make Java
and Linux accessible to people with disabilities, but that by
itself suffered from similar issues as MSAA.

Pressure has been building from disabled users and from
organisations, such as the Commonwealth of Massachusetts, to
improve accessibility for all.

IBM decided that a new open standard was required that could be
supported by multiple platform, application and AT vendors. This
standard would only be acceptable if it built on existing
support.

The work to develop the standard was performed by IBM engineers
across two continents involving IBM Lotus engineers in Beijing and
Boston, as well as accessibility experts in IBM’s Emerging
Technologies group and in IBM Research, many of whom have developed
assistive technologies and performed work to make Java, Linux,
Firefox, and Rich Internet Applications more accessible. The work
builds on both MSAA and IBM’s work with Sun on Java accessibility.
The work was validated by Freedom Scientific and GW Micro, both of
which worked closely with IBM developers.

This has led to IBM announcing that it has developed software
interfaces that will make it easier for assistive technologies to
provide those with disabilities access to advanced features in
software programs—such as editing functions, dynamic tables,
live browser regions, hyperlinks, charts and menus—found in
rich browser applications based on DHTML, AJAX, and WAI-ARIA, and
desktop applications based on the OpenDocument Format.

The new application program interfaces, designed for Windows and
dubbed IAccessible2, have been accepted by the Free Standards
Group, which will develop and maintain it as an open standard,
available for all to use. Oracle, SAP, Freedom Scientific, GW
Micro, IBM, Mozilla Foundation, and Sun Microsystems are the first
to back the technology, and will be involved in developing it as an
industry standard, or use it in products with which they are
associated.

I believe that creating an open standard is vital to the
long-term health of AT solutions. It means that the AT vendors can
concentrate on providing more function for the user and will have
to spend less time extracting the semantic information from the
applications. The open standard will facilitate extensions for new
interface requirements, such as those required to make virtual
realities (such as Second Life) accessible. I also expect that it
will be either supported or harmonized with APIs on multiple
platforms including Linux and Apple Mac, reducing the issues faced
by multi-platform applications such as Firefox.

Finally because IAccessible2 helps define a cleaner interface
between application and the user interface it should enable the
creation of new user interfaces paradigms.