W3C

User Agent Accessibility Guidelines 2.0

W3C Working Draft 12 March 2008

This version:
http://www.w3.org/TR/2008/WD-UAAG20-20080312/
Latest version:
http://www.w3.org/TR/UAAG20/
Previous version:
First Public Working Draft
Editors:
James Allan, Texas School for the Blind and Visually Impaired
Jan Richards, Adaptive Technology Resource Centre, University of Toronto

Abstract

This document provides guidelines 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. Technologies not addressed directly by this document (e.g., technologies for braille rendering) will be essential to ensuring Web access for some users with disabilities.

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

W3C First Public Draft of UAAG 2.0

This is a First Public Working Draft of "UAAG 2.0". For more information, please see the UAAG 2.0 Requirements Document. The Working Group expects for this document to become a Working Group Note until such time as the group is recharted to produce Recommendations under the W3C Patent Policy. At that point, the group anticipates advancing it to W3C Recommendation status.

Substantial changes since UAAG 1.0 include: (1) numerous clarifications and additions to the guidelines and success criteria as per the UAAG 2.0 Requirements Document, (2) restructuring the document into five principles similar to those used by WCAG 2.0 and ATAG 2.0, (3) adopting the three-priority level per guideline structure of WCAG 2.0 and ATAG 2.0, and (4) integrating the draft into a single document with streamlined introductory material.

The Working Group seeks feedback on the following points for this draft:

Comments on this working draft are due on or before 14 April 2008. Comments on the draft should be sent to public-uaag2-comments@w3.org (Public Archive).

Should UAAG 2.0 become a W3C Recommendation, it will supersede UAAG 1.0. Until that time User Agent Accessibility Guidelines 1.0 (UAAG 1.0) [UAAG10] is the stable, referenceable version. This Working Draft does not supersede UAAG 1.0.

Web Accessibility Initiative

This document has been produced as part of the W3C Web Accessibility Initiative (WAI). The goals of the 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.

Patent Disclosures

This document was produced by a group operating under the 5 February 2004 W3C Patent Policy. This document is informative only. 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


Editing Styles:

Introduction

This section is informative.

This document specifies requirements that, if satisfied by user agent developers, will lower barriers to accessibility.

A separate document, entitled "Implementation Techniques for User Agent Accessibility Guidelines 2.0" (the "Techniques document" from here on) will be produced at a later date. It will provide suggestions and examples of how each success criteria might be satisfied. It also includes references to other accessibility resources (such as platform-specific software accessibility guidelines) that provide additional information on how a user agent may satisfy each success criteria. The techniques in the Techniques document are informative examples only, and other strategies may be used or required to satisfy the success criteria. The UAWG expects to update the Techniques document more frequently than the current guidelines. Developers, W3C Working Groups, users, and others are encouraged to contribute techniques.

Definition of User Agent

In this document, the term "user agent" is used in two ways:

  1. The software and documentation components that together, conform to the requirements of this document. This is the most common use of the term in this document and is the usage in the guidelines.
  2. Any software that retrieves and renders Web content for users. This may include Web browsers, browser extensions, media players, plug-ins, and other programs — including assistive technologies — that help in retrieving and rendering Web content.

Components of Web Accessibility

Web accessibility depends not only on accessible user agents, but also on the availability of accessible content, a factor that is greatly influenced by the accessibility of authoring tools. For an overview of how these components of Web development and interaction work together, see:

Levels of Conformance

User Agents may claim conformance to UAAG 2.0 at one of three conformance levels. The level achieved depends on the level of the success criteria that have been satisfied. The conformance levels are:

  1. UAAG 2.0 Conformance at Level "A"
    The user agent satisfies all of the Level A success criteria.
  2. UAAG 2.0 Conformance at Level "Double-A"
    The user agent satisfies all of the Level A and Level AA success criteria.
  3. UAAG 2.0 Conformance at Level "Triple-A"
    The user agent satisfies all of the success criteria.

Other Issues

Relation to general software design guidelines

One of the goals of this document is to ensure that the requirements are compatible with other software design practices. However, this document does not purport to be a complete guide to good software design. For instance, the general topic of user interface design for computer software exceeds the scope of this document, though some user interface requirements have been included because of their importance to accessibility.

This document promotes conformance to other specifications as part of accessible design (see Principle 1). Conformance to specifications makes it easier to design assistive technologies, and helps ensure the implementation of built-in accessibility functions.

This document also includes some requirements to implement an accessibility feature that may only be optional in another specification. In rare cases, a requirement in UAAG 2.0 may conflict with a requirement in another specification. UAAG 2.0 does not define a process for resolving such conflicts. The authors of this document anticipate that developers will consider accessibility implications in determining how to resolve them.

Installation

Installation is an important aspect of both accessibility and general software usability. On platforms where a user can install a user agent, the installation (and update and removal) procedures need to be accessible. Furthermore, the installation procedure should provide and install all components necessary to satisfy the requirements of this document, since the risk of installation failure increases with the number of components (e.g., plug-ins) to be installed.

This document does not include a success criteria requiring that installation procedures be accessible. Since this document considers installation to be part of software usage, the different aspects of installation (e.g., user interface, documentation, and operating environment conventions) are already covered by the complete set of success criteria.

Security considerations

Some of the requirements of this document may have security implications, such as communication through APIs, and allowing programmatic read and write access to content and user interface control. This document assumes that features required by this document will be built on top of an underlying security architecture. Consequently, unless permitted explicitly in a success criteria, this document grants no conformance exemptions based on security issues.

Developers should design user agents that enable communication with trusted assistive technologies. Sensitive information that the user agent can access through the user agent's user interface should also be available to assistive technologies through secure means. For instance, if the user types a password in the user agent user interface, do not communicate substitute characters (such as asterisks) through an API, but rather the real password, properly encrypted.

User control

This document emphasizes the goal of ensuring that users, including users with disabilities, have control over their environment for accessing the Web. Key methods for achieving that goal include: optional self-pacing, configurability, device-independence, interoperability, direct support for both graphical and auditory output, and adherence to published conventions.

This document also acknowledges the importance of author preferences and the proper implementation of specifications. However, this document includes requirements to override certain author preferences when the user would not otherwise be able to access that content.

Control of automatic behavior

Many of the requirements in this document give the user additional control over behavior that would otherwise occur automatically. For instance, there is a requirement to allow configuration to not open a viewport automatically and one that requires user confirmation before submitting a form. This type of manual configuration option may be essential for some users with disabilities, since automatic behavior may be disorienting or interfere with navigation.

Configurability

This document includes requirements for users with a variety of disabilities, in part because some users may have more than one disability. In some cases, it may appear that two requirements contradict each other. For instance, a user with a physical disability may prefer that the user agent offer more automatic behavior (to reduce demand for physical effort) than a user with a cognitive disability (for whom automatic behavior may cause confusion). Thus, many of the requirements in this document involve configuration as one way to ensure that a functionality designed to improve accessibility for one user does not interfere with accessibility for another. Also, since a default user agent setting may be useful for one user but interfere with accessibility for another, this document prefers configuration requirements to requirements for default settings. Finally, there may be some cases where, for some content, a feature required by this document is ineffective or causes content to be less accessible, making it imperative that the user be able to turn off the feature.

To avoid overwhelming users with an abundance of configuration options, this document includes requirements that promote ease of configuration and documentation of accessibility features.

Device independence, spatial independence, and temporal independence

Many requirements in this document promote different kinds of independence:

Additional benefits of accessible user agent design

In meeting the goals of users with disabilities, user agent developers will also improve access to the Web for users in general. For example, users without disabilities:

The UAWG expects that software which satisfies the requirements of this document will be more flexible, manageable, extensible, and beneficial to all users. For example, a user agent architecture that allows programmatic access to content and the user interface will encourage software modularity and reuse, and will enable operation by scripting tools and automated test engines in addition to assistive technologies.


UAAG 2.0 Guidelines

PRINCIPLE 1. Follow applicable specifications and conventions

Guideline 1.1 Observe operating environment conventions [Techniques]

Level A Success Criteria for Guideline 1.1
Level AA Success Criteria for Guideline 1.1
Level AAA Success Criteria for Guideline 1.1

Guideline 1.2 Support accessibility features of technologies [Techniques]

Level A Success Criteria for Guideline 1.2
Level AA Success Criteria for Guideline 1.2
Level AAA Success Criteria for Guideline 1.2

Guideline 1.3 Render content according to specification [Techniques]

Level A Success Criteria for Guideline 1.3
Level AA Success Criteria for Guideline 1.3
Level AAA Success Criteria for Guideline 1.3

Note: When a rendering requirement of another specification contradicts a requirement of UAAG 2.0, the user agent may disregard the rendering requirement of the other specification and still satisfy this guideline.

PRINCIPLE 2. Facilitate access by assistive technologies

Guideline 2.1 Programmatic access to HTML/XML infoset [Techniques] @@6.1 NEEDS WORK@@

Level A Success Criteria for Guideline 2.1
Level AA Success Criteria for Guideline 2.1
Level AAA Success Criteria for Guideline 2.1

Guideline 2.2 DOM access to HTML/XML content [Techniques] @@6.2 NEEDS WORK@@

Level A Success Criteria for Guideline 2.2
Level AA Success Criteria for Guideline 2.2
Level AAA Success Criteria for Guideline 2.2

Normative inclusions and exclusions @@from UAAG10@@

  1. Refer to the "Document Object Model (DOM) Level 2 Core Specification" [DOM2CORE] for information about which versions of HTML, XML, Java, and ECMAScript are covered. Appendix D contains the Java bindings and Appendix E contains the ECMAScript bindings.
  2. The user agent is not required to export the bindings outside of the user agent process (though doing so may be useful to assistive technology developers).

@@Note: This guideline stands apart from guideline 2.1 to emphasize the distinction between what information is required and how to provide access to that information. Furthermore, the DOM Level 2 Core Specification does not provide access to current states and values referred to in provision three of guideline 2.1. For HTML content, the interfaces defined in [DOM2HTML] do provide access to current states and values.

Guideline 2.3 Programmatic access to non-HTML/XML content [Techniques] @@6.3 NEEDS WORK@@

Level A Success Criteria for Guideline 2.3
Level AA Success Criteria for Guideline 2.3
Level AAA Success Criteria for Guideline 2.3

Normative inclusions and exclusions @@from UAAG10@@

  1. "Structured programmatic access" means access through an API to recognized information items of the content (such as the information items of the XML Infoset [INFOSET]). Plain text has little structure, so an API that provides access to it will be correspondingly less complex than an API for XML content. For content more structured than plain text, an API that only provides access to a stream of characters does not satisfy the requirement of providing structured programmatic access. This document does not otherwise define what is sufficiently structured access.
  2. An API is considered "available" if the specification of the API is published (e.g., as a W3C Recommendation) in time for integration into a user agent's development cycle

Note: This guideline addresses content not covered by guidelines 2.1 and 2.2.

Guideline 2.4 Programmatic access to information about rendered content [Techniques] @@6.4 NEEDS WORK@@

Level A Success Criteria for Guideline 2.4
Level AA Success Criteria for Guideline 2.4
Level AAA Success Criteria for Guideline 2.4

Note: User agents should provide programmatic access to additional useful information about rendered content that is not available through the APIs required by guidelines 2.2 and 2.3, including the correspondence (in both directions) between graphical objects and their source in the document object, and information about the role of each graphical object.

Guideline 2.5 Programmatic operation of user agent user interface [Techniques] @@6.5 NEEDS WORK@@

Level A Success Criteria for Guideline 2.5
Level AA Success Criteria for Guideline 2.5
Level AAA Success Criteria for Guideline 2.5

Normative inclusions and exclusions @@from UAAG10@@

  1. For security reasons, user agents are not required to allow instructions in content to modify user agent user interface controls. See more information on security considerations.
  2. Conformance detail: For user agent features

Note: APIs used to satisfy the requirements of this guideline may vary. For instance, they may be independent of a particular operating environment (e.g., the W3C DOM), or the conventional APIs for a particular operating environment, or the conventional APIs for programming languages, plug-ins, or virtual machine environments. User agent developers are encouraged to implement APIs that allow assistive technologies to interoperate with multiple types of software in a given operating environment (e.g., user agents, word processors, and spreadsheet programs), as this reuse will benefit users and assistive technology developers. User agents should always follow operating environment conventions for the use of input and output APIs.

Guideline 2.6 Programmatic notification of changes [Techniques] @@6.6 NEEDS WORK@@

Level A Success Criteria for Guideline 2.6
Level AA Success Criteria for Guideline 2.6
Level AAA Success Criteria for Guideline 2.6

Normative inclusions and exclusions @@from UAAG10@@

  1. The user agent is not required to provide notification of changes in the rendering of content (e.g., due to an animation effect or an effect caused by a style sheet) unless the document object is modified as part of those changes.
  2. Conformance profile labels: Selection
  3. Conformance detail: For both content and user agent

Note: For instance, provide programmatic notification when user interaction in one frame causes automatic changes to content in another.

Guideline 2.7 Conventional keyboard APIs [Techniques] @@6.7 NEEDS WORKs@@

Level A Success Criteria for Guideline 2.7
Level AA Success Criteria for Guideline 2.7
Level AAA Success Criteria for Guideline 2.7

Note: An operating environment may define more than one conventional API for the keyboard. For instance, for Japanese and Chinese, input may be processed in two stages, with an API for each stage.

Guideline 2.8 API character encodings [Techniques]@@6.8 NEEDS WORK@@

Level A Success Criteria for Guideline 2.8
Level AA Success Criteria for Guideline 2.8
Level AAA Success Criteria for Guideline 2.8

Normative inclusions and exclusions @@from UAAG10@@

  1. Conformance detail: For both content and user agent

Note: Support for character encodings is an important part of ensuring that text is correctly communicated to assistive technologies. For example, the DOM Level 2 Core Specification [DOM2CORE], section 1.1.5 requires that the DOMString type be encoded using UTF-16.

Guideline 2.9 DOM access to CSS style sheets [Techniques] @@6.9 NEEDS WORK@@

Level A Success Criteria for Guideline 2.9
Level AA Success Criteria for Guideline 2.9
Level AAA Success Criteria for Guideline 2.9

Normative inclusions and exclusions @@from UAAG10@@

  1. For the purposes of satisfying this guideline, Cascading Style Sheets (CSS) are defined by either CSS Level 1 [CSS1] or CSS Level 2 [CSS2].
  2. Refer to the "Document Object Model (DOM) Level 2 Style Specification" [DOM2STYLE] for information about which versions of Java and ECMAScript are covered. Appendix B contains the Java bindings and Appendix C contains the ECMAScript bindings.
  3. The user agent is not required to export the bindings outside of the user agent process.

Guideline 2.10 Timely exchanges through APIs [Techniques] @@6.10 NEEDS WORK@@

Level A Success Criteria for Guideline 2.10
Level AA Success Criteria for Guideline 2.10
Level AAA Success Criteria for Guideline 2.10

Note: For example, the programmatic exchange of information required by other guidelines in this document should be efficient enough to prevent information loss, a risk when changes to content or user interface occur more quickly than the communication of those changes. Timely exchange is also important for the proper synchronization of alternative renderings. The techniques for this guideline explain how developers can reduce communication delays. This will help ensure that assistive technologies have timely access to the document object model and other information that is important for providing access.

PRINCIPLE 3: Ensure that the user interface is perceivable

Guideline 3.1 Provide text alternatives for non-text components [Techniques]

Level A Success Criteria for Guideline 3.1
Level AA Success Criteria for Guideline 3.1
Level AAA Success Criteria for Guideline 3.1

Guideline 3.2 Provide access to alternative content [Techniques]

Level A Success Criteria for Guideline 3.2
Level AA Success Criteria for Guideline 3.2
Level AAA Success Criteria for Guideline 3.2

@@New Technique 3.2.5=User agents should expose configuration choices in as highly visible a fashion as is practical such as on a menu entry or dialog settings devoted to accessibility@@.

Guideline 3.3 Provide control of content that may reduce accessibility [Techniques]

Note: The guideline only applies to images, animations, video, audio, etc. that the user agent can recognize.

Level A Success Criteria for Guideline 3.3
Level AA Success Criteria for Guideline 3.3
Level AAA Success Criteria for Guideline 3.3

@@Tech=Provide the user with the ability to toggle whether the base user agent executes content that it is able to . - if cond. content exists reveal it (2.3)
@@Tech=Provide the user with the ability to toggle the loading of plugins that execute content the base browser is unable to execute - if cond. content exists reveal it (2.3)

Guideline 3.4 Provide access to relationship information [Techniques] @@NEW 10.1@@

Level A Success Criteria for Guideline 3.4
Level AA Success Criteria for Guideline 3.4
Level AAA Success Criteria for Guideline 3.4

Guideline 3.5 Repair missing content [Techniques]

Level A Success Criteria for Guideline 3.5
Level AA Success Criteria for Guideline 3.5
Level AAA Success Criteria for Guideline 3.5

Guideline 3.6 Provide highlighting for selection, content focus, enabled elements, visited links [Techniques]

Level A Success Criteria for Guideline 3.6
Level AA Success Criteria for Guideline 3.6
Level AAA Success Criteria for Guideline 3.6

Guideline 3.7 Provide text configuration [Techniques] @@4.1, 4.2, 4.3 in UAAG10@@

Level A Success Criteria for Guideline 3.7
Level AA Success Criteria for Guideline 3.7
Level AAA Success Criteria for Guideline 3.7

Guideline 3.8 Provide volume configuration [Techniques]

Level A Success Criteria for Guideline 3.8
Level AA Success Criteria for Guideline 3.8
Level AAA Success Criteria for Guideline 3.8

Guideline 3.9 Provide synthesized speech configuration [Techniques]

Level A Success Criteria for Guideline 3.9
Level AA Success Criteria for Guideline 3.9
Level AAA Success Criteria for Guideline 3.9

Guideline 3.10 Provide style sheets configuration [Techniques]

Level A Success Criteria for Guideline 3.10
Level AA Success Criteria for Guideline 3.10
Level AAA Success Criteria for Guideline 3.10

Guideline 3.11 Help user to use and orient within viewports [Techniques]

Level A Success Criteria for Guideline 3.11
Level AA Success Criteria for Guideline 3.11
Level AAA Success Criteria for Guideline 3.11

Guideline 3.12 Provide an effective focus mechanism [Techniques]

Level A Success Criteria for Guideline 3.12
Level AA Success Criteria for Guideline 3.12
Level AAA Success Criteria for Guideline 3.12

Guideline 3.13 Provide alternative views [Techniques]

Level A Success Criteria for Guideline 3.13
Level AA Success Criteria for Guideline 3.13
Level AAA Success Criteria for Guideline 3.13

Guideline 3.14 Provide link information [Techniques]

Level A Success Criteria for Guideline 3.14
Level AA Success Criteria for Guideline 3.14
Level AAA Success Criteria for Guideline 3.14

PRINCIPLE 4. Ensure that the user interface is operable

Guideline 4.1 Ensure full keyboard access [Techniques]

@@The UAWG is currently working to ensure that sufficient requirements are in place regarding how keyboard shortcuts are conveyed to the user (e.g. visual indicators, documentation, etc.). Input from area experts would be welcome.@@

@@The UAWG is also currently working to ensure that the requirements properly cover interaction with video and dynamic Web content. Input from area experts would be welcome.@@

Level A Success Criteria for Guideline 4.1
Level AA Success Criteria for Guideline 4.1
Level AAA Success Criteria for Guideline 4.1

Guideline 4.2 Provide access to event handlers [Techniques]

Level A Success Criteria for Guideline 4.2
Level AA Success Criteria for Guideline 4.2
Level AAA Success Criteria for Guideline 4.2

Guideline 4.3 Allow time-independent interaction [Techniques]

Level A Success Criteria for Guideline 4.3
Level AA Success Criteria for Guideline 4.3
Level AAA Success Criteria for Guideline 4.3

Guideline 4.4 Help users avoid flashing that could cause seizures [Techniques]

Level A Success Criteria for Guideline 4.4
Level AA Success Criteria for Guideline 4.4
Level AAA Success Criteria for Guideline 4.4

Guideline 4.5 Store preference settings [Techniques]

Level A Success Criteria for Guideline 3.6
Level AA Success Criteria for Guideline 3.6
Level AAA Success Criteria for Guideline 3.6

Guideline 4.6 Provide text search [Techniques]

Level A Success Criteria for Guideline 4.6
Level AA Success Criteria for Guideline 4.6
Level AAA Success Criteria for Guideline 4.6

Guideline 4.7 Provide structured navigation [Techniques]

Level A Success Criteria for Guideline 4.7
Level AA Success Criteria for Guideline 4.7
Level AAA Success Criteria for Guideline 4.7

Note: For example, allow the user to navigate only paragraphs, or only headings and paragraphs, or to suppress and restore navigation bars, or to navigate within and among tables and table cells

Guideline 4.8 Provide tool bar configuration [Techniques]

Level A Success Criteria for Guideline 4.8
Level AA Success Criteria for Guideline 4.8
Level AAA Success Criteria for Guideline 4.8

Principle 5: Ensure that user interface is understandable

Guideline 5.1 Help users avoid unnecessary messages [Techniques]

Level A Success Criteria for Guideline 5.1
Level AA Success Criteria for Guideline 5.1
Level AAA Success Criteria for Guideline 5.1

Guideline 5.2 Help users avoid and correct mistakes [Techniques]

Level A Success Criteria for Guideline 5.2
Level AA Success Criteria for Guideline 5.2
Level AAA Success Criteria for Guideline 5.2

Guideline 5.3 Document the user agent user interface including all accessibility features [Techniques]

Level A Success Criteria for Guideline 5.3
Level AA Success Criteria for Guideline 5.3
Level AAA Success Criteria for Guideline 5.3

Conformance

@@Ed. This section is still under development@@

Appendix A: Glossary

This glossary is normative.

a · b · c · d · e · f · g · h · i · j · k · l · m · n · o · p · q · r · s · t · u · v · w · x · y · z

activate
In the context of rendered content this means to execute or carry out one or more behaviors associated with an enabled element. In the context of the user interface "chrome", this means to execute or carry out one or more behaviors associated with a component of the user agent user interface. The effect of activation depends on the type of the user interface control. For instance, when a link is activated, the user agent generally retrieves the linked Web resource. When a form element is activated, it may change state (e.g., check boxes) or may take user input (e.g., a text entry field).
alert
To make the user aware of some event, without requiring acknowledgement. For example, the user agent may alert the user that new content is available on the server by displaying a text message in the user agent's status bar.
alternative content
Content that should be made available to the user only under certain conditions (e.g., based on user preferences or operating environment limitations). Some examples include: Note: Specifications vary in how completely they define how an