IAccessible2
IAccessible2 is an engineered accessibility interface that enables application developers to leverage their investment in Microsoft® Active Accessibility (MSAA) and provide an assistive technology (AT) access to rich document applications, such as IBM Lotus® Documents (the suite of productivity editors in IBM Lotus Notes®) and Web browsers such as Firefox. Additional function in the API includes support for rich text, tables, spreadsheets, Web 2.0 applications, and custom controls in other large mainstream applications. Through the Linux Foundation Open Accessibility Workgroup, IBM is consulting and collaborating with assistive technology vendors and other companies and open source communities regarding their implementations of IAccessible2, including Freedom Scientific, GW Micro, the Access Mozilla project, Sun Microsystems and the OpenOffice community, the Eclipse Foundation, Adobe, NVDA and others.
The IAccessible2 API:
- Is a new accessibility application programming interface (API) that complements Microsoft's earlier work on MSAA. The new API was built to fill critical accessibility API gaps in MSAA that were discovered when the Commonwealth of Massachusetts wanted to purchase and install a usable and accessible OpenDocument Format (ODF)-based office suite. By implementing IAccessible2, developers of IBM Lotus® Documents, which is ODF-based, were able to demonstrate that an ODF-based office suite could be both usable and accessible.
- Has been harmonized with the Linux® accessibility APIs to allow for efficient multi-platform development. This work was done through close collaboration with IBM, Linux, and Mozilla accessibility architects who have intimate knowledge of both Windows accessibility APIs (MSAA plus IAccessible2) and the Linux accessibility APIs (ATK and AT-SPI).
- Was a joint effort initially between IBM and the leading AT vendors. These vendors saw the need for an enhancement to MSAA and worked closely with IBM architects and engineers during the definition and implementation of IAccessible2 in Lotus Documents and the screen readers.
- Is currently implemented in IBM Lotus Symphony, IBM Lotus Notes Productivity Editors, Firefox 3, JAWS, MAGic, Window-Eyes, NVDA, ZoomText, and IBM technology implementation AccProbe with more products and technologies scheduled to implement the interface soon.
In addition to IAccessible2, IBM has created and continues to participate in the following projects:
Eclipse ACTF Java Validation Componentry (Javaco)
ACTF Javaco is a collection of Eclipse plug-ins that allows Java Swing and Eclipse SWT developers to perform accessibility compliance validations of either the applications they are developing or fully-deployed applications. Javaco uses aspect-oriented programming (AOP) and the Java Reflection API to perform dynamic, non-invasive, and fully configurable validations of Java applications. The componentry comes packaged with validation documents for assessing accessibility compliance against the IBM Java Accessibility Checklist for Java Swing applications and the IBM Software Accessibility Checklist for Eclipse SWT-based applications. Documentation is available in the standard Eclipse help system.
Eclipse ACTF Accessibility Probe (AccProbe)
The AccProbe is a standalone, Eclipse Rich-Client Product (RCP) application that provides a view of:
- The Microsoft Active Accessibility (MSAA) or IAccessible2 hierarchy of a currently running application or rendered document.
- The properties of the accessible objects of that application or document.
AccProbe can also serve as an event monitor for tracking the events fired by these accessible objects. It is meant to combine the functionality of tools like Microsoft's Inspect32, AccExplore, and AccEvent into one easy-to-use application for accessibility testing and debugging.
Another notable project with which IBM participates indirectly is the Nonvisual Desktop Access (NVDA) effort. This is a free screen reader for the Microsoft Windows operating system.
Last updated, July 31, 2008
