User Agent Accessibility Guidelines 1.0

W3C Working Draft 5-October-1999

This version:
(plain text, postscript, pdf, gzip tar file of HTML, zip archive of HTML)
Latest version:
Previous version:
Jon Gunderson <jongund@uiuc.edu>
Ian Jacobs, W3C


This document provides guidelines to user agent developers for making their products -- browsers, multimedia players, plugins -- accessible to people with disabilities. An accessible user agent allows users with disabilities to retrieve and view Web resources or to enable access when used in conjunction with other software or hardware, called assistive technologies. These guidelines discuss the accessibility of the user agent as well as communication with assistive technologies such as screen readers, screen magnifiers, braille displays, and voice input software.

An appendix to this document summarizes the requirements for accessibility and may be used by developers as a checklist for satisfying the guidelines. The checklist is available both as a tabular summary and as a simple list.

A separate document, entitled "Techniques for User Agent Accessibility Guidelines 1.0" ([UA-TECHNIQUES]), suggests techniques for satisfying each requirement. The Techniques Document has been designed to track changes in technology and implementation solutions and is expected to be updated more frequently than the current document.

"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" ([WAI-WEBCONTENT]) and "Authoring Tool Accessibility Guidelines 1.0" ([WAI-AUTOOLS]).

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 a W3C Working Draft 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 Members of the WAI User Agent (UA) Working Group.

In this version of the document, the conformance distinction between "graphical desktop user agents" and "dependent user agents" was removed. However, the Working Group has not yet decided how to modify those checkpoints that were designated "for dependent user agents only."

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

This document has been produced as part of the Web Accessibility Initiative, and is intended as a draft of a Proposed Recommendation for how to improve user agent accessibility. The goals of the WAI UA Working Group are discussed in the WAI UA charter. A list of the UA 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

The appendix list of checkpoints is available as either a tabular summary of checkpoints or as a simple list of checkpoints.

1. Introduction

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

User agents must be designed to take into account the diverse functional requirements of users with disabilities. Software that follows the guidelines in this document will not only benefit users with disabilities, it will be more flexible, manageable, and extensible. The guidelines have been chosen according to some basic principles of accessible design, presented below.

1.1 Principles of Accessible Design

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

Ensure that the user interface is accessible.

The user must have access to the functionalities offered by the user agent through its user interface. Access must be possible through all supported input and output application programming interfaces (APIs). This includes access to functionalities built into the tool (made available through menus, dialogs, toolbars and other user interface components) as well as those offered via the Web resource (made available through links, form controls, applets, and other active elements).

User agents should provide access to functionalities in different ways to meet the skills and needs of different audiences:

The general topic of user interface accessibility for computer software exceeds the scope of this document. The guidelines do discuss some important user interface topics such as device-independence, configurability, and accessible product documentation. Software developers should also remember that user interfaces must be intuitive, simple, and tested. Features that are known to promote accessibility should be made obvious to users and easy to find. The Techniques Document ([UA-TECHNIQUES]) includes some references to general software accessibility guidelines.

Ensure that the user has access to content.

User agents most 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 the chances the user will become disoriented. User agents should:

Follow system standards and conventions and use open specifications.

Following system standards and conventions promotes accessibility in a number of ways:

Communication through standard interfaces is particularly important for graphical desktop browsers, which must make information available to dependent user agents. Even when a user agent implements a feature natively, it should make relevant information available through standard interfaces. This will benefit assistive technologies, scripting tools, and automated test engines. It will also will promote modularity and software reuse.

2. How the Guidelines are Organized

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

The checkpoint definitions in each guideline explain how the guideline applies to particular user agent features or behavior. Each checkpoint definition includes:

Each checkpoint is intended to be specific enough so that someone reviewing a user agent may verify that the checkpoint has been satisfied.

2.1 Document conventions

The following editorial conventions are used throughout this document:

3. Priorities

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

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

3.1 Conformance

The terms "must", "should", and "may" (and related terms) are used in this document in accordance with RFC 2119 ([RFC2119]).

User agents must satisfy natively all the applicable checkpoints for a chosen conformance level.

Conformance levels

This section defines three levels of conformance to this document.

Note. Conformance levels are spelled out in text so they may be understood when rendered as speech.

Claims of conformance to this document must use one of the following two forms.

Form 1: Specify:

Example of Form 1:

This product conforms to W3C's "User Agent Accessibility Guidelines 1.0", available at http://www.w3.org/WAI/UA/WAI-USERAGENT-19991005, level Double-A.

Form 2: Include, on product packaging or documentation, one of three icons provided by W3C and for Web documentation, link the icon to the appropriate W3C explanation of the claim.

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

4. User Agent Accessibility Guidelines

Guideline 1. Support input and output device-independence

Next guideline: 2 | Previous guideline: 12 | Go to contents

Ensure that the user can interact with the user agent (and the content it renders) through standard input and output APIs supported by the operating system.

Since not all users make use of the same hardware for input or output, software must be designed to work with the widest possible range of devices. For instance, not all users have pointing devices, so software must not rely on them for operation. Users must be able to reach all functionalities offered by the user agent interface with all input device APIs supported by the underlying system.

The best way to make this possible is to design software that follows system conventions and uses standard APIs for user input and output. When user agents use these standard interfaces, other software can programmatically trigger mouse or keyboard events. For instance, some users who may not be able to enter text easily through a standard physical keyboard can still use voice input, an on-screen keyboard, or other special devices to operate the user agent.

Since not all users have speakers or the ability to hear, software must not rely on audio output alone for messages and alerts. Any output provided in audio should also be available through other means (e.g., visual flashes for beeps, text messages for spoken messages, etc.). Text is perhaps the most accessible output medium, since most alternative output mechanisms rely on the presence of system-drawn text on the screen.

Standard interfaces make it possible for users to use a variety of input and output devices, including pointing devices, keyboards, braille devices, head wands, microphones, touch screens, speech synthesizers, and more.

Please refer also to guideline 6, which discusses the importance to accessibility of following operating system conventions.

1.1 Ensure that all functionalities offered through the user interface may be operated through standard input device APIs supported by the operating system. [Priority 1]
Techniques for checkpoint 1.1
1.2 Ensure that the user can interact with all active elements in a device independent manner. [Priority 1]
For example, ensure that the user can activate links of a client-side image map in a device-independent manner (e.g., by making them available as text links).
Techniques for checkpoint 1.2
1.3 Ensure that the user can install the user agent software in a device independent manner. [Priority 1]
Techniques for checkpoint 1.3
1.4 Ensure that the user can configure the user agent in a device independent manner. [Priority 1]
Techniques for checkpoint 1.4
1.5 Ensure that the user can access user agent documentation in a device independent manner. [Priority 1]
Techniques for checkpoint 1.5
1.6 Ensure that all messages to the user (e.g., warnings, errors, etc.) are available through standard output device APIs supported by the operating system. [Priority 1]
For instance, ensure that information about how much of a page or video clip has been viewed is available through output device APIs. Proportional navigation bars may provide this information visually, but the information must be available to users relying on synthesized speech or braille output.
Techniques for checkpoint 1.6

Guideline 2. Ensure keyboard access to user agent functionalities

Next guideline: 3 | Previous guideline: 1 | Go to contents

Ensure that the user has access to user agent functionalities through the keyboard since keyboard access is widely supported.

Ensuring access to user agent functionality through the system's standard keyboard API (where available) is important to accessibility since keyboard access is available to many users and is widely supported. Even when a user doesn't use a physical keyboard, it is still possible to simulate keyboard events with software. This guideline is important for ensuring compatibility between graphical desktop browsers and dependent user agents.

When using a physical keyboard, some users require single-key access, others require that keys activated in combination be physically close together, while others require that they be spaced physically far apart. When allowing users to configure keyboard access to functionalities, user agents must consider system conventions, author-specified shortcuts, and user preferences. The user agent's default configuration should include shortcuts for frequently performed actions and should respect system conventions.

The more apparent the keyboard commands are to all users, the more likely it is that new users with disabilities will find them and use them. Refer also to checkpoint 9.12.

Checkpoints in this section do not apply to user agents (e.g., kiosks) that do not natively support keyboard input.

2.1 By default and without additional customization, ensure that all functionalities offered by the user agent may be operated through the standard keyboard API supported by the operating system. [Priority 1]
Note. Functionalities include being able to show, hide, resize and move graphical viewports created by the user agent.
Techniques for checkpoint 2.1
2.2 Provide documentation on default keyboard commands and include with user agent documentation and/or user help system. [Priority 1]
Refer also to guideline 12.
Techniques for checkpoint 2.2
2.3 Provide information to the user about the current keyboard configuration. [Priority 1]
Note. For example, users should be able to find information about complex key combinations. Refer also to guideline 12.
Techniques for checkpoint 2.3
2.4 Allow the user to configure the keystrokes used to activate user agent functionalities. Users should be able to configure single key activation of functionalities. [Priority 2]
Techniques for checkpoint 2.4
2.5 Allow the user to turn on and off author-specified keyboard configurations. [Priority 2]
For example, in HTML, the author may specify tabbing order with the "tabindex" attribute and keyboard bindings with the "accesskey" attribute.
Techniques for checkpoint 2.5
2.6 Use platform conventions to indicate which keys activate which user agent functionalities. [Priority 2]
For example, on some platforms, if a functionality is available from a menu, the letter of the key that will activate that functionality is underlined.
Techniques for checkpoint 2.6
2.7 Avoid default keyboard configurations that interfere with system conventions. [Priority 2]
For example, the default configuration should not include "Alt-F4" or "Control-Alt-Delete" on systems where that combination has special meaning to the operating system. In particular, default configurations should not interfere with the mobility access keyboard modifiers reserved for the operating system. Refer also to guideline 6.
Techniques for checkpoint 2.7
2.8 Provide a default keyboard configuration for frequently performed operations. [Priority 3]
Techniques for checkpoint 2.8

Guideline 3. Ensure user access to all content

Next guideline: 4 | Previous guideline: 2 | Go to contents

Ensure that users have access to all content, notably author-supplied alternative representations of content (descriptions of images, closed captions for video or audio, etc.)

Users may not be able to perceive primary content due to a disability or a technological limitation or configuration (e.g., browser configured not to display images). Markup languages may provide a number of mechanisms for specifying alternative representations of content: through attribute values, element content, or in separate resources. User agents must also take into account markup related to natural language rendering, using appropriate fonts, text directionality, and synthesized speech elements.

In dynamic presentations such as synchronized multimedia presentations created with SMIL (refer to [SMIL]), content changes over time. Users with cognitive or physical disabilities may not be able to interact with a presentation within the time frames designed by the author. To ensure that a presentation remains accessible, user agents rendering synchronized presentations must either provide access to content in a time-independent manner or allow users to control the playback rate of the presentation. For information about SMIL accessibility, please refer to [SMIL-ACCESS].

User agents should allow users to specify whether primary content should be rendered, or alternative equivalents supplied by the author, or both. For instance, users with low vision may want to view images (even imperfectly) but require alternative text for the image to be rendered in a very large size or as speech.

General checkpoints:

3.1 Ensure that the user has access to all content, including alternative representations of content. [Priority 1]
Mechanisms for specifying alternative content vary according to markup language. For instance, in HTML or SMIL, the "alt" attribute specifies alternative text for many elements. In HTML, the content of the OBJECT element is used to specify alternative content, the "summary" attribute applies to tables, etc.
Techniques for checkpoint 3.1
3.2 For dependent user agents only. Ensure that the user has access to the content of an element selected by the user. [Priority 1]
For instance, allow the user to identify a table cell with the selection and provide the user with cell content and (optionally) associated header information. Refer also to checkpoint 8.1 and checkpoint 6.2.
Techniques for checkpoint 3.2
3.3 Render content according to natural language identification. For unsupported natural languages, notify the user of language changes when configured to do so. [Priority 1]
Natural language may be identified by markup (e.g., the "lang" attribute in HTML or "xml:lang" in XML) or HTTP headers. Refer also to checkpoint 6.2.
Techniques for checkpoint 3.3
3.4 Provide time-independent access to time-dependent active elements or allow the user to control the timing of changes. [Priority 1]
Techniques for checkpoint 3.4
3.5 When no alternative text representation has been specified, indicate what type of object is present. [Priority 2]
Techniques for checkpoint 3.5
3.6 When alternative text has been specified explicitly as empty (i.e., an empty string), render nothing. [Priority 3]
Techniques for checkpoint 3.6

Checkpoints for continuous equivalent tracks (closed captions, auditory descriptions, etc.):

3.7 Allow the user to specify that continuous equivalent tracks (e.g., closed captions, auditory descriptions, video of sign language, etc.) be rendered at the same time as audio and video tracks. [Priority 1]
Techniques for checkpoint 3.7
3.8 If a technology allows for more than one continuous equivalent tracks (e.g., closed captions, auditory descriptions, video of sign language, etc.), allow the user to choose from among the tracks. [Priority 1]
Techniques for checkpoint 3.8

Checkpoints for audio:

3.9 If a technology allows for more than one audio track, allow the user to choose from among tracks. [Priority 1]
Techniques for checkpoint 3.9

Guideline 4. Allow the user to turn off features that may reduce accessibility

Next guideline: 5 | Previous guideline: 3 | Go to contents

Ensure that the user may turn off features that may obscure content or disorient the user.

Some rendering behavior may make the user agent unusable or may obscure information. For instance, people with photosensitive epilepsy must be able to turn off flashing within certain ranges, otherwise the flashing may trigger a seizure. Blinking can affect screenreader users, since screenreaders (in conjunction with speech synthesizers or braille displays) may repeat the text every time it blinks. Users who require specific color contrasts or who have low vision need to be able to turn off background images if those images interfere with their ability to read text.

Users may need to turn off author style sheets if they cannot override them with their own style preferences.

Dynamically changing web content, scripts that open windows, automatically forwarded or refreshed pages, and similar changes unanticipated by the user may disorient some users with cognitive disabilities and may cause problems for some dependent user agents.

Please also refer to guideline 5 and guideline 11.

4.1 Allow the user to turn on and off rendering of images. [Priority 1]
Techniques for checkpoint 4.1
4.2 Allow the user to turn on and off rendering of background images. [Priority 1]
Techniques for checkpoint 4.2
4.3 Allow the user to turn on and off rendering of video. [Priority 1]
Techniques for checkpoint 4.3
4.4 Allow the user to turn on and off rendering of sound. [Priority 1]
Techniques for checkpoint 4.4
4.5 Allow the user to turn on and off rendering of continuous equivalent tracks (e.g., closed captions, auditory descriptions, video of sign language, etc.) [Priority 1]
Techniques for checkpoint 4.5
4.6 Allow the user to turn on and off animated or blinking text. [Priority 1]
Techniques for checkpoint 4.6
4.7 Allow the user to turn on and off animations and blinking images. [Priority 1]
Techniques for checkpoint 4.7
4.8 Allow the user to turn on and off support for 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 in the 4 to 59 flashes per second (Hertz) range.
Note. Users should be able, for security reasons, to prevent scripts from executing on their machines.
Techniques for checkpoint 4.8
4.9 Allow the user to turn on and off support for user style sheets. [Priority 1]
Techniques for checkpoint 4.9
4.10 Allow the user to turn on and off support for author style sheets. [Priority 1]
Techniques for checkpoint 4.10
4.11 Allow the user to turn on and off support for spawned windows. [Priority 1]
Techniques for checkpoint 4.11
4.12 Allow the user to choose between a frameset or its alternative supplied by the author. [Priority 2]
Note. For example, in HTML, allow the user to choose between a frameset or a NOFRAMES alternative. The ability to control frames is important for users with screen readers and users with some cognitive impairments.
Techniques for checkpoint 4.12
4.13 Allow the user to turn on and off author-specified page forwards that occur after a time delay and without user intervention. [Priority 3]
For example, when turned off, offer a static link to the target resource instead.
Techniques for checkpoint 4.13
4.14 Allow the user to turn on and off automatic page refresh. [Priority 3]
For example, when turned off, allow the user to refresh the page manually instead (through the user interface).
Techniques for checkpoint 4.14

Guideline 5. Ensure user control over styles

Next guideline: 6 | Previous guideline: 4 | Go to contents

Ensure that the user has control over the colors, text size, speech rate and pitch, and other stylistic aspects of a resource and can override author styles and user agent default styles.

In order to access content, some users may require that it be rendered in a manner other than what the author intended. Users with visual impairments, including color blindness, may be insensitive to certain colors and may not be able to perceive author-specified or user agent default color combinations. Users with reduced visual acuity, including people who are older, may require larger text than user agent defaults or the text size specified by the author.

User agents must therefore allow the user to control:

Note. The checkpoints in this guideline apply to all content, in including alternative representations of content.

Refer also to guideline 11.

Checkpoints for fonts and colors:

5.1 Allow the user to control font family. [Priority 1]
Techniques for checkpoint 5.1
5.2 Allow the user to control the size of text. [Priority 1]
For example, allow the user to control font size through style sheets or the user interface. Or allow the user to magnify text.
Techniques for checkpoint 5.2
5.3 Allow the user to control foreground color. [Priority 1]
Techniques for checkpoint 5.3
5.4 Allow the user to control background color. [Priority 1]
Techniques for checkpoint 5.4
5.5 Allow the user to control selection highlighting (e.g., foreground and background color). [Priority 1]
Techniques for checkpoint 5.5
5.6 Allow the user to control focus highlighting (e.g., foreground and background color). [Priority 1]
Techniques for checkpoint 5.6

Checkpoints for applets and animations:

5.7 Allow the user to control animation rate. [Priority 2]
Techniques for checkpoint 5.7

Checkpoints for video.

5.8 Allow the user to control video frame rates. [Priority 1]
Techniques for checkpoint 5.8
5.9 Allow the user to control the position of audio closed captions. [Priority 1]
Techniques for checkpoint 5.9
5.10 Allow the user to start, stop, pause, and rewind video. [Priority 2]
Techniques for checkpoint 5.10

Checkpoints for audio:

5.11 Allow the user to control audio playback rate. [Priority 1]
Techniques for checkpoint 5.11
5.12 When the user agent renders audio natively, allow the user to control the audio volume. [Priority 2]
Techniques for checkpoint 5.12
5.13 Allow the user to start, stop, pause, and rewind audio. [Priority 2]
Techniques for checkpoint 5.13

Checkpoints for synthesized speech:

5.14 Allow the user to control synthesized speech playback rate. [Priority 1]
Techniques for checkpoint 5.14
5.15 Allow the user to control synthesized speech volume. [Priority 1]
Techniques for checkpoint 5.15
5.16 Allow the user to control synthesized speech pitch, gender and other articulation characteristics. [Priority 2]
Techniques for checkpoint 5.16

Checkpoints for changes to the user interface:

5.17 When new windows or user interface components are spawned, allow the user to control window size and position. [Priority 2]
Techniques for checkpoint 5.17

Guideline 6. Observe system conventions and standard interfaces

Next guideline: 7 | Previous guideline: 5 | Go to contents

Communicate with other software (dependent user agents, the operating system, plug-ins) through applicable interfaces and observe conventions for the user interface, documentation, installation, etc.

To promote interoperability, user agents should adopt operating system conventions and standard APIs for communication, user interface design, documentation, etc. Following operating system conventions and implementing standard APIs will promote predictability for users as well as dependent user agents that rely on information from other software.

Some operating systems have operating system-level flags and settings that are pertinent to accessibility, such as high-contrast colors and "show" sounds for people with hearing impairments. User agents should take these global settings into account for their own settings.

6.1 Use and provide accessible interfaces to other technologies. [Priority 1]
To promote interoperability, open standards and W3C specifications should be used wherever possible.
Techniques for checkpoint 6.1
6.2 Provide programmatic read and write access to user agent functionalities and user interface controls (including selection and focus) by using operating system and development language accessibility resources and conventions. [Priority 1]
Techniques for checkpoint 6.2
6.3 Notify dependent user agents of changes to content and user interface controls (including selection and focus) by using operating system and development language accessibility resources and conventions. [Priority 1]
Techniques for checkpoint 6.3
6.4 Comply with W3C Document Object Model specifications and export interfaces defined by those specifications. [Priority 1]
For example, refer to [DOM1]. User agents should export these interfaces using available system conventions. Note. The DOM Level 1 specification states that "DOM applications may provide additional interfaces and objects not found in this specification and still be considered DOM compliant."
Techniques for checkpoint 6.4
6.5 Provide programmatic exchange of information in a timely manner. [Priority 2]
This is important for synchronous alternative renderings and simulation of events.
Techniques for checkpoint 6.5
6.6 Follow operating system conventions and accessibility settings. In particular, follow conventions for user interface design, default keyboard configuration, product installation, and documentation. [Priority 2]
Refer also to checkpoint 2.7.
Techniques for checkpoint 6.6

Guideline 7. Support applicable W3C technologies and guidelines

Next guideline: 8 | Previous guideline: 6 | Go to contents

Support applicable W3C specifications and in particular their accessibility features.

W3C specifications promote interoperability, which improves accessibility through predictability and openness. The current guidelines also recommend support for W3C specifications (e.g., HTML, CSS, MathML, SMIL, etc.) for the following reasons:

7.1 Implement the accessibility features defined for supported specifications. [Priority 1]
Note. The Techniques Document ([UA-TECHNIQUES]) discusses accessibility features of W3C specifications.
Techniques for checkpoint 7.1
7.2 Support appropriate W3C Recommendations. [Priority 2]
For instance, for marking up Web pages, support HTML or an XML application; for style sheets, support CSS; for mathematics, support MathML; for synchronized multimedia, support SMIL, etc.
Techniques for checkpoint 7.2

Refer also to checkpoint 6.4.

Guideline 8. Provide navigation mechanisms

Next guideline: 9 | Previous guideline: 7 | Go to contents

Provide navigation mechanisms that meet the needs of different users: serial navigation for context, direct navigation for speed, search functions, structured navigation, etc.

Navigation mechanisms help all users find the information they seek. User agents should provide a variety of mechanisms - from simple scrolling through content to search mechanisms to serial ("tabbing") navigation - to meet the diverse needs of users, in particular users of devices that render content serially (e.g., synthesized speech output or single-line refreshable braille displays). So that users of serial devices are not required to view an entire page or presentation to find information, user agents should provide more direct navigation mechanisms.

Authors are encouraged to include navigation mechanisms (e.g., image maps or navigation bars) designed for their content, but user agents should provide generic mechanisms, some of which are described here:

User agents should allow users to configure navigation mechanisms (e.g., to allow navigation of links only, or links and headers, or tables and forms, etc.). Refer also to guideline 11..

Note. For all search and navigation functions, the user agent should follow system conventions for using selection and focus mechanisms. For instance, the selection should be used to identify the results of a text search, the focus should identify active elements during sequential navigation of active elements, etc.

8.1 Allow the user to navigate 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 displayed individually (e.g., by a text browser or speech synthesizer), provide a list of links to individual frames. Navigating into a viewport makes it the current viewport.
Techniques for checkpoint 8.1
8.2 For user agents that offer a browsing history mechanism, when the user returns to a previous view, restore the point of regard in the viewport. [Priority 1]
For example, when users navigate "back" and "forth" among views, for each view they should find the viewport position where they left it.
Techniques for checkpoint 8.2
8.3 For dependent user agents only. Allow the user to navigate just among table cells of a table (notably left and right within a row and up and down within a column). [Priority 1]
Refer also to checkpoint 9.4 and checkpoint 6.2.
Techniques for checkpoint 8.3
8.4 Allow the user to navigate just among all active elements. [Priority 2]
Navigation mechanisms may range from sequential (e.g., serial navigation by tabbing) to direct (e.g., by entering link text) to searching on active elements only (e.g., based on form control text, associated labels, or form control names).
Techniques for checkpoint 8.4
8.5 Allow the user to search for rendered text content, including alternative text content. [Priority 2]
Techniques for checkpoint 8.5
8.6 Allow the user to navigate according to the structure of the resource. [Priority 2]
For example, allow the user to navigate familiar elements of a document: paragraphs, tables, headers, lists, etc.
Techniques for checkpoint 8.6
8.7 Allow the user to configure structured navigation. [Priority 3]
For example, allow the user to navigate only paragraphs, or only headers and paragraphs, etc.
Techniques for checkpoint 8.7

Guideline 9. Help orient the user

Next guideline: 10 | Previous guideline: 8 | Go to contents

Provide information about resource structure, viewport structure, element summaries, etc. that will assist the user understand their browsing context.

All users require clues to help them understand their "location" when browsing. Graphical user agents provide clues such as proportional scroll bars to indicate (roughly) one's location in a resource. A highlighted selection or focus (either visually or aurally) distinguishes the selected or focused content from other content. User agent history allows users to track and undo their browsing path. HTML 4.0 ([HTML40], section 11.2.3) allows authors to create table headers and footers (with THEAD and TBODY) so that user agents can scroll table content while keeping table head and foot visible on the screen.

Orientation mechanisms such as these are especially important to users who view resources through serial means such speech or braille (current tactile technology is limited in the amount of information that can be displayed). Users of graphically displayed tables can scan a table quickly to understand the position (and related header information) of a particular cell. For users of serial output, user agents should provide this context on demand. Similarly, users need to know about:

For people with visual impairments, blindness, or certain types of learning disabilities, it is important that the point of regard remain as stable as possible. The user agent should not disturb the user's point of regard by shifting focus to a different frame or window when an event occurs without notifying the user of the change.

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

Viewport, selection, and focus information:

9.1 Provide a mechanism for highlighting and identifying (through a standard interface where available) the current viewport, selection, and focus. [Priority 1]
Note. This includes highlighting and identifying frames. Refer also to checkpoint 10.1..
Techniques for checkpoint 9.1
9.2 For dependent user agents only. Provide the user with information about the number of viewports. [Priority 2]
Refer also to checkpoint 6.2.
Techniques for checkpoint 9.2

Resource information:

9.3 For dependent user agents only. Allow the user to view an outline of a resource constructed from its structural elements (e.g., from header and list elements). [Priority 2]
The user should be able to control the level of detail of the outline. Refer also to checkpoint 6.2.
Techniques for checkpoint 9.3
9.4 Describe a selected element's position within larger structures (e.g., numerical or relative position in a document, table, list, etc.). [Priority 2]
For example: tenth link of fifty links; document header 3.4; list one of two, item 4.5; third table, three rows and four columns; current cell in third row, fourth column; etc.
Techniques for checkpoint 9.4

Link information:

9.5 For a selected link, indicate whether following the link will involve a fee. [Priority 2]
Note. This information may be provided through the standard user interface provided the interface is accessible. Thus, any prompt asking the user to confirm payment must be accessible. Refer to [MICROPAYMENT] for information about encoding micropayment information in markup in an interoperable manner.
Techniques for checkpoint 9.5
9.6 For a selected link, provide information to help the user decide whether to follow the link. [Priority 2]
Note. Useful information includes: whether the link has already been visited, whether it designates an internal anchor, the type of the target resource, the length of an audio or video clip that will be started, and the expected natural language of target resource.
Techniques for checkpoint 9.6
9.7 Allow the user to configure what information about links to present. [Priority 3]
Note. Using color as the only distinguishing factor between visited and unvisited links does not suffice since color may not be perceivable by all users or rendered by all devices. Refer also to checkpoint 9.6.
Techniques for checkpoint 9.7
9.8 Provide a mechanism for highlighting and identifying (through a standard interface where available) active elements. [Priority 3]
Note. User agents may satisfy this checkpoint by supporting the appropriate style sheet mechanisms, such as link highlighting.
Techniques for checkpoint 9.8

Table information:

9.9 For dependent user agents only. Provide access to header information for a selected table cell. [Priority 1]
Refer also to checkpoint 6.2.
Techniques for checkpoint 9.9
9.10 For dependent user agents only. Indicate the row and column dimensions of a selected table. [Priority 3]
Note. User agents should consider multidimensional tables, headers and footers, and multiple header levels. Refer also to checkpoint 6.2.
Techniques for checkpoint 9.10

Form control information:

9.11 Provide information about form structure and navigation (e.g., groups of controls, control labels, navigation order, and keyboard configuration). [Priority 2]
For instance, provide information about controls with explicitly associated labels (the "for" attribute of LABEL in HTML), about which keys activate the form controls (the "accesskey" attribute in HTML), about the serial navigation order of the form controls (the"tabindex" attribute in HTML), and about control groups (the FIELDSET and OPTGROUP elements in HTML). Refer also to checkpoint 1.2 and checkpoint 8.4.
Techniques for checkpoint 9.11


9.12 Maintain consistent user agent behavior and default configurations between software releases. Consistency is less important than accessibility and adoption of system conventions. [Priority 3]
In particular, make changes conservatively to the layout of user interface controls, behavior of existing functionalities, and default keyboard configuration.
Techniques for checkpoint 9.12

Guideline 10. Notify the user of content and viewport changes

Next guideline: 11 | Previous guideline: 9 | Go to contents

Alert users, in an output device-independent fashion, of changes to content or the viewport.

Changes to content or browsing context (How many windows are on the screen? Which is the current window?) may disorient users with visual impairments or certain types of learning disabilities. User agents should provide information about changes caused by scripts, or allow users to turn off scripts entirely (refer to checkpoint 4.8).

User agents must ensure that notifications are available in an output device-independent manner. Refer also to guideline 1.

10.1 Provide information about content and viewport changes (to users and through programming interfaces). [Priority 1]
For example, inform the users when a script causes a popup menu to appear.
Techniques for checkpoint 10.1
10.2 Ensure that when the selection or focus changes, it is in the viewport after the change. [Priority 2]
Techniques for checkpoint 10.2
10.3 Allow the user to selectively turn on and off notification of common types of content and viewport changes. [Priority 3]
For example, to choose to be notified (or not) that a script has been executed, that a new window has been opened, that a pulldown menu has been opened, that a new frame has received focus, etc.
Techniques for checkpoint 10.3
10.4 When loading a resource (e.g., document, video clip, audio clip, etc.) indicate what portion of the resource has loaded and whether loading has stalled. [Priority 3]
Techniques for checkpoint 10.4
10.5 Indicate the relative position of the viewport in a resource (e.g., the percentage of the document that has been viewed, the percentage of an audio clip that has been played, etc.). [Priority 3]
Note. Depending on how the user has been browsing, the percentage may be calculated according to focus position, selection position, or viewport position.
Techniques for checkpoint 10.5
10.6 Prompt the user to confirm any form submission triggered indirectly, that is by any means other than the user activating an explicit form submit control. [Priority 2]
For example, do not submit a form automatically when a menu option is selected, when all fields of a form have been filled out, on a mouseover event, etc.
Techniques for checkpoint 10.6

Guideline 11. Allow the user to configure the user agent

Next guideline: 12 | Previous guideline: 10 | Go to contents

Allow users to configure rendering, mouse, keyboard, the user interface, etc. to facilitate daily use of the software.

Web users have a wide range of functional capabilities and so they must be able to configure the user agent to meet their particular requirements.

Refer also to guideline 2. Refer also to checkpoint 9.12.

11.1 Allow the user to configure the user agent in named profiles that may be shared (by other users or software). [Priority 2]
Users must be able to select from among available profiles or no profile (i.e., the user agent default settings).
Techniques for checkpoint 11.1
11.2 Allow the user to configure the graphical arrangement of user interface controls. [Priority 3]
Techniques for checkpoint 11.2

Guideline 12. Provide accessible product documentation and help

Next guideline: 1 | Previous guideline: 11 | Go to contents

Ensure that the user can learn about software features, notably those that relate to accessibility.

Some people cannot use printed documentation. Vendors should provide accessible electronic documentation for users with visual impairments, learning disabilities, or movement impairments. Providing alternative hardcopy formats may also benefit some users.

Since users who are not disabled are generally unaware of software features designed specifically for accessibility, those features should be clearly documented. This will allow users with disabilities to learn about the software more easily.

Documentation includes all product documentation, notably installation instructions, the help system, and all product manuals. Refer also to guideline 2 and checkpoint 6.6.

12.1 Provide a version of the product documentation that conforms to the Web Content Accessibility Guidelines. [Priority 1]
Techniques for checkpoint 12.1
12.2 Ensure that all user agent functionalities that promote accessibility are documented. [Priority 1]
For example, review the documentation or help system to ensure that it discusses the functionalities addressed by the checkpoints of this document.
Techniques for checkpoint 12.2
12.3 Describe product features known to promote accessibility in a section of the product documentation. [Priority 2]
Techniques for checkpoint 12.3

Appendix A. -- Glossary

Applicable checkpoint
If a user agent offers a functionality, it must ensure that all users have access to that functionality or an equivalent alternative. Thus, 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 alternative equivalent supplied 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 supplied by the author.
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 measured similarly. If a user agent supports tables, it must support the accessibility features of the language related to tables (or images, or frames, or video, or links, etc.). The Techniques Document includes information about the accessibility features of W3C languages such as HTML, CSS, and SMIL.
The following summarizes criteria for applicability. A checkpoint applies to a user agent unless:
Assistive Technology
Software or hardware that has been specifically designed to assist people with disabilities in carrying out daily activities. Assistive technology includes wheelchairs, reading machines, devices for grasping, etc. In the area of Web Accessibility, common software-based assistive technologies include dependent user agents such as screen readers, screen magnifiers, speech synthesizers, onscreen keyboards, and voice input software. Hardware assistive technologies include alternative keyboards and pointing devices.
To set user preferences. This may be done through the user agent's user interface, through configuration files, by scripts, etc.
Continuous Equivalent Track
A continuous equivalent track presents an equivalent alternative to another track (generally audio or video) and is synchronized with that track. Continuous equivalent tracks convey information about spoken words and non-spoken sounds such as sound effects. A continuous text track presents closed captions. Captions are generally rendered visually by being superimposed over a video track, which benefits people who are deaf and hard-of-hearing, and anyone who cannot hear the audio (e.g., when in a crowded room). A collated text transcript combines (collates) captions with text descriptions of video information (descriptions of the actions, body language, graphics, and scene changes of the video track). These text equivalents make presentations accessible to people who are deaf-blind and to people who cannot play movies, animations, etc.
One example of a non-text continuous equivalent track is an auditory description of the key visual elements of a presentation. The description is either a prerecorded human voice or a synthesized voice (recorded or generated on the fly). The auditory description is synchronized with the audio track of the presentation, usually during natural pauses in the audio track. Auditory descriptions include information about actions, body language, graphics, and scene changes.
A video track that shows sign language is another example of a continuous equivalent track.
Dependent User Agent
Dependent user agents rely on other user agents for input and/or output. Dependent user agents include:
Device Independence
The ability to make use of software via any input or output device supported by the operating system. User agents should follow system conventions and use standard APIs for device input and output.
Documents, Elements, and Attributes
A document may be seen as a hierarchy of elements. Elements are defined by a language specification (e.g., HTML 4.0 or an XML application). Each element may have content, which generally contributes to the document's content. Elements may also have attributes that take values. An element's rendered content is that which a user agent renders for the element. This may be what lies between the element's start and end tags, the value of an attribute (c.f. the "alt", "title", and "longdesc" attributes in HTML), or external data (e.g., the IMG element in HTML). Rendering is not limited to graphical displays alone, but also includes audio (speech and sound) and tactile displays (braille and haptic displays).
Since rendered content is not always accessible, authors must specify alternative representations of content that user agents must make available to users or software that require it (in place of and/or in addition to the "primary" content). Alternative representations may take a variety of forms including alternative text, closed captions, and auditory descriptions. The Techniques Document ([UA-TECHNIQUES]) describes the different mechanisms authors use to supply alternative representations of content. Please also consult the Web Content Accessibility Guidelines ([WAI-WEBCONTENT]).
Events and scripting
When certain events occur (resource loading or unloading events, mouse press or hover events, keyboard events, etc.), user agents often perform some task (e.g., execute a script). For instance, in most user agents, when a mouse button is released over a link, the link is activated and the linked resource retrieved. User agents may also execute author-defined scripts when certain events occur. The script bound to a particular event is called an event handler. Note. The interaction of HTML, style sheets, the Document Object Model [DOM1] and scripting is commonly referred to as "Dynamic HTML" or DHTML. However, as there is no W3C specification that formally defines DHTML, this document will only refer to event handlers and scripts.
The user focus designates an active element in a document. Which elements are active depends on the document language and whether the features are supported by the user agent. In HTML documents, for example, active elements include links, image maps, form controls, elements with a value for the "longdesc" attribute, and elements with associated scripts (event handlers) explicitly associated with them (e.g., through the various "on" attributes). An element with the focus may be activated through any number of mechanisms, including the mouse, keyboard, an API, etc.
The effect of activation depends on the element. For instance, when a link is activated, the user agent generally retrieves the linked resource, which may be another Web page, program, etc. When a form control is activated, it may change state (e.g., check boxes) or may take user input (e.g., a text field). Activating an element with a script assigned for that particular activation mechanism (e.g., mouse down event, key press event, etc.) causes the script to be executed.
A viewport has at most one focus. When several viewports co-exist, each may have a focus, but only one is active, called the current focus. The current focus is generally presented (e.g., highlighted) in a way that makes it stand out.
Any mechanism used to emphasize selected or focused content. Visual highlight mechanisms include dotted boxes, underlining, and reverse video. Synthesized speech highlight mechanisms may include altering voice pitch or volume.
Insertion point
The insertion point is the location where document editing takes place. The insertion point may be set by the user (e.g., by a pointing device or the keyboard editing keys) or through an application programming interface (API). A viewport has at most one insertion point. When several viewports co-exist, each may have an insertion point, but only one is active, called the current insertion point
The insertion point is generally rendered specially (e.g., on the screen, by a vertical bar or similar cursor).
Native support
A user agent supports a feature natively if it does not require another piece of software (e.g., plug-in or external program) for support. Native support does not preclude more extensive support for accessibility by dependent user agents, so user agents must still make information available through programming interfaces.
Natural Language
Spoken, written, or signed human languages such as French, Japanese, American Sign Language, and braille. The natural language of content may be indicated in markup (e.g., by the "lang" attribute in HTML ([HTML40], section 8.1) or by HTTP headers.
Properties, Values, and Defaults
A user agent renders a document by applying formatting algorithms and style information to the document's elements. Formatting depends on a number of factors, including where the document is rendered: on screen, paper, through speakers, a braille device, a mobile device, etc. Style information (e.g., fonts, colors, voice inflection, etc.) may come from the elements themselves (e.g., certain style attributes in HTML), from style sheets, or from user agent settings. For the purposes of these guidelines, each formatting or style option is governed by a property and each property may take one value from a set of legal values. (The term "property" in this document has the meaning ascribed in the CSS2 Recommendation [CSS2].) A reference to "styles" in this document means a set of style-related properties.
The value given to a property by a user agent when it is started up is called the property's default value. User agents may allow users to change default values through a variety of mechanisms (e.g., the user interface, style sheets, initialization files, etc.).
Once the user agent is running, the value of a property for a given document or part of a document may be changed from the default value. The value of the property at a given moment is called its current value. Note that changes in the current value of a property do not change its default value.
Current values may come from documents, style sheets, scripts, or the user interface. Values that come from documents, their associated style sheets, or via a server are called author styles. Values that come from user interface settings, user style sheets, or other user interactions are called user styles.
A user agent is said to recognize markup, content types, or rendering effects when it can identify (through built-in mechanisms, DTDs, style sheets, headers, etc) the information. For instance, HTML 3.2 user agents may not recognize the new elements or attributes of HTML 4.0. Similarly, a user agent may recognize blinking content specified by elements or attributes, but may not recognize that an applet is blinking. The Techniques Document ([UA-TECHNIQUES]) discusses some content that affects accessibility and should be recognized as such.
The user selection generally specifies a range of content (text, images, etc.) in a document. The range may be restricted to the content of a single element or may span several elements. The selection may be used for a variety of purposes: for cut and paste operations, to designate a specific element in a document, to identify what a screen reader should read, etc.
The user selection may be set by the user (e.g., by a pointing device or the keyboard) or through an application programming interface (API). A viewport has at most one user selection. When several viewports co-exist, each may have a user selection, but only one is active, called the current user selection.
The user selection is usually presented in a way the stands out (e.g., highlighted). On the screen, the selection may be highlighted using colors, fonts, graphics, or other mechanisms. Highlighted text is often used by dependent user agents to indicate through speech or braille output what the user wants to read. Most screen readers are sensitive to highlight colors. Dependent user agents may provide alternative presentation of the selection through speech, enlargement, or refreshable braille display.
Text transcript
A text transcript is a text equivalent of audio information that includes spoken words and non-spoken sounds such as sound effects. Refer also to continuous equivalent track.
User Agent
A user agent is an application that retrieves and renders Web resources, including text, graphics, sounds, video, images, and other objects. An user agent may require additional software to handle some types of content. For instance, a browser may run a separate program or plug-in to render sound or video. The additional software is also considered a user agent. User agents include graphical desktop browsers, multimedia players, text browsers, voice browsers, and dependent user agents such as screen readers, screen magnifiers, speech synthesizers, onscreen keyboards, and voice input software.
Views, Viewports, and Point of Regard
User agents may handle different types of source information: documents, sound objects, video objects, etc. The user perceives the information through a viewport, which may be a window, frame, a piece of paper, a panner, a speaker, a virtual magnifying glass, etc. A viewport may contain another viewport (e.g., nested frames, plug-ins, etc.).
User agents may render the same source information in a variety of ways; each rendering is called a view. For instance, a user agent may allow users to view an entire document or just a list of the document's headers. These are two different views of the document.
The view is how source information is rendered and the viewport is where it is rendered. Both the current focus and the current user selection must be in the same viewport, called the current viewport. The current viewport is generally highlighted when several viewports co-exist.
Generally, viewports give users access to all rendered information, though not always at once. For example, a video player shows a certain number of frames per second, but allows the user to rewind and fast forward. A graphical browser viewport generally features scrollbars or some other paging mechanism that allows the user to bring the rendered content into the viewport.
The content currently available in the viewport is called the user's point of regard. The point of regard may be a two dimensional area (e.g., for graphical rendering) or a single point (e.g., for aural rendering or voice browsing). User agents should not change the point of regard unexpectedly as this can disorient users.

5. Acknowledgments

Many thanks to the following people who have contributed through review and comment: Paul Adelson, James Allan, Denis Anson, Kitch Barnicle, Harvey Bingham, Olivier Borius, Judy Brewer, Bryan Campbell, Kevin Carey, Wendy Chisholm, David Clark, Chetz Colwell, Wilson Craig, Nir Dagan, Daniel Dardailler, B. K. Delong, Neal Ewers, Geoff Freed, John Gardner, Al Gilman, Larry Goldberg, Glen Gordon, John Grotting, Markku Hakkinen, Earle Harrison, Chris Hasser, Kathy Hewitt, Philipp Hoschka, Masayasu Ishikawa, Phill Jenkins, Jan Kärrman (for help with html2ps), Leonard Kasday, George Kerscher, Marja-Riitta Koivunen, Josh Krieger, Catherine Laws, Greg Lowney, Scott Luebking, William Loughborough, Napoleon Maou, Charles McCathieNevile, Masafumi Nakane, Mark Novak, Charles Oppermann, Mike Paciello, David Pawson, Michael Pederson, Helen Petrie, David Poehlman, Michael Pieper, Jan Richards, Hans Riesebos, Joe Roeder, Lakespur L. Roca, Gregory Rosmaita, Lloyd Rutledge, Liam Quinn, T.V. Raman, Robert Savellis, Rich Schwerdtfeger, Constantine Stephanidis, Jim Thatcher, Jutta Treviranus, Claus Thogersen, Steve Tyler, Gregg Vanderheiden, Jaap van Lelieveld, Jon S. von Tetzchner, Willie Walker, Ben Weiss, Evan Wies, Chris Wilson, Henk Wittingen, and Tom Wlodkowski,

6. References

For the latest version of any W3C specification, please consult the list of W3C Technical Reports.

"CSS, level 1 Recommendation", B. Bos, H. Wium Lie, eds., 17 December 1996, revised 11 January 1999. This CSS1 Recommendation is http://www.w3.org/TR/1999/REC-CSS1-19990111.
"CSS, level 2 Recommendation", B. Bos, H. Wium Lie, C. Lilley, and I. Jacobs, eds., 12 May 1998. This CSS2 Recommendation is http://www.w3.org/TR/1998/REC-CSS2-19980512.
"Accessibility Features of CSS", I. Jacobs, J. Brewer, The latest version of this W3C Note is available at http://www.w3.org/TR/CSS-access.
"Document Object Model (DOM) Level 1 Specification", V. Apparao, S. Byrne, M. Champion, S. Isaacs, I. Jacobs, A. Le Hors, G. Nicol, J. Robie, R. Sutor, C. Wilson, and L. Wood, eds. The 1 October 1998 DOM Level 1 Recommendation is http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001
"Document Object Model (DOM) Level 2 Specification", L. Wood, A. Le Hors, V. Apparao, L. Cable, M. Champion, J. Kesselman, P. Le Hégaret, T. Pixley, J. Robie, P. Sharpe, C. Wilson, eds. The DOM2 specification is a Working Draft at the time of publication.
"HTML 4.0 Recommendation", D. Raggett, A. Le Hors, and I. Jacobs, eds. The 24 April 1998 HTML 4.0 Recommendation is http://www.w3.org/TR/1998/REC-html40-19980424
"HTML 3.2 Recommendation", D. Raggett, ed. The HTML 3.2 Recommendation is http://www.w3.org/TR/REC-html32
"Mathematical Markup Language", P. Ion and R. Miner, eds. The 7 April 1998 MathML 1.0 Recommendation is http://www.w3.org/TR/1998/REC-MathML-19980407
"Common Markup for micropayment per-fee-links", T. Michel, ed. The latest version of this W3C Working Draft is available at http://www.w3.org/TR/Micropayment-Markup.
"Key words for use in RFCs to Indicate Requirement Levels", S. Bradner, March 1997.
"Synchronized Multimedia Integration Language (SMIL) 1.0 Specification", P. Hoschka, editor. The 15 June 1998 SMIL 1.0 Recommendation is http://www.w3.org/TR/1998/REC-smil-19980615
"Accessibility Features of SMIL", M-R. Koivunen, I. Jacobs. The latest version of this W3C Note is available at http://www.w3.org/TR/SMIL-access.
"Techniques for User Agent Accessibility Guidelines 1.0", J. Gunderson, I. Jacobs, eds. This document explains how to implement the checkpoints defined in "User Agent Accessibility Guidelines 1.0". The latest draft of the techniques is available at http://www.w3.org/WAI/UA/WAI-USERAGENT-TECHS/
"Authoring Tool Accessibility Guidelines", J. Treviranus, J. Richards, I. Jacobs, C. McCathieNevile, eds. The latest Working Draft of these guidelines for designing accessible authoring tools is available at http://www.w3.org/TR/WD-WAI-AUTOOLS/
"Web Content Accessibility Guidelines 1.0", W. Chisholm, G. Vanderheiden, and I. Jacobs, eds. The 5 May 1999 Recommendation is http://www.w3.org/TR/1999/WAI-WEBCONTENT-19990505
"Techniques for Web Content Accessibility Guidelines 1.0", W. Chisholm, G. Vanderheiden, and I. Jacobs, eds. The latest version of this document is available at http://www.w3.org/TR/WAI-WEBCONTENT-TECHS
"Extensible Markup Language (XML) 1.0.", T. Bray, J. Paoli, C.M. Sperberg-McQueen, eds. The 10 February 1998 XML 1.0 Recommendation is http://www.w3.org/TR/1998/REC-xml-19980210