W3C

Techniques for User Agent Accessibility Guidelines 1.0

W3C Working Draft 13 January 2001

This version:
http://www.w3.org/WAI/UA/WD-UAAG10-TECHS-20010113
(plain text, gzip PostScript, gzip PDF, gzip tar file of HTML, zip archive of HTML)
Latest version:
http://www.w3.org/WAI/UA/UAAG10-TECHS
Previous version:
http://www.w3.org/WAI/UA/WD-UAAG10-TECHS-20001229
Editors:
Ian Jacobs, W3C
Jon Gunderson, University of Illinois at Urbana-Champaign
Eric Hansen, Educational Testing Service
Authors and Contributors:
See acknowledgements.

Abstract

This document provides techniques for satisfying the checkpoints defined in "Techniques for User Agent Accessibility Guidelines 1.0" [UAAG10]. These techniques cover the accessibility of user interfaces, content rendering, application programming interfaces (APIs), and languages such as the Hypertext Markup Language (HTML), Cascading Style Sheets (CSS) and the Synchronized Multimedia Integration Language (SMIL).

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 is the 13 January 2001 Working Draft of Techniques for User Agent Accessibility Guidelines 1.0, for review by W3C Members and other interested parties. It is a draft document and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to use W3C Working Drafts as reference material or to cite them as other than "work in progress". This is work in progress and does not imply endorsement by, or the consensus of, either W3C or participants in the User Agent Accessibility Guidelines Working Group (UAWG).

While Techniques for User Agent Accessibility Guidelines 1.0 strives to be a stable document (as a W3C Recommendation), the current document is expected to evolve as technologies change and content developers discover more effective techniques for designing accessible Web sites and pages.

Please send comments about this document, including suggestions for additional techniques, to the public mailing list w3c-wai-ua@w3.org; public archives are available.

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 Accessibility Guidelines Working Group are described in the charter.

A list of current W3C Recommendations and other technical documents can be found at the W3C Web site.

Table of contents

Note: With a user agent that implements HTML 4 [HTML4] access keys, readers may navigate directly to the table of contents via the "c" character. Users may have to use additional keyboard strokes depending on their operating environment.

Related resources

"Techniques for User Agent Accessibility Guidelines 1.0" and the "User Agent Accessibility Guidelines 1.0" [UAAG10] are part of a series of accessibility guidelines published by the Web Accessibility Initiative (WAI). These documents explain the responsibilities of user agent developers in making the Web accessibility to users with disabilities. The series also includes the "Web Content Accessibility Guidelines 1.0" [WCAG10] (and techniques [WCAG10-TECHS]), which explain the responsibilities of authors, and the "Authoring Tool Accessibility Guidelines 1.0" [ATAG10] (and techniques [ATAG10-TECHS]), which explain the responsibilities of authoring tool developers.


1 Introduction

This document suggests some techniques for satisfying the requirements of the "User Agent Accessibility Guidelines 1.0" [UAAG10]. The techniques listed in this document are not required for conformance to the Guidelines. These techniques are not necessarily the only way of satisfying the checkpoint, nor are they a definitive set of requirements for satisfying a checkpoint.

2 The user agent accessibility guidelines

This section lists each checkpoint of "User Agent Accessibility Guidelines 1.0" [UAAG10] along with some possible techniques for satisfying it. Each checkpoint definition includes a link to the checkpoint definition in "User Agent Accessibility Guidelines 1.0". Each checkpoint definition is followed by a list of techniques, information about related resources, and references to the accessibility topics in section 3. The accessibility topics of section 3 apply to more than one checkpoint.

Note: Most of the techniques in this document are designed for mainstream (graphical) browsers and multimedia players. However, some of them also make sense for assistive technologies and other user agents. In particular, techniques about communication between user agents will benefit assistive technologies. Refer, for example, to the appendix on loading assistive technologies for access to the document object model.

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.

Note: This information about checkpoint priorities is included for convenience only. For detailed information about conformance to "User Agent Accessibility Guidelines 1.0" [UAAG10], please refer to that document.

Guideline 1. Support input and output device-independence.

Checkpoints for user interface accessibility:

1.1 Ensure that the user can operate the user agent fully through keyboard input alone, pointing device input alone, and voice input alone. [Priority 1] (Checkpoint 1.1)
Note: For example, ensure that through all three input modalities, the user can interact with active elements, select content, navigate viewports, configure the user agent, access documentation, install the user agent, etc. A user agent may claim conformance to User Agent Accessibility Guidelines 1.0 [UAAG10] without satisfying the pointing device and voice portions of this checkpoint. See the section on input modality labels in UAAG 1.0.

Techniques:

Since the subject of a claim may be one or more software components, one could, for example, claim conformance for the following software used together:

Functionalities addressed by this checkpoint include the following:

Ensure that people with disabilities are involved in the design and testing of the software.


1.2 Ensure that the user can interact with all active elements through keyboard input alone, pointing device input alone, and voice input alone. [Priority 1] (Checkpoint 1.2)
Note: A user agent may claim conformance to User Agent Accessibility Guidelines 1.0 [UAAG10] without satisfying the pointing device and voice portions of this checkpoint. See the section on input modality labels in UAAG 1.0. This checkpoint is an important special case of checkpoint 1.1.

Techniques:


1.3 Ensure that every message (e.g., prompt, alert, notification, etc.) that is a non-text element and is part of the user agent user interface has a text equivalent. [Priority 1] (Checkpoint 1.3)
Note: For example, if the user is alerted of an event by an audio cue, a visually-rendered text equivalent in the status bar would satisfy this checkpoint. Per checkpoint 5.4, a text equivalent for each such message must be available through a standard API. See also checkpoint 5.5.

Techniques:


Guideline 2. Ensure user access to all content.

Checkpoints for content accessibility:

2.1 Make all content available through the user interface. [Priority 1] (Checkpoint 2.1)
Note: Users must have access to the entire document object through the user interface, including recognized equivalents, attributes, style sheets, etc. This checkpoint does not require that all content be available in every viewport. A document source view is an important part of a solution for providing access to content, but is not a sufficient solution on its own for all content. See guideline 5 for more information about programmatic access to content.

Techniques:


2.2 For a presentation that requires user input within a specified time interval controlled by the user agent, allow the user to configure the user agent to pause the presentation automatically and await user input before proceeding. [Priority 1] (Checkpoint 2.2)
Note: In this configuration, the user agent may have to pause the presentation more than once, depending on the number of times input is requested. In SMIL 1.0 [SMIL], for example, the "begin", "end", and "dur" attributes synchronize presentation components. This checkpoint does not apply when the user agent cannot recognize the time interval in the presentation format, or when the user agent cannot control the timing (e.g., because it is controlled by the server).

Techniques:


2.3 Provide easy access to each equivalent and each equivalency target through at least one of the following mechanisms: (1) allowing configuration to render the equivalent instead of the equivalency target; (2) allowing configuration to render the equivalent in addition to the equivalency target; (3) allowing the user to select the equivalency target and then inspect its equivalents; (4) providing a direct link to the equivalent in content, just before or after the equivalency target in document order. [Priority 1] (Checkpoint 2.3)
Note: For example, if an image in an HTML document has text equivalents, provide access to them (1) by replacing the image with the rendered equivalents, (2) by rendering the equivalents near the image, (3) by allowing the user to select the image and then inspect its equivalents, or (4) by allowing the user to follow readily available links to the equivalents.

Techniques:

How the user selects preferred natural language for captions in Real Player

This image shows how users select a natural language preference in the Real Player. This setting, in conjunction with language markup in the presentation, determines what content is rendered.


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 audio and visual tracks. [Priority 1] (Checkpoint 2.4)

Techniques:


2.5 Respect author-specified synchronization cues during rendering. [Priority 1] (Checkpoint 2.5)

Techniques:


2.6 Allow configuration to generate repair text when the user agent recognizes that the author has failed to provide a required equivalent. If the content missing an equivalent is included by URI reference, base the repair text on the URI reference and content type. Otherwise, base the repair text on element type information. [Priority 2] (Checkpoint 2.6)
Note: Some markup languages (such as HTML 4 [HTML4] and SMIL 1.0 [SMIL] require the author to provide text equivalents for some content. When they don't, the user agent is required by this document to generate repair text. See also checkpoint 2.7.

Techniques:


2.7 Allow configuration so that when the author has specified an empty text equivalent for non-text content, the user agent generates no repair text or generates repair text as required by checkpoint 2.6. [Priority 3] (Checkpoint 2.7)
Note: An empty text equivalent (e.g., alt="") is considered to be a valid text equivalent in some authoring scenarios. For instance, when some non-text content has no other function than pure decoration, or an image is part of a "mosaic" of several images and doesn't make sense out of the mosaic. Please refer to the Web Content Accessibility Guidelines 1.0 [WCAG10] for more information about text equivalents. See also checkpoint 2.6.

Techniques:


2.8 Allow the user to configure the user agent not to render content in unsupported natural languages. Indicate to the user in context that author-supplied content has not been rendered. [Priority 3] (Checkpoint 2.8)
Note: For example, use a text substitute or accessible graphical icon to indicate that content in a particular language has not been rendered. This checkpoint does not require the user agent to allow different configurations for different natural languages.

Techniques:


Guideline 3. Allow configuration not to render some content that may reduce accessibility.

In addition to the techniques below, refer also to the section on user control of style.

Checkpoints for content accessibility:

3.1 Allow the user to configure the user agent not to render background images. In this configuration, provide an option to alert the user when a background image is available (but has not been rendered). [Priority 1] (Checkpoint 3.1)
Note: This checkpoint only requires control of background images for "two-layered renderings", i.e., one rendered background image with all other content rendered "above it". When background images are not rendered, user agents should render a solid background color (see checkpoint 4.3). In this configuration, the user agent is not required to retrieve background images from the Web.

Techniques:


3.2 Allow the user to configure the user agent not to render audio, video, or animated images except on explicit request from the user. In this configuration, provide an option to render a placeholder in context for each unrendered source of audio, video, or animated image. When placeholders are rendered, allow the user to activate each placeholder individually and replace it with the original author-supplied content. [Priority 1] (Checkpoint 3.2)
Note: This checkpoint requires configuration for content rendered without any user interaction (including content rendered on load or as the result of a script) as well as content rendered as the result of user interaction that is not an explicit request (e.g., when the user activates a link). Activation of a placeholder is considered an explicit user request to render the original content. When configured not to render content except on explicit user request, the user agent is not required to retrieve the audio, video, or animated image from the Web until requested by the user. See also checkpoint 4.5, checkpoint 4.9 and checkpoint 4.10.

Techniques:


3.3 Allow the user to configure the user agent to render animated or blinking text as motionless, unblinking text. [Priority 1] (Checkpoint 3.3)
Note: This checkpoint does not apply for blinking and animation effects that are caused by mechanisms that the user agent cannot recognize.

Techniques:


3.4 Allow the user to configure the user agent to render blinking images as motionless, unblinking images. [Priority 1] (Checkpoint 3.4)

Techniques:


3.5 Allow the user to configure the user agent not to execute any scripts or applets. In this configuration, provide an option to alert the user when scripts or applets are available (but have not been executed). [Priority 1] (Checkpoint 3.5)

Techniques:


3.6 Allow configuration so that an author-specified "client-side redirect" (i.e., one initiated by the user agent, not the server) does not change content except on explicit user request. Allow the user to access the new content on demand (e.g., by following a link or confirming a prompt). The user agent is not required to provide these functionalities for client-side redirects that occur instantaneously (i.e., when there is no delay before the new content is retrieved). [Priority 2] (Checkpoint 3.6)

Techniques:


3.7 Allow configuration so that author-specified content refreshes do not change content except on explicit user request. Allow the user to request the new content on demand (e.g., by following a link or confirming a prompt). Alert the user, according to the schedule specified by the author, whenever fresh content is available (to be obtained on explicit user request). [Priority 2] (Checkpoint 3.7)

Techniques:


3.8 Allow the user to configure the user agent not to render images. In this configuration, provide an option to render a placeholder in context for each unrendered image. When placeholders are rendered, allow the user to activate each placeholder individually and replace it with the original author-supplied content. [Priority 2] (Checkpoint 3.8)

Techniques:


Guideline 4. Ensure user control of styles.

In addition to the techniques below, refer also to the section on user control of style.

Checkpoints for visually rendered text (content accessibility):

4.1 Allow the user to configure globally and control the reference size of rendered text, with an option to override reference sizes specified by the author or user agent defaults. Allow the user to choose from among the full range of font sizes supported by the system. [Priority 1] (Checkpoint 4.1)
Note: The reference size of rendered text corresponds to the default value of the CSS2 'font-size' property, which is 'medium' (refer to CSS2 [CSS2], section 15.2.4). The default reference size of rendered text may vary among user agents. User agents may offer different mechanisms to allow the user to control the size of rendered text, for example by allowing the user to change the font size or by allowing the user to zoom or magnify content (refer, for example to the Scalable Vector Graphics specification [SVG]).

Techniques:


4.2 Allow the user to configure globally the font family of all rendered text, with an option to override font families specified by the author or user agent defaults. Allow the user to choose from among the full range of font families supported by the system. [Priority 1] (Checkpoint 4.2)
Note: For example, allow the user to specify that all text must be rendered in a particular sans-serif font family. For text that cannot be rendered properly using the user's selected font family, the user agent may select an alternative font family.

Techniques:


4.3 Allow the user to configure globally the foreground and background color of all rendered text, with an option to override foreground and background colors specified by the author or user agent defaults. Allow the user to choose from among the full range of colors supported by the system. [Priority 1] (Checkpoint 4.3)
Note: User configuration of foreground and background colors may result in the inability to distinguish ordinary text from selected text, focused text, etc. See checkpoint 8.2 for more information about highlight styles.

Techniques:


Checkpoints for multimedia presentations and other presentations that change continuously over time (content accessibility):

4.4 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 prerecorded audio track including audio-only presentations, provide at least one setting between 75% and 80% of the original speed. When the user agent allows the user to slow the visual track of a synchronized multimedia presentation to between 100% and 80% of its original speed, synchronize the visual and audio tracks. Below 80%, the user agent is not required to render the audio track. The user agent is not required to satisfy this checkpoint for audio, video and animations whose recognized role is to create a purely stylistic effect. [Priority 1] (Checkpoint 4.4)
Note: Purely stylistic effects include background sounds, decorative animated images, and effects caused by style sheets. The style exception of this checkpoint is based on the assumption that authors have satisfied the requirements of the "Web Content Accessibility Guidelines 1.0" [WCAG10] not to convey information through style alone (e.g., through color alone or style sheets alone). See also checkpoint 4.7.
See also checkpoint 2.5.

Techniques:


4.5 Allow the user to stop, pause, resume, fast advance, and fast reverse audio, video, and animations that last three or more seconds at their default playback rate. The user agent is not required to satisfy this checkpoint for audio, video and animations whose recognized role is to create a purely stylistic effect. [Priority 1] (Checkpoint 4.5)
Note: See checkpoint 4.4 for more information about the exception for purely stylistic effects. This checkpoint applies to content that is rendered automatically or on request from the user. Enable control of each independent source recognized as distinct. Respect synchronization cues per checkpoint 2.5. See also checkpoint 3.2.

Techniques:


4.6 For graphical viewports, allow the user to position text transcripts, collated text transcripts, and captions in the viewport. Allow the user to choose from among the same range of positions available to the author (e.g., the range of positions allowed by the markup or style language). [Priority 1] (Checkpoint 4.6)

Techniques:


4.7 Allow the user to slow the presentation rate of audio, video and animations not covered by checkpoint 4.4. The same speed percentage requirements of checkpoint 4.4 apply. [Priority 2] (Checkpoint 4.7)
Note: User agents automatically satisfy this checkpoint if they satisfy checkpoint 4.4 for every audio, video, and animation.

Techniques:

See the techniques for checkpoint 4.4.

4.8 Allow the user to stop, pause, resume, fast advance, and fast reverse audio, video, and animations not covered by checkpoint 4.5. [Priority 2] (Checkpoint 4.8)
Note: User agents automatically satisfy this checkpoint if they satisfy checkpoint 4.5 for every audio, video, and animation.

Techniques:

See the techniques for checkpoint 4.5.

Checkpoints for audio volume control (content accessibility):

4.9 Allow the user to configure globally and control the volume of all audio, with an option to override audio volumes specified by the author or user agent defaults. The user must be able to choose zero volume (i.e., silent). [Priority 1] (Checkpoint 4.9)
Note: User agents should allow configuration and control of volume through available system-level controls.

Techniques:


4.10 Allow the user to control independently the volumes of distinct audio sources synchronized to play simultaneously. [Priority 1] (Checkpoint 4.10)
Note: Sounds that play at different times are distinguishable and therefore independent control of their volumes is not part of this checkpoint (volume control per checkpoint 4.9 suffices). The user agent may satisfy this checkpoint by allowing the user to control independently the volumes of all distinct audio sources. The user control required by this checkpoint includes the ability to override author-specified volumes for the relevant sources of audio. See also checkpoint 4.12.

Techniques:


Checkpoints for synthesized speech (content accessibility):

See also techniques for synthesized speech.

4.11 Allow the user to configure and control synthesized speech playback rate according to the full range offered by the speech synthesizer. [Priority 1] (Checkpoint 4.11)
Note: The range of playback rates offered by the speech synthesizer may depend on the natural language.

Techniques:


4.12 Allow the user to control synthesized speech volume independent of other sources of audio. [Priority 1] (Checkpoint 4.12)
Note: The user control required by this checkpoint includes the ability to override author-specified speech volume. See also checkpoint 4.10.

Techniques:


4.13 Allow the user to configure synthesized voice gender, pitch, pitch range, stress, richness, speech dictionary, and handling of spelling, punctuation, and number processing according to the full range of values offered by the speech synthesizer. [Priority 2] (Checkpoint 4.13)
Note: Many speech synthesizers allow users to choose from among preset options that control different voice parameters (gender, pitch range, stress, richness, etc.) as a group. When using these synthesizers, allow the user to choose from among the full range of preset options (e.g., "adult male voice", "female child voice", "robot voice", etc.). Ranges of values for these characteristics may vary among speech synthesizers. For information about these synthesized speech characteristics, please refer to descriptions in section 19.8 of Cascading Style Sheets Level 2 [CSS2].

Techniques:


Checkpoints for user interface accessibility:

4.14 For user agents that support style sheets, allow the user to choose from (and apply) available author and user style sheets or to ignore them. [Priority 1] (Checkpoint 4.14)
Note: By definition, the user agent's default style sheet is always present, but may be overridden by author or user styles.

Techniques:


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] (Checkpoint 4.15)

Techniques:


4.16 Ensure that when a viewport's selection or content focus changes, it is in the viewport after the change. [Priority 2] (Checkpoint 4.16)
Note: For example, if users navigating links move to a portion of the document outside a graphical viewport, the viewport should scroll to include the new location of the focus. Or, for users of audio viewports, allow configuration to render the selection or focus immediately after the change.

Techniques:


4.17 For graphical user interfaces, allow the user to configure the user agent so that the viewport with the current focus remains "on top" of all other viewports with which it overlaps. [Priority 2] (Checkpoint 4.17)

Techniques:


4.18 Allow the user to configure the user agent to only open viewports on explicit user request. In this configuration, instead of opening a viewport automatically, alert the user and allow the user to open it on demand (e.g., by following a link or confirming a prompt). Allow the user to close viewports. If a viewport (e.g., a frame set) contains other viewports, these requirements only apply to the outermost container viewport. [Priority 2] (Checkpoint 4.18)
Note: User creation of a new viewport (e.g., empty or with a new resource loaded) through the user agent's user interface constitutes an explicit user request. See also checkpoint 4.15 (for control over changes of focus when a viewport opens) and checkpoint 5.5.

Techniques:


4.19 Allow configuration so the user is prompted to confirm any viewport that closes without explicit user request. [Priority 3] (Checkpoint 4.19)

Techniques:


Guideline 5. Observe system conventions and standard interfaces.

Checkpoints for communication with other software:

5.1 Provide programmatic read access to HTML and XML content by conforming to the following modules of the W3C Document Object Model DOM Level 2 Core Specification [DOM2CORE] and exporting the interfaces they define: (1) the Core module for HTML; (2) the Core and XML modules for XML. [Priority 1] (Checkpoint 5.1)
Note: Please refer to the "Document Object Model (DOM) Level 2 Core Specification" [DOM2CORE] for information about HTML and XML versions covered.

Techniques:


5.2 If the user can modify HTML and XML content through the user interface, provide the same functionality programmatically by conforming to the following modules of the W3C Document Object Model DOM Level 2 Core Specification [DOM2CORE] and exporting the interfaces they define: (1) the Core module for HTML; (2) the Core and XML modules for XML. [Priority 1] (Checkpoint 5.2)
Note: For example, if the user interface allows users to complete HTML forms, this must also be possible through the required DOM APIs. Please refer to the "Document Object Model (DOM) Level 2 Core Specification" [DOM2CORE] for information about HTML and XML versions covered.

Techniques:

Allowing assistive technologies write access through the DOM allows them to:

The ability to write to the DOM can improve performance for the assistive technology. For example, if an assistive technology has already traversed a portion of the document object and knows that a section (e.g., a style element) could not be rendered, it can mark this section "to be skipped".

Another benefit is to add information necessary for audio rendering but that would not be stored directly in the DOM during parsing. Consider an ordered list. The Internet Explorer 5.5 [IE-WIN] document object model for HTML tells you that list elements are part of an ordered list but does not tell you each list element's number. The assistive technology can add the list element number to each list entry in its attribute list, for audio rendering. Furthermore, the assistive technology component that added the numeric information can mark that section as having been traversed and updated to prevent having to recompute and store the numeric information on the next pass through by the user.

See also techniques for checkpoint 5.1.


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] (Checkpoint 5.3)
Note: This checkpoint addresses content not covered by checkpoints checkpoint 5.1 and checkpoint 5.2.

Techniques:


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 defined for a specific operating system; and conventions for programming languages, plug-ins, virtual machine environments, etc.) [Priority 1] (Checkpoint 5.4)
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: