← All reviews

DHTML Accessibility – Solving the JavaScript Accessibility Problem

Becky Gibson, Richard Schwerdtfeger · 2005 · Proceedings of the 7th International ACM SIGACCESS Conference on Computers and Accessibility (Assets '05) · doi:10.1145/1090785.1090830

Summary

This landmark paper from IBM researchers Becky Gibson and Richard Schwerdtfeger describes the foundational work that would become WAI-ARIA. At the time of writing, JavaScript was used on over 50% of websites, yet no accessibility solution existed for the dynamic web components (menus, tree views, rich text fields, tab panels) being built with it. The core problem was twofold: JavaScript authors used generic elements like DIV and SPAN that carry no semantic information, so there was no way for assistive technologies to understand the role or state of these custom widgets; and only native HTML form and link elements could receive keyboard focus, leaving all other interactive components inaccessible to keyboard-only users. The paper proposes three key changes to solve these problems: (1) enabling focus on any element via the tabindex attribute extended to all elements (Firefox was implementing this), (2) adding semantic role and state information to elements through XHTML namespaces using a WAI role taxonomy written in RDF, and (3) having user agents map this additional role, state, and event data to the platform accessibility APIs so assistive technologies can interpret web components the same way they interpret native desktop application widgets.

Key findings

The paper demonstrates working code examples where XHTML elements include namespace attributes (wairole and waistate) that define GUI roles such as "spreadsheet" and "gridcell" along with states like "readonly=true". The W3C WAI was actively developing formal role and state taxonomies for XHTML, with role attributes mapping to XML markup written in RDF to define how common attributes would be exposed to user agents. Active development was occurring in Firefox 1.5 to support the new tabindex behaviour and to map the additional semantic information to accessibility APIs, with the technology also being shared with Internet Explorer and Safari browser teams. The approach was demonstrated at the 2005 CSUN conference, generating significant interest from educational institutions, government, and industry. The technology had been implemented in several components within a reusable JavaScript component library. The paper explicitly frames this as a "paradigm shift" — web components would operate with the same keyboard patterns as their desktop counterparts, liberating keyboard-only users and assistive technology users from tabbing through every element on a page.

Relevance

This paper documents the origins of what became WAI-ARIA (Accessible Rich Internet Applications), one of the most important web accessibility standards ever developed. The work by Gibson and Schwerdtfeger at IBM, in collaboration with the W3C WAI Protocols and Formats working group, laid the groundwork for how modern web applications communicate semantic information to assistive technologies. Every ARIA role, state, and property used today traces back to the approach described here. The paper captures a critical moment in web accessibility history when the industry was at a crossroads — rich web applications were proliferating but were completely inaccessible. The solution proposed and demonstrated here — adding semantic metadata to arbitrary HTML elements and having browsers map it to platform accessibility APIs — became the universal standard. For practitioners today, this paper provides essential context for understanding why ARIA exists and how the relationship between web content, browsers, and accessibility APIs was designed to work.

Tags: web accessibility · JavaScript · ARIA · screen readers · keyboard accessibility · accessibility API · DHTML · web standards

Standards referenced: XHTML 2.0 · WCAG 2.0 · WAI-ARIA