ARIA

Accessible Rich Internet Applications (ARIA) defines ways to make Web content and Web applications (especially those developed with Ajax and JavaScript) more accessible to people with disabilities. For example, ARIA enables accessible navigation landmarks, JavaScript widgets, form hints and error messages, live content updates, and more.

ARIA is a set of special accessibility attributes which can be added to any markup, but is especially suited to HTML. The role attribute defines what the general type of object is (such as an article, alert, or slider). Additional ARIA attributes provide other useful properties, such as a description for a form or the current value of a progressbar.

ARIA is implemented in most popular browsers and screen readers. However, implementations vary and older technologies don't support it well (if at all). Use either "safe" ARIA that degrades gracefully, or ask users to upgrade to newer technology.

Note: Please contribute and make ARIA better for the next person! Not enough time? Send suggestions to Mozilla's accessibility mailing list, or #accessibility IRC channel.

Getting Started with ARIA

Introduction to ARIA
A quick introduction to making dynamic content accessible with ARIA. See also the classic ARIA intro by Gez Lemon, from 2008.
Web Applications and ARIA FAQ
Answers common questions about WAI-ARIA and why it's needed to make web applications accessible.
Videos of Screen Readers Using ARIA
See both real and simplified examples from around the web, including "before" and "after" ARIA videos.
Using ARIA
A practical guide for developers. It suggests what ARIA attributes to use on HTML elements. Suggestions are based on implementation realities.

Simple ARIA Enhancements

Enhancing Page Navigation with ARIA Landmarks
A nice intro to using ARIA landmarks to improve web page navigation for screen reader users. See also, ARIA landmark implementation notes and examples on real sites (updated as of July 2011).
Improving Form Accessibility
ARIA is not just for dynamic content! Learn how to improve accessibility of HTML forms using additional ARIA attributes.
Live regions (work-in-progress)
Live regions provide suggestions to screen readers about how to handle changes to the contents of a page.
Using ARIA Live Regions to Announce Content Changes
A quick summary of live regions, by the makers of JAWS screen reader software. Live regions are also supported by NVDA with Firefox, and VoiceOver with Safari.

ARIA for Scripted Widgets

Keyboard Navigation and Focus for JavaScript Widgets
The first step in developing an accessible JavaScript widget is to make it keyboard navigable. This article steps through the process. The Yahoo! focus management article is a great resource as well.
Style Guide for Keyboard Navigation
A challenge with ARIA is getting developers to implement consistent behavior — clearly best for users. This style guide describes the keyboard interface for common widgets.

ARIA Resources

Widget Techniques, Tutorials, and Examples
Need a slider, a menu, or another kind of widget? Find resources here.
ARIA-Enabled JavaScript UI Libraries
If you're starting a new project, choose a UI widget library with ARIA support already built-in. Warning: this is from 2009 — content should be moved to an MDN page where it can be updated.

Mailing List

Free ARIA Google Group
A place to ask questions about ARIA, as well as make suggestions for improving the ARIA documentation found on these pages.

Blogs

ARIA information on blogs tends to get out of date quickly. Still, there is some great info out there from other developers making ARIA work today.

Paciello Group

Accessible Culture

Filing Bugs

File ARIA bugs on browsers, screen readers, and JavaScript libraries.

Examples

ARIA Examples Library
A set of barebones example files which are easy to learn from.
Accessible JS Widget Library Demos
jQuery, YUI
Yahoo! Mail
Yahoo! puts it all together with Yahoo! Mail, a web app that almost looks like a native app. It works very well. As a review of Yahoo! Mail by screen reader Marco Zehe says, "Keep up the good work!".
Yahoo! Search
Yahoo! has done an amazing job of advancing ARIA here, by exercising ARIA's full capabilities and sharing their techniques. Yahoo! Search uses a combination of ARIA landmarks, live regions, and widgets.

Standardization Efforts

WAI-ARIA Activities Overview at W3C
Authoritative Overview of WAI-ARIA Standardization efforts by the Web Accessibility Initiative (WAI)
WAI-ARIA Specification
The W3C specification itself, useful as a reference. Note that, at this stage, it is important to test compatibility, as implementations are still inconsistent.
WAI-ARIA Authoring Practices

Like the W3C WAI-ARIA specification, the official best practices represents a future ideal — a day when authors can rely on consistent ARIA support across browsers and screen readers. The W3C documents provide an in-depth view of ARIA.

For now, web developers implementing ARIA should maximize compatibility. Use best practices docs and examples based on current implementations.

Open AJAX Accessibility Task Force
The Open AJAX effort centers around developing tools, sample files, and automated tests for ARIA.
Under Construction: WCAG 2.0 ARIA Techniques
The community needs a complete set of WCAG techniques for WAI-ARIA + HTML, so that organizations can be comfortable claiming their ARIA-enabled content is WCAG compliant. This is important when regulations or policies are based on WCAG.

Accessibility, AJAX, JavaScript

Document Tags and Contributors

 Last updated by: chrisdavidmills,