W3C

User Agent Accessibility Guidelines 1.0

W3C Working Draft 7 July 2000

This version:
http://www.w3.org/WAI/UA/WD-UAAG10-20000707
(plain text, gzip PostScript, gzip PDF, gzip tar file of HTML, zip archive of HTML)
Latest version:
http://www.w3.org/WAI/UA/UAAG10
Previous version:
http://www.w3.org/WAI/UA/WD-UAAG10-20000610
Editors:
Jon Gunderson, University of Illinois at Urbana-Champaign
Ian Jacobs, W3C

Abstract

The guidelines in this document explain to developers how to design user agents that are accessible to people with disabilities. User agents include graphical desktop browsers, multimedia players, text browsers, voice browsers, plug-ins, and other assistive technologies that provide access to Web content. While these guidelines primarily address the accessibility of general-purpose graphical user agents, the principles presented apply to other types of user agents as well. Following these principles will help make the Web accessible to users with disabilities and will benefit all users.

Status of this document

This section describes the status of this document at the time of its publication. Other documents may supersede this document. The latest status of this document series is maintained at the W3C.

This release of the document incorporates minimal requirements for each checkpoint as discussed by the the Working Group. This draft expresses the identified minimal requirements in the checkpoints themselves, rather than as separate commentary. The Working Group will evaluate the effectiveness of this approach (refer to the proposal for integrating minimal requirements) and decide whether the document should retain this form. The Working Group has not yet established minimal requirements for all of the checkpoints.

This version also moves all normative information into the checkpoint text, leaving any Notes after checkpoints informative only. Some of the checkpoints in guideline 3 have been rewritten to express an identified minimal requirement (configuration to not render a particular content type); the Working Group may increase the requirements for these checkpoints to include some type of control as well. A history of changes to this document is available on the Web.

Note: Three checkpoints in this document (checkpoint 5.1, checkpoint 5.2, and checkpoint 5.7) refer to the W3C DOM Level 2 [DOM2] specification, which is a Candidate Recommendation as of 7 July 2000 . The User Agent Guidelines Working Group continues to track the progress of that specification and expects to maintain its dependency on DOM Level 2 if that specification advances to Proposed Recommendation before the UA Working Group has resolved its open issues. At its 25 April 2000 teleconference, the Working Group resolved that it may modify the checkpoints in question to depend on DOM 1 if that will accelerate the progress of this document.

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 W3C Working Drafts as other than "work in progress."

Please send comments about this document to the public mailing list w3c-wai-ua@w3.org (public archives).

This document is part of a series of accessibility documents published by the Web Accessibility Initiative (WAI) of the World Wide Web Consortium (W3C). WAI Accessibility Guidelines are produced as part of the WAI Technical Activity.

The goals of the User Agent Working Group are described in the charter. A list of the Working Group participants is available.

A list of current W3C Recommendations and other technical documents can be found at http://www.w3.org/TR.

Table of contents

An appendix to this document [UAAG10-CHECKLIST] lists all checkpoints for convenient reference.

Note: This document supports direct keyboard navigation to the table of contents via the "c" character. Users may have to use additional keyboard strokes depending on their operating environment. Not all user agents support direct keyboard access.


1. Introduction

This introduction (section 1) provides context for understanding the guidelines listed in section 2. In different sections, the introduction explains:

1.1 Benefits of accessible design

For those unfamiliar with accessibility issues pertaining to user agent design, consider that many users with disabilities may be accessing the Web in contexts very different from your own:

User agents must be designed to take into account the diverse requirements of users with disabilities. This document specifies requirements that user agent developers must satisfy to ensure accessibility of the user agent.

Software that follows the guidelines in this document will not only benefit users with disabilities, it will be more flexible, manageable, extensible, and beneficial to all users. Many users browse the Web with requirements similar to those of users with disabilities. For instance:

The guidelines in this document describe some basic principles of accessible design. As the previous examples illustrate, accessible design generally benefits all users.

1.2 Principles of accessible design

This document is organized according to several principles that, if followed, will improve the design of any type of user agent:

Ensure that the user interface is accessible

A user with a disability must have access to all the functionalities offered by the user agent through its user interface. Since some users cannot use some parts of the user interface, it needs to be adaptable to their particular needs. To ensure the accessibility of the user interface, people with disabilities should be involved in its design and testing.

One requirement is that users be able to operate the user interface with a variety of input devices (mouse, keyboard, speech input, etc.) and output devices (graphical display, speech output, Braille display, etc.). Redundant input and output methods (accomplished through the standard input and output Application Programming Interfaces (APIs) implemented by the user agent) help users operate controls of the user agent as well as those included as part of content.

In order for people to use the user agent at all, the installation procedure (and any subsequent software update procedures) must be accessible according to the guidelines of this document. For example, the user agent must provide device-independent access and accessible documentation of the installation.

This document includes a number of user interface requirements that are similar to, or related to, general guidelines for user interface design. 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. The Techniques document [UAAG10-TECHS] includes some references to general software design guidelines and platform-specific accessibility guidelines.

Note: This document addresses accessible user agent support for some markup language features (e.g., tables for layout, etc.) that may be widely deployed, but whose use may be discouraged.

Ensure that the user has access to content

User agents must ensure access to content:

Help orient the user

User agents can help the user remain oriented in a page or site by supplying context, including:

The user agent should also minimize chances that user will become disoriented. User agents should:

Follow operating system standards and conventions and use open specifications

Following platform and operating system standards and guidelines promotes accessibility, usability, and predictability. Platform guidelines explain what users will expect from the look and feel of the user interface, keyboard conventions, documentation, etc. Platform guidelines also include information about accessibility features that the user agent should adopt rather than reimplementing them.

So that desktop browsers can make information available to assistive technologies, they must communicate through standard interfaces. An architecture that makes possible programmatic access to content and the user interface will benefit assistive technologies, scripting tools, and automated test engines. It will also promote software modularity and reuse.

1.3 How the guidelines are organized

The eleven guidelines in this document state general principles for the development of accessible user agents. Each guideline includes:

Each checkpoint definition includes:

Each checkpoint has been designed to express clearly a minimal requirement for accessibility. This document and "Techniques for User Agent Accessibility Guidelines 1.0" [UAAG10-TECHS] both suggest how users agents may go beyond satisfying minimal requirements to promote accessibility, but user agents are only required to satisfy the minimal requirements expressed by the checkpoints. Note: In some cases, though the requirement of a checkpoint may be clear, without documentation from vendors (e.g., about APIs they implement), it it may be difficult to verify that a user agent has satisfied the requirement.

This document includes as an appendix a glossary. Another appendix lists all checkpoints in tabular and linear format for convenient reference [UAAG10-CHECKLIST].

1.4 Related resources

A separate document, entitled "Techniques for User Agent Accessibility Guidelines 1.0" [UAAG10-TECHS], provides suggestions and examples of how each checkpoint 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 checkpoint. Readers are strongly encouraged to become familiar with the Techniques document. Note that the techniques provided are informative examples only, and other strategies may be used to meet the checkpoint as well as, or in place of, those listed therein. The Techniques document is expected to be updated more frequently than the current guidelines.

"User Agent Accessibility Guidelines 1.0" is part of a series of accessibility guidelines published by the Web Accessibility Initiative (WAI). The series also includes "Web Content Accessibility Guidelines 1.0" [WCAG10] and "Authoring Tool Accessibility Guidelines 1.0" [ATAG10]. In addition to this series, WAI provides other resources and educational materials about Web accessibility.

1.5 Document conventions

The following editorial conventions are used throughout this document:

1.6 Priorities

Each checkpoint in this document is assigned a priority that indicates its importance for users with disabilities.

[Priority 1]
This checkpoint must be satisfied by user agents, otherwise one or more groups of users with disabilities will find it impossible to access the Web. Satisfying this checkpoint is a basic requirement for enabling some people to access the Web.
[Priority 2]
This checkpoint should be satisfied by user agents, otherwise one or more groups of users with disabilities will find it difficult to access the Web. Satisfying this checkpoint will remove significant barriers to Web access for some people.
[Priority 3]
This checkpoint may be satisfied by user agents to make it easier for one or more groups of users with disabilities to access information. Satisfying this checkpoint will improve access to the Web for some people.

1.7 Conformance

This section explains how to make a valid claim that a user agent conforms to this document. The terms "must", "should", and "may" (and related terms) are used in this document in accordance with RFC 2119 [RFC2119].

Who may claim conformance

Anyone may make a claim (e.g., vendors about their own products, third parties about those products, journalists about products, etc.). Claims may be published anywhere (e.g., on the Web or in product documentation).

Claimants are solely responsible for their claims and the use of the conformance icons. If the subject of the claim (i.e., the software) changes after the date of the claim, the claimant is responsible for updating the claim. Claimants are encouraged to conform to the most recent guidelines available.

Which user agents may conform

This document has been designed to promote the accessibility of general-purpose graphical user agents. While many of the principles set forth in this document apply to other classes of user agents, including assistive technologies, many of the checkpoints do not. As the number of applicable checkpoints decreases for a piece of software, the likelihood increases that the guidelines are not an accurate gauge of the accessibility of that piece of software. Therefore, while assistive technologies and other specialized user agents obviously promote accessibility, they are not expected to conform (for instance, because they target a particular user group, or they do not make available information through APIs) because they generally do strive to be general purpose user agents. This document will help assistive technology developers understand what functionalities and communication an accessible general purpose user agent should provide.

Note: These guidelines aim to make conforming user agents accessible. This includes the accessibility of the user agent's user interface in addition to the accessibility of Web content. When used in conjunction with assistive technology, conforming user agents are expected to be accessible to most users with disabilities; in some cases, accessibility is "completed" by the use of an assistive technology. Some user agents may not conform to these guidelines but still be accessible to some users with disabilities. By following the principles of this document, developers of all user agents (not just conforming user agents) should improve the accessibility of their products.

Conformance levels

A conformance claim must indicate what conformance level is met:

Note: Conformance levels are spelled out in text (e.g., "Double-A" rather than "AA") so they may be understood when rendered as speech.

Well-formed conformance claims

A well-formed claim must include the following information:

About the guidelines:
About the subject of the claim:
Properties of the claim:

There is no restriction on the format used to make the claim, except that at least one representation of the claim must be accessible according to the Web Content Accessibility Guidelines 1.0 [WCAG10]. For instance, the claim may be marked up using HTML, or expressed in the Resource Description Framework (RDF) [RDF10] Here is an example of a claim expressed in HTML:

<p>On 7 July 2000 , this product (version 2.3 on MyOperatingSystem) conforms to <abbr title="the World Wide Web Consortium">W3C</abbr>'s "User Agent Accessibility Guidelines 1.0", http://www.w3.org/WAI/UA/WD-UAAG10-20000707, level Double-A. The <a href="http://example.com/checkpoints"> list of checkpoints that do not apply</a> is available online.</p>

Validity of a claim

A conformance claim is valid for a given conformance level if:

  1. The claim is well-formed, and
  2. The subject of the claim satisfies all the applicable checkpoints for that level.

Claimants (or relevant assuring parties) are responsible for the validity of a claim. As of the publication of this document, W3C does not act as an assuring party, but it may do so in the future, or establish recommendations for assuring parties.

Claimants are expected to modify or retract a claim if it may be demonstrated that the claim is not valid. Please note that it is not currently possible to validate claims completely automatically.

Conformance icons

As part of a conformance claim, people may use a conformance icon on a Web site, on product packaging, in documentation, etc. Each conformance icon (chosen according to the appropriate conformance level) must link to the W3C explanation of the icon. The appearance of a conformance icon does not imply that W3C has reviewed or validated the claim. An icon must be accompanied by a well-formed claim.

Note: In the event this document becomes a W3C Recommendation, additional information about the icons and how to use them will be available at the W3C Web site.

Checkpoint applicability

Not every checkpoint or guideline is applicable to every user agent. Generally, a user agent must adhere to checkpoints that ensure accessibility of functionalities that it offers to users and it must implement required functionalities natively. If the user agent supports keyboard input, it must support accessible keyboard input. If the user agent supports images, it must ensure access to each image or an equivalent alternative specified by the author. If a user agent supports style sheets, it must implement the accessibility features of the style sheet language. If the user agent supports frames, it must ensure access to frame alternatives specified by the author. In short, if a user agent offers a functionality, it must ensure that people with disabilities have access to that functionality or an equivalent alternative.

Not all user agents support every content type, markup language feature, input or output device interface, etc. When a content type, feature, or device interface is not supported, checkpoints with requirements related to it do not apply to the user agent. Thus, if a user agent supports style sheets at all, all checkpoints related to style sheet accessibility apply. If a user agent does not support style sheets at all, the checkpoints do not apply.

The applicability of checkpoints related to markup language features is determined similarly. If a user agent supports tables, it must support the accessibility features of the language related to tables (and so on, for images, frames, video, links, etc.). The Techniques document includes information about the accessibility features of W3C languages such as HTML, CSS, and SMIL.

To summarize, a checkpoint (or portion of a checkpoint) applies to a user agent unless at least one of the following is true:

Each checkpoint requirement must be satisfied by making information or functionalities available through the user agent's user interface unless the checkpoint explicitly states that the requirement must be met by making information available through an Application Programming Interface (API).


2. User agent accessibility guidelines

Guideline 1. Support input and output device-independence.

Ensure that the user can interact with the user agent (and the content it renders) through all of the input and output APIs used by the user agent.

Since people use a variety of devices for input and output, user agent developers must ensure redundancy in the user interface. Messages and alerts to the user must not rely on auditory or graphical cues alone; text, beeps, flashes, and other techniques used together will make these alerts accessible. Text messages are generally accessible since they may be used by people with graphical displays, speech synthesizers, or Braille displays.

People who cannot or do not use a mouse must be able to operate the user interface with the keyboard, through voice input, a head wand, touch screen, or other device. Keyboard operation of all functionalities offered through the user interface is one of the most important aspects of user agent accessibility on almost every platform. The keyboard is available to most users, it is widely supported, and hooks provided for the keyboard can be used for other types of input.

To ensure that assistive technologies can both operate the user agent programmatically (e.g., through simulated keyboard events) and monitor user agent output (e.g., output text), developers are expected to use each API appropriately. Developers should not, for example, pre-rasterize text or convert text to a series of strokes since doing so may prevent assistive technologies from being able to render the text as speech or Braille.

Checkpoints for communication with other software:

1.1 Ensure that every functionality available through the user interface is also available through every input API implemented by the user agent. This checkpoint does not require developers to reimplement the input methods associated with the keyboard, pointing device, voice, and other input APIs. The device-independence required by this checkpoint applies to the functionalities described by the other checkpoints in this document (e.g., installation, documentation, user agent user interface configuration, etc.). [Priority 1]
Note: This checkpoint does not require developers to implement all operating system input APIs, only to make the software accessible through those they do implement. Developers are not required to reimplement input methods of APIs, e.g., text input through a mouse API or pointer motion through a keyboard API.
Techniques for checkpoint 1.1
1.2 Use the standard input and output device APIs of the operating system. Do not bypass the standard output APIs when rendering information. [Priority 1]
Note: For example, do not bypass (for reasons of speed, efficiency, etc.) standard APIs to manipulate the memory associated with rendered content, since assistive technologies monitor rendering through the APIs. When available, developers should use APIs at a higher level of abstraction than the standard device APIs for the operating system. If these higher level APIs do not use the standard device APIs properly, developers should also use the standard device APIs.
Techniques for checkpoint 1.2
1.3 Implement the standard keyboard API of the operating system and ensure that every functionality available through the user interface is available through this API. This checkpoint always applies on systems with a standard keyboard API. [Priority 1]
Note: This checkpoint is an important special case of checkpoint 1.1. Refer also to checkpoint 10.8.
Techniques for checkpoint 1.3

Checkpoints for user interface accessibility:

1.4 Ensure that the user can interact with all active elements in a device-independent manner. [Priority 1]
Note: For example, users who are blind or have physical disabilities must be able to activate text links, the links in a client-side image map, and form controls without a pointing device. This checkpoint is an important special case of checkpoint 1.1.
Techniques for checkpoint 1.4
1.5 Ensure every non-text message (e.g., prompt, alert, notification, etc.) that is part of the user agent's user interface also has a text equivalent in the user interface. This text equivalent must be available to assistive technologies through an API. [Priority 1]
Note: For example, if the user is notified of an event by an auditory cue, a text equivalent in the status bar would satisfy this checkpoint. Using accessible standard interface controls (per checkpoint 5.8) should make text equivalents available to assistive technologies for rendering as synthesized speech or Braille. Refer also to checkpoint 5.5.
Techniques for checkpoint 1.5

Guideline 2. Ensure user access to all content.

Ensure that users have access to all content, notably author-specified equivalent alternatives for content such as text equivalents and auditory descriptions.

Just as people use a variety of devices for user interface input and output, they require that content be available in different modes -- auditory (synthesized and prerecorded), tactile (Braille), graphical, or a mix of some of these. Authors and user agents share responsibility for ensuring redundant modes. Web content providers specify equivalent alternatives for content, such as text equivalents for images or video, according to the conventions of the markup language they are using (refer to the Techniques document [UAAG10-TECHS] for details). User agents must ensure that users have access to this content, as well as any alternatives generated by the user agent itself. User agents should allow users to specify whether primary content should be rendered, equivalent alternatives should be rendered, or both.

Ensuring access to equivalent alternatives benefits all users since some users may not have access to some content due to a technological limitation (e.g., their mobile browser cannot display graphics) or simply a configuration preference (e.g., they have a slow Internet connection and prefer not to download images).

Checkpoints for content accessibility:

2.1 Make all content available through the user interface. [Priority 1]
Note: Users must have access to the entire document object through the user interface, including equivalent alternatives for content, attributes, style sheets, etc. This checkpoint does not require that all content be available in every viewport. A document source view is part of a solution for providing access to content, but is not a sufficient solution on its own. Refer to guideline 5 for more information about programmatic access to content.
Techniques for checkpoint 2.1
2.2 For a presentation that requires user input within a specified time interval, allow the user to configure the user agent to pause the presentation automatically and await user input before proceeding. [Priority 1]
Techniques for checkpoint 2.2
2.3 If content available in a viewport has equivalent alternatives, provide easy access in context to the alternatives. [Priority 1]
Note: For example, if an image in an HTML document has text equivalents, provide access to them by rendering them nearby, allowing the user to configure the user agent to render them in place of the image, or allowing the user to follow a readily available link to them.
Techniques for checkpoint 2.3
2.4 Allow the user to specify that text transcripts, collated text transcripts, captions, and auditory descriptions be rendered at the same time as the associated auditory and visual tracks. Respect author-specified synchronization cues during rendering. [Priority 1]
Techniques for checkpoint 2.4
2.5 For non-text content that has no recognized text equivalent, generate a text equivalent from other author-supplied content. If the non-text content is included by URI reference, base the text equivalent on the URI reference and the content type of the resource. [Priority 2]
Refer also to checkpoint 2.6.
Techniques for checkpoint 2.5
2.6 When the author has specified an empty text equivalent for non-text content, do not generate one. [Priority 3]
Note: Authors may provide an empty text equivalent (e.g., alt="") when one is required by specification, but the non-text content has no other function than pure decoration. Please refer to the Web Content Accessibility Guidelines 1.0 [WCAG10] for more details. Refer also to checkpoint 2.5.
Techniques for checkpoint 2.6
2.7 For author-identified but unsupported natural languages, allow the user to configure the user agent to identify those language changes in content. [Priority 3]
Techniques for checkpoint 2.7

Guideline 3. Allow the user to turn off rendering or stop behavior that may reduce accessibility.

Ensure that the user may turn off rendering or stop behavior specified by the author that may reduce accessibility by obscuring content or disorienting the user.

Some content or behavior specified by the author may make the user agent unusable or may obscure information. For instance, flashing content may trigger seizures in people with photosensitive epilepsy, or may make a Web page too distracting to be usable by someone with a cognitive disability. Blinking can affect screen reader users, since screen readers (in conjunction with speech synthesizers or Braille displays) may repeat the text every time it blinks. Distracting background images, colors, or sounds make make it impossible for users to see or hear other content.

Dynamically changing Web content may cause problems for some assistive technologies. Scripts that cause unanticipated changes (viewports that open, automatically redirected or refreshed pages, etc.) may disorient some users with cognitive disabilities.

Users may need to turn off these effects in order to have access to content. A user agent must provide on/off control even when it hands off content (e.g., a sound file) to the operating system or to a helper application for rendering; the user agent is aware of the content type and thus can choose not to render it. Please also refer to guideline 4 and guideline 10.

Checkpoints for content accessibility:

3.1 Allow the user to configure the user agent to not render background images. [Priority 1]
Note: Background images may make it difficult or impossible to read superimposed text. When background images are not rendered, user agents should render a solid background color. Refer also to checkpoint 4.3 and checkpoint 4.4.
Techniques for checkpoint 3.1
3.2 Allow the user to configure the user agent to not render video. [Priority 1]
Note: This checkpoint is an important special case of checkpoint 4.6.
Techniques for checkpoint 3.2
3.3 Allow the user to configure the user agent to render animated or blinking text as motionless text. [Priority 1]
Techniques for checkpoint 3.3
3.4 Allow the user to configure the user agent to render animations or blinking images as motionless images. [Priority 1]
Techniques for checkpoint 3.4
3.5 Allow the user to configure the user agent to not execute scripts and applets. [Priority 1]
Note: This is particularly important for scripts that cause the screen to flicker, since people with photosensitive epilepsy can have seizures triggered by flickering or flashing, particularly in the 4 to 59 flashes per second (Hertz) range.
Techniques for checkpoint 3.5
3.6 Allow configuration so that author-specified "client-side redirects" (i.e., those initiated by the user agent, not the server) do not change content automatically. Allow the user to access the new content manually (e.g., by following a link). [Priority 2]
Techniques for checkpoint 3.6
3.7 Allow configuration so that author-specified content refreshes do not change content automatically. Allow the user to access the new content manually (e.g., by activating a button or following a link). Advise the user to refresh content according to the same schedule as the automatic refresh, and indicate when the user has not yet refreshed content. [Priority 2]
Techniques for checkpoint 3.7
3.8 Allow the user to configure the user agent to not render images. [Priority 2]
Techniques for checkpoint 3.8

Guideline 4. Ensure user control of styles.

Ensure that the user can select preferred styles (colors, text size, synthesized speech characteristics, etc.) from choices offered by the user agent. The user must be able to override author-specified styles and user agent default styles.

Providing access to content (refer to guideline 2) includes enabling users to configure its presentation. Users with low vision may require larger text than the default size specified by the author or the user agent. Users with color blindness may need to impose or prevent certain color combinations. Users with physical or cognitive disabilities may need to configure the rate of a multimedia presentation.

For dynamic presentations such as synchronized multimedia presentations created with SMIL 1.0 [SMIL], users with cognitive, hearing, visual, and physical disabilities may not be able to interact with a presentation within the time delays assumed by the author. To make the presentation accessible to these users, user agents rendering synchronized multimedia presentations or auditory presentations must provide access to content in a time-independent manner and/or allow users to adjust the playback rate of the presentation.

User agents must also allow users to configure the style of the user interface elements, such as styles for selection and content focus (e.g., to ensure adequate color contrast).

For more information about configuration, refer to guideline 10.

Note: The checkpoints in this guideline apply to all content, including equivalent alternatives.

Checkpoints for fonts and colors:

4.1 Allow the user to configure and control the size of text. If this is done by allowing the user to configure font size, make available the range of system font sizes. [Priority 1]
For example, allow the user to specify a font size directly through the user agent user interface or in a user style sheet. Or, allow the user to zoom or magnify content.
Techniques for checkpoint 4.1
4.2 Allow the user to configure font family. Allowing the user to select from among the range of system font families. [Priority 1]
Techniques for checkpoint 4.2
4.3 Allow the user to configure foreground color. Make available the range of system colors. [Priority 1]
Techniques for checkpoint 4.3
4.4 Allow the user to configure background color. Make available the range of system colors. [Priority 1]
Techniques for checkpoint 4.4

Checkpoints for visual and auditory presentations:

4.5 Allow the user to slow the presentation rate of audio, video, and animations. For a visual track, provide at least one setting between 40% and 60% of the original speed. For a pre-recorded auditory track including stand-alone audio presentations, provide at least one setting between 75% - 80% of the original speed. For a synchronized multimedia presentation where the visual track may be slowed from 100% to to 80% of its original speed, synchronize the visual and auditory tracks. Below 80%, the user agent is not required to render the auditory track. [Priority 1]
Refer also to checkpoint 2.4.
Techniques for checkpoint 4.5
4.6 Allow the user to start, stop, pause, resume, advance, and rewind audio, video, and animations. [Priority 1]
Techniques for checkpoint 4.6
4.7 Allow the user to position text transcripts, collated text transcripts, and captions on graphical displays. The range of available positions must be the same range available to the author according to specification. [Priority 1]
Techniques for checkpoint 4.7

Checkpoints for audio volume control:

4.8 Allow the user to configure and control the global audio volume. The user must be able to choose zero volume (i.e., silent). [Priority 1]
Note: User agents should allow global control of volume through available system-level controls.
Techniques for checkpoint 4.8
4.9 Allow the user to control independently the volumes of audio sources recognized as distinct. [Priority 1]
Techniques for checkpoint 4.9

Checkpoints for synthesized speech:

4.10 Allow the user to configure and control synthesized speech playback rate according to the full range offered by the speech synthesizer. The lower bound for this range must be at most 120 words per minute. The upper bound for this range must be at least 400 words per minute. The user must be able to increate or decrease the playback rate in increments of 10 (or fewer) words per minute. [Priority 1]
Techniques for checkpoint 4.10
4.11 Allow the user to configure synthesized voice gender, pitch, pitch range, stress, and richness according to the full range of values offered by the speech synthesizer. [Priority 2]
Note: This list of voice characteristic properties is based on the list in section 19.8 of Cascading Style Sheets Level 2 [CSS2]. Ranges of values for these properties may vary among speech synthesizers.
Techniques for checkpoint 4.11

Checkpoints for user interface accessibility:

4.12 Allow the user to select from available author and user style sheets or to ignore them. [Priority 1]
Note: By definition, the user agent's default style sheet is always present, but may be overridden by author or user styles.
Techniques for checkpoint 4.12
4.13 Allow the user to configure how the selection is highlighted (e.g., foreground and background color). [Priority 1]
Techniques for checkpoint 4.13
4.14 Allow the user to configure how the content focus is highlighted (e.g., foreground and background color). [Priority 1]
Techniques for checkpoint 4.14
4.15 Allow the user to configure whether the current focus moves automatically to a viewport that opens without an explicit request from the user. [Priority 2]
Techniques for checkpoint 4.15
4.16 Allow the user to configure the user agent so that after one viewport is open, no other viewports open except as the result of explicit user request. [Priority 2]
Note: Some users may become disoriented when there are too many open viewports. In addition to configuration, user agents should allow the user to control the number of open viewports by selecting and closing them. Following an author-specified link that opens a new viewport does not constitute an explicit request from the user. Refer also to checkpoint 4.15, checkpoint 5.5, and checkpoint 9.3.
Techniques for checkpoint 4.16

Guideline 5. Observe system conventions and standard interfaces.

Communicate with other software (e.g., assistive technologies, the operating system, plug-ins) through applicable interfaces. Observe system and programming language conventions for the user agent user interface, documentation, installation, etc.

Part of user agent accessibility involves communication within the user's "accessibility environment." This includes:

Using interoperable APIs and following system conventions increases predictability for users and for developers of assistive technologies.

Checkpoints for communication with other software:

5.1 Provide programmatic read access to HTML and XML content by conforming to the W3C Document Object Model (DOM) Level 2 Core and HTML modules and exporting the interfaces they define. [Priority 1]
Note: These modules are defined in DOM Level 2 [DOM2], chapters 1 and 2. Please refer to that specification for information about which versions of HTML and XML are supported and for the definition of a "read-only" DOM. This checkpoint is an important special case of checkpoint 2.1. For content other than HTML and XML, refer to checkpoint 5.3.
Techniques for checkpoint 5.1
5.2 If the user can modify HTML and XML content through the user interface, provide the same functionality programmatically by conforming to the W3C Document Object Model (DOM) Level 2 Core and HTML modules and exporting the interfaces they define. [Priority 1]
Note: For example, if the user interface allows users to complete HTML forms, this must also be possible through the DOM APIs. These modules are defined in DOM Level 2 [DOM2], chapters 1 and 2. Please refer to DOM Level 2 [DOM2] for information about which versions of HTML and XML are supported. This checkpoint is an important special case of checkpoint 2.1. For markup languages other than HTML and XML, refer to checkpoint 5.3.
Techniques for checkpoint 5.2
5.3 For markup languages other than HTML and XML, provide programmatic access to content using standard APIs (e.g., platform-independent APIs and standard APIs for the operating system). [Priority 1]
Note: This checkpoint addresses content not covered by checkpoints checkpoint 5.1 and checkpoint 5.2. This checkpoint is an important special case of checkpoint 2.1.
Techniques for checkpoint 5.3
5.4 Provide programmatic read and write access to user agent user interface controls using standard APIs (e.g., platform-independent APIs such as the W3C DOM, standard APIs for the operating system, and conventions for programming languages, plug-ins, virtual machine environments, etc.) [Priority 1]
Note: For example, provide access to information about the user agent's current input configuration so that assistive technologies can trigger functionalities through keyboard events, mouse events, etc.
Techniques for checkpoint 5.4
5.5 Using standard APIs, provide programmatic notification of changes to content and user interface controls (including selection, content focus, and user interface focus). [Priority 1]
Note: Use the standard APIs required by guideline 5.
Techniques for checkpoint 5.5
5.6 Ensure that programmatic exchanges proceed in a timely manner. [Priority 2]
Note: For example, the programmatic exchange of information required by other checkpoints in this document must 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. The techniques for this checkpoint explain how developers can reduce communication delays, e.g., to ensure that assistive technologies have timely access to the document object model and other information needed for accessibility.
Techniques for checkpoint 5.6
5.7 Provide programmatic access to Cascading Style Sheets (CSS) by conforming to the W3C Document Object Model (DOM) Level 2 CSS module and exporting the interfaces it defines. [Priority 3]
Note: This module is defined in DOM Level 2 [DOM2], chapter 5. Please refer to that specification for information about which versions of CSS are supported. This checkpoint is an important special case of checkpoint 2.1.
Techniques for checkpoint 5.7

Checkpoints for user interface accessibility:

5.8 Follow operating system conventions that benefit accessibility. In particular, follow conventions for user interface design, keyboard configuration, product installation, and documentation. [Priority 2]
Note: Operating system conventions that benefit accessibility are those described in this document and in platform-specific accessibility guidelines. Some of these conventions (e.g., sticky keys, mouse keys, show sounds, etc.) are discussed in the Techniques document [UAAG10-TECHS]. Refer also to checkpoint 10.2.
Techniques for checkpoint 5.8

Guideline 6. Implement accessible specifications.

Support the accessibility features of all implemented specifications. Implement W3C Recommendations when available and appropriate for a task.

Developers should implement open and accessible specifications. Conformance to open specifications promotes interoperability and accessibility by making it easier to design assistive technologies (also discussed in guideline 5).

While developers should implement the accessibility features of any specification, this document promotes W3C specifications for several reasons:

Checkpoints for content accessibility:

6.1 Implement the accessibility features of all supported specifications (markup languages, style sheet languages, metadata languages, graphics formats, etc.). [Priority 1]
Note: This checkpoint applies to all specifications, not just W3C specifications. The Techniques document [UAAG10-TECHS] provides information about the accessibility features of some specifications, including W3C specifications.
Techniques for checkpoint 6.1
6.2 Use and conform to W3C Recommendations when they are available and appropriate for a task. [Priority 2]
Note: For instance, for markup, implement HTML 4.01 [HTML4], XHTML 1.0 [XHTML10], or XML 1.0 [XML]. For style sheets, implement CSS ([CSS1], [CSS2]). For mathematics, implement MathML [MATHML]. For synchronized multimedia, implement SMIL 1.0 [SMIL]. For information about programmatic access to HTML and XML content, refer to guideline 5.
Note: For reasons of backward compatibility, user agents should continue to implement deprecated features of specifications. The current guidelines refer to some deprecated language features that do not necessarily promote accessibility but are widely deployed. Information about deprecated language features is generally part of the language's specification.
Techniques for checkpoint 6.2

Guideline 7. Provide navigation mechanisms.

Provide access to content through a variety of navigation mechanisms: direct navigation, sequential navigation, searches, structured navigation, etc.

Users should be able to navigate to important pieces of content within a configurable view, identify the type of object they have navigated to, interact with that object easily (if it is an active element), and recall the surrounding context (to orient themselves). Providing a variety of navigation mechanisms helps users with disabilities (and all users) access content more quickly. Content navigation is particularly important to users who access content serially (e.g., as synthesized speech or Braille).

Sequential navigation (e.g., line scrolling, page scrolling, sequential navigation through active elements, etc.) means advancing (or rewinding) through rendered content in well-defined steps (line by line, screen by screen, link by link, etc.). Sequential navigation can provide context, but can be time-consuming. Sequential navigation is important to users who cannot scan a page visually for context and benefits all users unfamiliar with a page. Sequential access may be based on element type (e.g., links only), content structure (e.g., navigation from heading to heading), or other criteria.

Direct navigation (go to a particular link or paragraph, search for instances of a string, etc.) is faster than sequential navigation, but generally requires familiarity with the content. Direct navigation is important to users with some physical disabilities (who may have little or no manual dexterity and/or increased tendency to push unwanted buttons or keys) and benefits all "power users." Selecting text or structured content with the pointing device is another form of direct navigation. Searching on text is one important variant of direct navigation.

Structured navigation mechanisms such as navigation of headings, tables, lists, etc., offer both context and speed. Structured access. For information about programmatic access to document structure, refer to guideline 5.

User agents should allow users to configure navigation mechanisms (e.g., to allow navigation of links only, or links and headings, or tables and forms, etc.). For more information about configuration, refer to guideline 10.

Checkpoints for user interface accessibility:

7.1 Allow the user to navigate among all viewports (including frames). [Priority 1]
Note: For example, when all frames of a frameset are displayed side-by-side, allow the user to navigate among them with the keyboard. Or, when frames are accessed or viewed one at a time (e.g., by a text browser or speech synthesizer), provide a list of links to other frames. Navigation among all viewports implies at least allowing the user to cycle through all viewports. Navigating into a viewport makes it the current viewport.
Techniques for checkpoint 7.1
7.2 For user agents that offer a browsing history mechanism, when the user returns to a previous viewport, restore the point of regard in the viewport. [Priority 1]
Note: For example, when the user navigates from one viewport to another (per checkpoint 7.1) and back, the point of regard should be restored.
Techniques for checkpoint 7.2
7.3 Allow the user to navigate all active elements. If the author has not specified a navigation order, allow at least forward sequential navigation of elements, in document order. [Priority 1]
Note: Navigation may include non-active elements in addition to active elements. This checkpoint is an important special case of checkpoint 7.6.
Techniques for checkpoint 7.3
7.4 Allow the user to choose to navigate only active elements. If the author has not specified a navigation order, allow at least forward and reverse sequential navigation of active elements, in document order. [Priority 2]
Techniques for checkpoint 7.4
7.5 Allow the user to search for rendered text content, including rendered text equivalents. Allow forward and reverse searches with a case-insensitivity option. [Priority 2]
Note: Use operating system conventions for marking the result of a search (e.g., selection or content focus).
Techniques for checkpoint 7.5
7.6 Allow the user to navigate efficiently to and among important structural elements identified by the author. For markup languages with known semantics, allow forward sequential navigation to important structural elements. For other markup languages, allow at least forward sequential navigation of the document object, in document order. [Priority 2]
Note: Structured navigation of headings, tables, forms, lists, etc., is most effective when available in conjunction with a configurable view (checkpoint 8.4 and checkpoint 8.5). User agents should follow operating system conventions for indicating navigation progress (e.g., selection or content focus).
Techniques for checkpoint 7.6
7.7 Allow the user to configure and control the set of elements navigable according to checkpoint 7.6 by allowing inclusion and exclusion of element types in the navigation sequence. [Priority 3]
Note: For example, allow the user to navigate only paragraphs, or only headings and paragraphs, etc.
Techniques for checkpoint 7.7

Guideline 8. Orient the user.

Provide information that will help the user understand browsing context.

All users require clues to help them understand their "location" when browsing. Some mechanisms that provide such clues include:

Orientation mechanisms such as these are especially important to users who view content serially, (e.g., when rendered as speech or Braille). For instance, these users cannot "scan" a graphically displayed table with their eyes for information about a table cell's headers, neighboring cells, etc. User agents must provide other means for users to understand table cell relationships, frame relationships (what relationship does the graphical layout convey?), form context (have I filled out the form completely?), link information (have I already visited this link?), etc.

User agents must make orientation information available in an output device independent manner. Refer also to guideline 1.

Checkpoints for content accessibility:

8.1 Make available to the user the author-specified purpose of each table and the relationships among the table cells and headers. [Priority 1]
Note: For example, provide information about table headers, how headers relate to cells, table summary information, cell position information, table dimensions, etc. Graphical user agents may satisfy this checkpoint by rendering a table as a two dimensional grid and by ensuring that users can find headers associated with cells. Refer also to checkpoint 5.3. Note: This checkpoint is an important special case of checkpoint 2.1.
Techniques for checkpoint 8.1
8.2 Indicate to the user, by at least one technique other than distinguishing colors, whether a link has been visited. [Priority 2]
Note: Do not use color as the only distinguishing factor between visited and unvisited links as some users may not perceive colors and some devices may not render them. This checkpoint is an important special case of checkpoint 8.6.
Techniques for checkpoint 8.2
8.3 Indicate to the user, by at least one technique other than distinguishing colors, whether a link has been marked up to indicate that following it will involve a fee. [Priority 2]
Note: This checkpoint is an important special case of checkpoint 8.6. The W3C specification "Common Markup for micropayment per-fee-links" [MICROPAYMENT] describes how authors may mark up micropayment information in an interoperable manner.
Techniques for checkpoint 8.3
8.4 Make available to the user an "outline" view of content, composed of text labels for important structural elements (e.g., heading text, table titles, form titles, etc.). The set of important structural elements is the same required by checkpoint 7.6. [Priority 2]
Note: This checkpoint is meant to allow the user to simplify the view of content by hiding some content selectively. For example, for each frame in a frameset, provide a table of contents composed of headings (e.g., the H1 - H6 elements in HTML) where each entry in the table of contents links to the heading in the document. This checkpoint does not require that the outline view be navigable, but this is recommended; refer to checkpoint 7.6. For those elements that do not have associated text titles or labels, the user agent should use generate a brief text label (e.g., from content, the element type, etc.).
Techniques for checkpoint 8.4
8.5 Allow the user to configure and control the outline view of checkpoint 8.4 to include and exclude element types. [Priority 3]
Note: For example, allow the user to configure the level of detail of the outline. Refer also to checkpoint 8.4 and checkpoint 5.4.
Techniques for checkpoint 8.5
8.6 To help the user decide whether to follow a link, make available to the user the following information: link content, link title, whether the link is internal, whether the link has been followed, whether following it may involve a fee, and information about the type, size, and natural language of the linked resource. [Priority 3]
Note: User agents are not required to retrieve the resource designated by a link as part of computing information about the link.
Techniques for checkpoint 8.6
8.7 Allow the user to configure and control which link information required by checkpoint 8.6 to present. [Priority 3]
Note: Refer also to checkpoint 8.6.
Techniques for checkpoint 8.7

Checkpoints for user interface accessibility:

8.8 Implement selection, content focus, and user interface focus mechanisms. Implement them according to system conventions per checkpoint 5.8. [Priority 1]
Note: Refer also to checkpoint 7.1.
Techniques for checkpoint 8.8
8.9 Provide a mechanism for highlighting and identifying (through a standard interface where available) the current viewport, selection, and content focus. [Priority 1]
Note: This includes highlighting and identifying frames. This checkpoint is an important special case of checkpoint 1.1. Refer also to checkpoint 8.6.
Techniques for checkpoint 8.9
8.10 Provide a mechanism for highlighting and identifying active elements. [Priority 2]
Note: On most systems, the focus is used to identify and highlight active elements.
Techniques for checkpoint 8.10

Guideline 9. Notify the user of content and viewport changes.

Alert users, in an output device independent fashion, of changes to content or viewports.

For people with visual disabilities or certain types of learning disabilities, it is important that the point of regard remain as stable as possible. Unexpected changes may cause users to lose track of how many viewports are open, which is the current viewport, etc. User agents should notify the user of content and viewport changes caused by scripts, or allow users to turn off scripts entirely (refer to checkpoint 3.5).

Refer to checkpoint 5.5 for requirements about notification of user interface changes through an API.

Checkpoints for user interface accessibility:

9.1 Ensure that when the selection or content focus changes, it is in a viewport after the change. [Priority 2]
Note: For example, if users navigating links move to a portion of the document outside the viewport, the viewport should scroll to include the new location of the focus.
Techniques for checkpoint 9.1
9.2 Allow configuration so the user is prompted to confirm any form submission not caused by explicit activation of a form submit control. [Priority 2]
Note: For example, do not submit a form automatically when a menu option is selected, when all fields of a form have been filled out, or when a mouseover event occurs.
Techniques for checkpoint 9.2
9.3 Allow the user to configure notification preferences for common types of content and viewport changes. [Priority 3]
Note: For example, allow the user to choose to be n