[ Contents ] [ Guidelines ]


Implementing UAAG 2.0

A guide to understanding and implementing User Agent Accessibility Guidelines 2.0

W3C Editors' Draft 15 19 August 2012

This version:
http://www.w3.org/WAI/UA/2012/ED-IMPLEMENTING-UAAG20-20120816/ http://www.w3.org/WAI/UA/2012/ED-IMPLEMENTING-UAAG20-20120819/
Latest version:
Previous version:
James Allan, Texas School for the Blind and Visually Impaired
Kelly Ford, Microsoft
Jeanne Spellman, W3C/Web Accessibility Initiative
Previous Editors:
Jan Richards, Inclusive Design Institute, OCAD University


This document provides supporting information for the User Agent Accessibility Guidelines (UAAG) 2.0 for designing user agents that lower barriers to Web accessibility for people with disabilities. User agents include browsers and other types of software that retrieve and render Web content . A user agent that conforms to these guidelines will promote accessibility through its own user interface and through other internal facilities, including its ability to communicate with other technologies (especially assistive technologies ). Furthermore, all users, not just users with disabilities, should find conforming user agents to be more usable. In addition to helping developers of browsers and media players, this document will also benefit developers of assistive technologies because it explains what types of information and control an assistive technology may expect from a conforming user agent.

This document provides explanation of the intent of UAAG 2.0 success criteria, examples of implementation of the guidelines, best practice recommendations and additional resources for the guideline.

The "User Agent Accessibility Guidelines 2.0" ( UAAG 2.0) is part of a series of accessibility guidelines published by the W3C Web Accessibility Initiative ( WAI ).

Status of this document

May be Superseded

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/.

Editor's Draft of UAAG 2.0

This document is the internal working draft used by the UAWG and is updated continuously and without notice. This document has no formal standing within W3C. Please consult the group's home page and the W3C technical reports index for information about the latest publications by this group.

Web Accessibility Initiative

This document has been produced as part of the W3C Web Accessibility Initiative (WAI). The goals of the User Agent Working Group (UAWG) are discussed in the Working Group charter . The UAWG is part of the WAI Technical Activity .

No Endorsement

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 .

Table of Contents


Definition of User Agent

A user agent is any software that retrieves, renders and facilitates end-user interaction with Web content.

Modality Independence Principle

Users interacting with a web browser may do so using one or more input methods including keyboard, mouse, speech, touch, and gesture. It's critical that each user be free to use whatever input method or combination of methods works best for a given situation. Therefore every potential user task must be accessible via modality independent controls that any input technology can access.

For instance, if a user can't use or doesn't have access to a mouse, but can use and access a keyboard, the keyboard can call a modality independent control to activate an OnMouseOver event.

What qualifies as a User Agent?

The These guidelines employ the following tests can be used to determine if software qualifies as a user agent for the purposes of these guidelines. It agent. UAAG 2.0 divides potential user agents into Primary Agents (the traditional "browser"), Extensions and Plug-ins, and Web-based User Agents.

If the following three conditions are met met, then it is a Primary User Agent and Must Conform to UAAG: platform-based application:

  1. If it It is a standalone application; application, and
  2. If it It interprets any w3c specified language; W3C-specified language, and
  3. If it It provides a user interface or interprets either a procedural or declarative language that may be used to provide a user interface. interface

If the following two conditions are met then it is a User Agent Extension an extension or Plug-In and Must Conform to UAAG: plug-in:

  1. If it It is launched by, or extends the functionality of, of a Primary User Agent; platform-based application, and
  2. If post-launch Post-launch user interaction either becomes part of, is included in, or is within the bounds of, of the Primary User Agent. platform-based application
If the following three conditions are met then it is a Web-Based User Agent and Must Conform to UAAG: an web-based application:
  1. If the The user interface is generated by the interpretation of either a procedural or declarative language; and
  2. If this interpretation The user interface is by a Primary User Agent, User Agent Extension or Plug-In; embedded in an application that renders web content, and
  3. If user User interaction is not passed to and from the Primary User Agent, User Agent Extension controlled by a procedural or Plug-In, declarative language, or if user interaction does not modify the Document Object Model of its containing document.

Relationship to the Authoring Tool Accessibility Guidelines (ATAG) 2.0

While it is convenient common to think of user agents retrieving and rendering web content for one group of people (end-users) that was previously authored by another group (authors), user agents are also frequently involved with the process of authoring content.

For these cases, it is important for user agent developers to consider the application of another W3C-WAI Recommendation, the Authoring Tool Accessibility Guidelines (ATAG). ATAG (currently 2.0 is in draft) provides guidance to the developers of tools regarding the accessibility of authoring interfaces to authors (ATAG 2.0 Part A) and ways in which all authors can be supported in producing accessible web content (ATAG 2.0 Part B).

The Role of User Agents in Web Authoring

The following is a list of several ways in which user agents are commonly involved in web content authoring and the relationship between UAAG 2.0 and ATAG 2.0.

  1. Preview tool: As authors edit web content, they too l: Authors often preview their work in user agents to test how the content will be appear and operate. ATAG 2.0 includes a special exception when "Previews" previews are implemented with pre-existing user agents, so there are no additional requirements on user agent developers in this case.
  2. Checking tool: tool : Authors often make use of user agent error panels (e.g. HTML validity, JavaScript errors, etc.) errors) during authoring. ATAG 2.0 Part A would apply, applies, but likely would may not include any additional accessibility requirements beyond what is in the UAAG 2.0. 2.0 success criteria. If a user agent includes an "accessibility checker", then the developer should consult checker implementation guidance in ATAG 2.0 Part B.
  3. Edit modes: modes : Some user agents include a mode in which where the user can edit and save changes to the web content, modifying the experience of other users. In this mode, the user agent is acting as an authoring tool and all of ATAG 2.0 would apply. applies.
  4. Automatic content changes: changes : Some user agents (and/or user agent plug-ins) or plug-ins may automatically make changes to the change retrieved web content before it is it's rendered. This functionality is not considered an authoring tool because the changes are made to the user's own experience, not the experience of other users.
  5. Providing a platform for web-based authoring tools: tools : Many web applications serve as authoring tools and they make use of user agent features in order to deliver their functionality (e.g., undo text entry, adjust font size of the authoring tool user interface etc.) - User agent developers should consult ATAG 2.0 to understand the ways in which web-based authoring tools can depend on user agent features.

UAAG 2.0 Guidelines

The success criteria and applicability notes in this section are normative . Guideline summaries are informative.

PRINCIPLE 1 - Ensure that the user interface and rendered content are perceivable

Implementing Guideline 1.1 - Provide access to alternative content. @@ 721

Summary : The user can easily determine which pieces of content have alternatives such as alt text or longdesc and choose to render that alternative (1.1.1). The user can also choose at least one alternative such as alt text to be always displayed (1.1.2), but it's recommended that users also be able to specify a cascade (1.1.4), such as alt text if it's there, otherwise longdesc, otherwise filename, etc. The users can choose to be notified (e.g. by an icon) when unrendered alternative content is present. (1.1.2)

1.1.1 Identify Presence of Unrendered Render Alternative Content [was 1.1.3] :

For any content element, the user can choose to render any types of alternative content that are present. (Level A) ## DONE 28 March 2012

1.1.2 Configurable Alternative Content Defaults [was 1.1.1] :

For each type of non-text content, the user can specify a type of alternative content that, if present, will be rendered by default. (Level AA) ## DONE 28 March 2012

1.1.3 Display of Time-Based Media Alternatives:

For recognized on-screen alternatives for time-based media (e.g. captions, sign language video), the following are all true: (Level AA) ## DONE 2 August 2012

  1. Do Not Obscure Primary Media: not obscure primary media: The user can specify that the display of displaying media alternatives does not doesn't obscure the primary time-based media; and
  2. Do Not Obscure Controls: not obscure controls: The user can specify that the display of displaying media alternatives does not doesn't obscure recognized controls for the primary time-based media; and
  3. Configurable Text: Recognized text: The user can configure recognized text within media alternatives (e.g. captions) can be configured in conformance with 1.4.1. 1.4.1 .

Note: Depending on the screen area available, the display of the primary time-based media may need to be reduced in size to meet this requirement.

1.1.3 [old] Indicate Unrendered Alternative Content:

## DONE 28 March 2012 ## Deleted 4 June 2012

1.1.4 Default Rendering of Alternative Content (Enhanced):

For each type of non-text content, the user can specify the cascade order in which to render different types of alternative content when preferred types are not present. (Level AAA) ## DONE 28 March 2012

1.1.5 Size and Position of Time-Based Media Alternatives:

The user can configure recognized on-screen alternatives for time-based media (e.g. captions, sign language video) as follows: (Level AAA)

  1. Resize: The user can resize the media alternatives up to the size of the user agent's viewport.
  2. Reposition: The user can reposition the media alternatives to at least above, below, to the right, to the left, and overlapping the primary time-based media.

Note 1: Depending on the screen area available, the display of the primary time-based media may need to be reduced in size or hidden to meet this requirement.

Note 2: Implementation may involve displaying media alternatives in a separate window, but this is not required.

## DONE 2 August 2012 and IER on 16 August

Implementing Guideline 1.2 - Repair missing content.

Summary : The user can request useful alternative content when the author fails to provide it. For example, showing metadata in place of missing or empty (1.2.1) alt text. The user can ask the browser to predict missing structural information, such as field labels, table headings or section headings (1.2.2).

1.2.1 Support Repair by Assistive Technologies:

If text alternatives for non-text content are missing or empty then both of the following are true: (Level A)

  1. (a) the user agent does not attempt to repair the text alternatives with text values that would are also be available to assistive technologies.
  2. (b) the user agent makes metadata related to the non-text content available programmatically (and not via fields reserved for text alternatives).
## DONE 19 April

1.2.2 Repair Missing Structure:

The user can specify whether or not the user agent should attempt to insert the following types of structural markup on the basis of author-specified presentation attributes (i.e. (e.g.. position and appearance): (Level AAA) ## DONE 19 April & IER done on 2 August 2012
  1. (a) Labels
  2. (b) Headers (i.e. (e.g. heading markup, table headers)

Implementing Guideline 1.3 - Provide highlighting for selection, keyboard focus, enabled elements, visited links.

Summary : The user can visually distinguish selected, focused, and enabled items, and recently visited links (1.3.1), with a choice of highighting options that at least include foreground and background colors, and border color and thickness (1.3.2).

1.3.1 Highlighted Items:

The user can specify that the following classes be highlighted so that each is uniquely distinguished: (Level A) ## DONE 5 April 2012 ## DONE 4 June 2012

  1. (a) selection
  2. (b) active keyboard focus (indicated by focus cursors and/or text cursors)
  3. (c) recognized enabled input elements (distinguished from disabled elements)
  4. (d) elements with alternative content
  5. (e) recently visited links

1.3.2 Highlighting Options:

When highlighting classes specified by 1.3.1 Highlighted Items and 1.3.3 Highlighted Input Controls , the user can specify highlighting options that include at least: (Level A) ## DONE 12 April 2012

  1. (a) foreground colors ,
  2. (b) background colors , and
  3. (c) borders (configurable color, style, and thickness)

Implementing Guideline 1.4 - Provide text configuration.

Summary : The user can control text font, color, and size (1.4.1), including whether all text should be the shown the same size (1.4.2).

1.4.1 Configure Rendered Text:

The user can globally set any or all of the following characteristics of visually rendered text content, overriding any specified by the author or user agent defaults: (Level A) ## DONE TPAC

  1. (a) text scale (i.e. the (the general size of text) ,
  2. (b) font family ,
  3. (c) text color (i.e. foreground (foreground and background), background)
  4. (d) line spacing , and
  5. (e) character spacing. spacing

1.4.2 Preserving Size Distinctions:

The user can specify whether or not distinctions in the size of rendered text are preserved when that text is rescaled (e.g. headers continue to be larger than body text). (Level A) ## DONE TPAC

Implementing Guideline 1.5 - Provide volume configuration.

Summary : The user can adjust the volume of each audio track relative to the global volume level (1.5.1).

1.5.1 Global Volume:

The user can independently adjust the volume of all audio tracks , relative to the global volume level set through operating environment mechanisms. (Level A) ## DONE 3 May 2012