Copyright © 2008 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C liability, trademark and document use rules apply.
The Roadmap for Accessible Rich Internet Applications addresses the accessibility of dynamic Web content for people with disabilities. The roadmap introduces the technologies to map controls, Ajax live regions, and events to accessibility APIs, including custom controls used for Rich Internet Applications. The roadmap also describes new navigation techniques to mark common Web structures as menus, primary content, secondary content, banner information and other types of Web structures. These new technologies can be used to improve the accessibility and usability of Web resources by people with disabilities, without extensive modification to existing libraries of Web resources. This document is part of the WAI-ARIA suite described in the WAI-ARIA Overview.
This section describes the status of this document at the time of its publication. Other documents may supersede this document. A list of current W3C publications and the latest revision of this technical report can be found in the W3C technical reports index at http://www.w3.org/TR/.
This document is a Working Draft by the Protocols & Formats Working Group of the Web Accessibility Initiative. Much of the content of this document has been moved into the WAI-ARIA Primer [ARIA-PRIMER], which introduces the technical approach of the WAI-ARIA Suite. This document retains information about the path to make rich Web content accessible, including steps already taken and remaining future steps. It revises the timeline expected to accomplish the objectives set out in the Roadmap, following what is set out in the revised PFWG Charter.
The PFWG seeks feedback on the requirements, gap analysis, and plan set out in this document. In particular, the Working Group would like input about whether:
Please provide comments to assist the group in improving this document. Comments on this document may be sent to public-pfwg-comments@w3.org (Archive). Comments should be made by 3 March 2008. If possible, the Working Group requests that comments be made by 20 February 2008 to facilitate handling of comments at a scheduled meeting. However, comments arriving after that date will still be considered.
To assist you in your review, refer to the history of changes to WAI-ARIA Roadmap.
Publication as a Working Draft does not imply endorsement by the W3C Membership. This is a draft document and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to cite this document as other than work in progress.
This document was produced by a group operating under the 5 February 2004 W3C Patent Policy. The group does not expect this document to become a W3C Recommendation. W3C maintains a public list of any patent disclosures made in connection with the deliverables of the group; that page also includes instructions for disclosing a patent. An individual who has actual knowledge of a patent which the individual believes contains Essential Claim(s) must disclose the information in accordance with section 6 of the W3C Patent Policy.
The disclosure obligations of the Participants of this group are described in the charter.
According to the SecuritySpace Technology Penetration Report, more than 55% of all Web sites today contain JavaScript, dramatically affecting the ability for persons with disabilities to access Web content. New Rich Internet Applications (RIAs) render custom widgets, modeling rich desktop components to perform UI updates without having to reload the entire page - much like a graphical user interface (GUI). Legacy GUI accessibility frameworks address these issues through a comprehensive accessibility application programming interface (API) and infrastructure to foster interoperability with assistive technologies. These APIs constitute a contract between applications and assistive technologies, such as screen readers, to enable them to access rich dynamic content with the appropriate semantics needed to produce a usable alternative. No such contract exists between modern RIAs and assistive technologies, creating an accessibility gap for persons with disabilities.
Unfortunately, HTML and other markup does not provide adequate markup to support accessible dynamic content. Until now, the W3C WAI has discouraged the use of JavaScript per Web Content Accessibility Guidelines (WCAG) 1.0 ([WCAG1], Checkpoint 6.1). A number of W3C initiatives are underway to address this problem using a declarative markup approach. This roadmap is designed to create a bridge to fix the interoperability problem with assistive technologies now by incorporating the appropriate meta data in current XHTML markup to support today's accessibility API. It will incorporate some of the advanced accessibility features, originally designed, in technologies like XHTML2. The intent of XHTML 2 is to make the enablement of Web applications and documents easier for authors. This roadmap will create cross-cutting technologies that XHTML authors may incorporate in their markup to describe GUI widgets and document structures to aide assistive technology vendors in providing accessible, usable solutions. The W3C WAI PF working group will work with User Agent manufacturers and assistive technology vendors to ensure a working solution.
Aspects of traditional HTML make accessible support of dynamic content difficult:
Authors of JavaScript generated content do not want to limit themselves to using standard tag elements that define the actual user interface element such as tables, ordered lists, etc. Rather, they make extensive use of tag elements such as DIVs in which they dynamically apply a UI through the use of style sheets and dynamic content changes. HTML DIV tags provide no semantic information. For example, authors may define a DIV as the start of a pop-up menu or even an ordered list. However, no HTML mechanism exists to:
In short JavaScript needs an accessibility architecture it can write to such that a solution could be mapped to the accessibility frameworks on the native platform by the user agent.
Figure 1.0 Accessibility
Interoperability at a DOM Node without JavaScript
Figure 1.0 illustrates a typical DOM node in a Model-View-Controller architecture. On the node, data, or the "Model," which should include semantic information, is separated from the user interface presentation, the "View." Here, the document element is managed by the user agent based on the default behavior of the element. The user agent's default behavior at the document element forms the controller. Placed between the DOM node and the assistive technology is a box containing the contract provided by the user agent to the assistive technology. This data includes typical accessibility information found in the accessibility API for many of our accessible platforms for GUIs (role, state, caret, selection, text, hypertext, name description, parent/child information, parent/child information, and relations). For HTML and other W3C markup, the accessibility information provided solely depends upon what the element's tag name-and any accessibility attributes that map to that tag--provides. For example, the accessible role of a table is table. The author provides an accessible description by assigning a title attribute.
Figure 2.0 Accessibility
Interoperability at a DOM node with JavaScript
Figure 2.0 shows the same DOM node provided in Figure 1.0 but with JavaScript acting as the new controller. JavaScript overrides the default user agent behavior at the DOM node. It manipulates the data, content, and style in response to events caused by user interaction to produce custom widgets. In this situation the default accessibility information is no longer valid and therefore the contract is now invalid. Figure 2.0 shows the contract with asterisks in front of role, state, actions, value, event changes, and relations. These asterisks represent potential accessibility errors and gaps in the base markup. These gaps result from the author's inability to provide the new semantic data needed to support the contract.
What is clear from the problem statement is that the author does not have the ability to provide the appropriate accessibility information in the markup to support the accessibility APIs on the target platform. This problem is not limited to HTML. It extends to other markup, including SVG. The WAI Protocols and Formats working group will address the problem at the middleware application layer and web content delivered to desktop browsers. For desktop browsers, we shall be creating common extensions to both HTML and XHTML called the Roles, States, and Properties Module for Accessible Rich Internet Applications 1.0. The goal will to make these standard features in HTML 5.
The W3C is also working on XHTML middleware solutions with a strong focus on declarative markup. Middleware developers prefer to operate on well-formed markup due to a common dependency to merge document fragments. A growing focus on W3C standards work is to use declarative markup which reduces the need for JavaScript. New work being done on XForms and XHTML 2 targets incorporation accessibility features through the declarative markup of the language. This has the added benefit of reducing the enablement burden on middleware authors by leveraging existing accessibility information stored in the markup. Ultimately, middleware, will need to convert the content to traditional markup supported by today's browsers.
At this time, the primary effort in the W3C WAI Protocols and Formats working group is to focus on an extension to XHTML and HTML with a migration path to HTML 5. Key deliverables will be the WAI ARIA Roles, States, and Properties specification which includes a adapted version of the new role attribute from the XHTML Role Attribute Module [XHTML-ROLES] for which a set of accessible role values may be applied from the ARIA Roles specification in addition to its own standard role document landmarks to assist document navigation and restructuring. For a detailed understanding of how the WAI ARIA Roles, States and Properties specification and how it is is used to fill the interoperability gaps in HTML and XHTML please refer to the W3C WAI ARIA Primer.
Editors Note: This timeline is under revision.
The following table is the anticipated delivery timeline for portions of the WAI-ARIA suite and possible related documents. This is not a prescriptive timeline, but is provided to track the relevant technologies.
Specification. | WD 1.0 | WD 2.0 | WD 3.0 |
LC | CR | Test Suites | Implementation Report | PR | REC |
---|---|---|---|---|---|---|---|---|---|
Accessible Rich Internet Applications (WAI-ARIA) Version 1.0 [ARIA] | Q3 2006 | Q4 2006 |
Q2 2007 | Q3 2007 |
Q4 2007 | Q4 2007 | Q3 2007 | Q1 2008 | Q2 2007 |
XHTML Role Attribute Module [XHTML-ROLES] | Q3 2006 | Q3 2007 | Q3 2007 | Q4 2007 |
Q1 2008 |
||||
Extensible WAI-ARIA | TBD | ||||||||
(X)HTML 5 support for WAI-ARIA | TBD |
The following table provides implementations of the new accessibility specifications for supporting dynamic accessible Web content.
Implementation | Category of Implementation |
---|---|
Firefox 2.0 (including MSAA support) | user agent |
GW Micro Window-Eyes 5.5 - with Firefox support | assistive technology (screen reader) |
JAWS 7.0 with Firefox support(partial) | assistive technology (screen reader) |
Windows Magnifier (with IE or Firefox 1.5) | assistive technology (magnifier) |
FireVox | assistive technology (screen reader) |
Internet Explorer from DOM API | user agent |
Opera | |
Mozilla Firefox Test samples | content |
Dojo JavaScript Toolkit | content - in Development |
iCITA Firefox Accessibility Extension: Testing Tool | accessibility test tool |
iCITA ARIA Example Widgets | content |
Mozilla Firefox ARIA to Accessibility API mapping | User Agent Accessibility API mapping |
Bindows Object Oriented Platform for Ajax Development | content - in Development |
AccProbe (Part of Eclipse Accessibility Tools Framework Project) Test Tool | Tool - in Development |
WAI Role Taxonomy Extension Tool | Tool - in Development |
Up to now , the roadmap has addressed current (X)HTML markup as supported by today's desktop browsers using ARIA. The markup in today's browsers, like accessibility, requires developers to do things manually through the use of JavaScript. While this is extremely flexible, it suffers from a number of problems:
Through the use of declarative markup and tight integration of accessibility into the application framework, we can produce more consistent cross-platform solutions which support accessibility and reduce the enablement efforts of the author. At this time there are four new standards forming new application middleware which incorporate key accessibility features needed for accessibility.
The W3C WAI PF working group will provide greater details in the future by creating a W3C WAI ARIA Primer for Middleware Applications based on XHTML 2.
Editors Note: This timeline is under revision.
The following table is the anticipated delivery timeline for documents related to the WAI-ARIA work.
Specification. | Timeline |
---|---|
XHTML2 Specification [XHTML2] | See XHTML2 Working group roadmap |
XHTML Access Module [XHTML-ACCESS] | See XHTML2 Working group roadmap |
XML Events [XML-EVENTS] with handler descriptions (not critical for XHTML) | See XHTML2 Working group roadmap |
XForms 1.0 [XFORMS] | See XForms Schedule of Deliverables |
This section is informative.
The following contributed to the development of this document.
Special thanks to Aaron Leventhal for effort and insight as he implemented a working prototype of accessibility API bindings.
Jim Allan (TSBVI), Simon Bates, Judy Brewer (W3C/MIT), Christian Cohrs, Becky Gibson (IBM), Andres Gonzalez (Adobe), Georgios Grigoriadis (SAP AG), Jeff Grimes (Oracle), Barbara Hartel, Sean Hayes (Microsoft), John Hrvatin (Microsoft), Earl Johnson (Sun), Masahiko Kaneko (Microsoft), Jael Kurz, Alex Li (SAP AG), William Loughborough, Linda Mao (Microsoft), Anders Markussen (Opera), Dave Pawson (RNIB), T.V. Raman (Google), Vitaly Sourikov, Ryan Williams (Oracle), Tom Wlodkowski.
This publication has been funded in part with Federal funds from the U.S. Department of Education under contract number ED05CO0039. The content of this publication does not necessarily reflect the views or policies of the U.S. Department of Education, nor does mention of trade names, commercial products, or organizations imply endorsement by the U.S. Government.