What ARIA does not do

ARIA is a set of attributes that can be added to HTML elements (and other markup languages) to communicate accessibility role, state, name and properties which are exposed by browsers via platform accessibility APIs. This provides a common, interoperable method of relaying the information to assistive technologies. That’s it. It is the same method used by browsers to convey the inbuilt (or default) accessibility information of native HTML features. The difference being that authors can wire up this information for themselves in the DOM using ARIA, before they could not.

A simple example of what ARIA does and does not do:

ARIA does not magically make any element act differently to what it is,  it only provides a method to make it appear as something else to assistive technology users. For example, in the sample code below, the ARIA role attribute makes the  <div> appear as a link to  assistive technology. Developers must provide the substance to the semantics conveyed using ARIA, otherwise users are confronted with a UI masquerade.

<div role="link">poot</div>
versus
<a href="...">poot</a>
feature role=”link” <a href=”…”>
conveys role to accessibility API yes yes
conveys accessible name to accessibility API yes yes
keyboard support (focus) no yes
keyboard support (operation) no yes
element specific context menu no yes
default visual semantics (e.g. underlining) no yes

 

Categories: Development

About Steve Faulkner

Steve was the Chief Accessibility Officer at TPGi before he left in October 2023. He joined TPGi in 2006 and was previously a Senior Web Accessibility Consultant at vision australia. Steve is a member of several groups, including the W3C Web Platforms Working Group and the W3C ARIA Working Group. He is an editor of several specifications at the W3C including ARIA in HTML and HTML Accessibility API Mappings 1.0. He also develops and maintains HTML5accessibility and the JAWS bug tracker/standards support.