Open Source Accessibility for the Web

IBM is involved in the following Web–based projects.

Dojo Toolkit

The Dojo Web site states, "Dojo is an open source JavaScript toolkit that makes professional Web development better, easier, and faster." It is open source software that is distributed by The Dojo Foundation, a non-profit foundation.

Dojo aims to solve some long-standing historical problems with DHTML, which mixes familiar HTML controls with JavaScript. The "pieces" formed are called widgets. For example, a calendar or date picker widget in Dojo is one structure which contains some graphics, links, JavaScript to figure out which days go where, and combo boxes to select a month. Dijit is a widget system built using the Dojo libraries.

To make Dojo widgets accessible, IBM developers use ARIA techniques, which allow these sophisticated UI components created using JavaScript, to be identified to assistive technology. In the future, user agents can also make use of this information to provide additional visual clues about widgets. For example, client-side validation of a text entry widget that was marked using the ARIA invalid attribute could be visually identified by the browser rather than requiring the developer to provide a specific style or text identification on the widget.

ARIA information is added into the base Dojo widgets to ensure that the ARIA information is updated whenever behavior changes are made to the widget. Methods have been added to Dojo to enable setting the ARIA information. The roles and states for a widget can be set using the widget template or within the widget scripting code. In addition to providing the roles and states for each component, there are some architectural considerations as well. For components that represent a hierarchy, such as a tree or menu, it is important to identify parent and child relationships. For items where position or count are important it may be necessary to hierarchically group elements or identify a set of related elements as a group.

The IBM Software Group Emerging Internet Technology team is leading the development of Dojo widgets as well as making those widgets accessible.

The Open Ajax alliance (OAA) Accessibility Tools Task Force objectives are to develop a standard set of accessibility validation rules, geared toward meeting compliance to WCAG 2.0 using WAI-ARIA and WAI-ARIA Best Practices and the rules must be consumable by major accessibility test tools. They are also working to develop best practices for reporting accessibility compliance by accessibility test tools and IDE best practices to assist developers in producing Accessible Rich Internet Applications.

Access Mozilla Project and Firefox

The mission of the overall Mozilla project is to preserve choice and innovation on the Internet. In addition, the goal of Access Mozilla is to provide accessibility solutions for the Internet. IBM is a leader in the Mozilla open source community of developers and testers, focusing on the Firefox browser in the areas of XForms, SVG, XUL, Rich Internet Applications (RIAs) and accessibility in these areas on all platforms, especially Windows, Linux/UNIX, and the Mac. To implement accessibility APIs and techniques in Firefox, IBM works closely with Sun Microsystems, standards groups such as the W3C WAI and the Linux Foundation, assistive technology vendors, and also with individuals, not-for-profit organizations, and universities funded with grants from the Mozilla Foundation.

Firefox 1.5, released in November 2005, was the first major open-source application to make a splash with accessibility for users. The National Federation of the Blind (NFB) wrote in its periodical Voice of the Nation's Blind, "Users finally have an option." The NFB has continued to support the work by posting an interview and an overview of Mozilla's CSUN conference activities.

Firefox was also the first Web browser to have a solution for making dynamic Web content accessible. When IBM started working on Firefox, DHTML or JavaScript Web applications were popular and important. They provided the opportunity to circumvent the limitations of HTML, allowing Web developers to create more exciting Web applications with simulated desktop widgets like mouse-over menus, calendars, and expandable outline views. These simulated widgets were not accessible. By contributing code to Mozilla, working with screen reader vendors, and working with the W3C, IBM was able to develop methods that enabled accessibility for those widgets.

In addition, the Firefox 3 accessibility team, led by IBM and in collaboration with the Mozilla Foundation, Sun Microsystems, and others, has reworked the Mozilla accessibility infrastructure and enhanced it to take full advantage of accessibility APIs on both Windows (MSAA plus IAccessible2) and the Linux GNOME desktop. By implementing the accessibility APIs to expose all document objects, hierarchy, structure, events, and relationships, this team has made it possible and easier for both Windows and Linux screen readers to provide accessible and usable document navigation without heuristics and off-screen models, equivalent to or better than document navigation provided by current Windows screen readers.

The roadmap for Accessible Rich Internet Applications (ARIA Roadmap) addresses the accessibility of dynamic Web content for people with disabilities. The roadmap outlines the technologies to map controls, AJAX live regions, and events to accessibility APIs, including custom controls used for Rich Internet Applications. The roadmap also outlines new navigation techniques to mark common Web structures such as menus, primary content, secondary content, banner information and other types of Web structures.

Firefox's implementation of ARIA supports desktop-style widgets, such as tree views, menu bars and spreadsheets, that are accessible both with the keyboard and assistive technologies such as screen readers, screen magnifiers and alternative input devices. Dojo is one of the ARIA widget sets supported by Firefox. It also helps provide accessibility solutions for AJAX-style live updates to regions on a page.

IBM has targeted the Firefox open source browser to demonstrate DHTML accessibility techniques and to support the W3C WAI ARIA standards effort. To do this IBM needed to establish Firefox as an accessible alternative to IE and use it as a vehicle to implement DHTML accessibility standards. Through the Mozilla Foundation grants program, IBM is securing contributions to the Mozilla and other open source communities for XForms, MacIntosh, and Linux accessibility support for Firefox.

Eclipse ACTF Web Validation Componentry (Webelo)

ACTF Webelo is a collection of Eclipse plug-ins that allows Web content authors and Web application developers to perform accessibility compliance validations. Webelo leverages both the new SWT Mozilla browser widget and the Java Reflection API to perform dynamic, non-invasive, and fully configurable validations of Web content or applications. Webelo is unique in that it performs validations against the runtime structures in the Document Object Model (DOM) rendered by the browser rather than on the markup from which that DOM was parsed. The componentry comes packaged with a validation document for assessing accessibility compliance against the IBM Web Accessibility Checklist, v3.5.

Eclipse ACTF Accessibility Probe (AccProbe)

The AccProbe is a standalone, Eclipse Rich-Client Product (RCP) application that provides a view of:

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.

Last updated, June 1, 2011

Dojo Resources

Updated information about the core Dojo Widgets is available in the Dojo Book: