This document provides guidelines to user agent developers for
making their products more accessible to people with disabilities and
for increasing usability for all users. This document emphasizes the
accessibility of interoperability between two important classes of
user agents - graphical desktop browsers and assistive technologies (screen
readers, screen magnifiers, braille displays, and voice input
software) that depend on them. However, it is meant to be applicable
to user agents in general, including text and voice browsers,
multimedia players, and plug-ins.
This document includes an appendix that organizes all of the checkpoints by topic and priority.
The checkpoints in the appendix link to their definitions in the
current document. The topics identified in the appendix include
user interface, keyboard support,
images, multimedia, tables, frames, forms, and scripts.
This appendix is available both as a tabular summary and as a
simple list of
A separate document, entitled "Techniques for User Agent Accessibility Guidelines 1.0" ([UA-TECHNIQUES]), explains how to implement
the checkpoints defined in the current document. The Techniques
Document discusses each checkpoint in more detail and provides
examples using the
Hypertext Markup Language (HTML),
Cascading Style Sheets (CSS),
Synchronized Multimedia Integration Language
and the Mathematical Markup Language (MathML). The Techniques Document has been designed to
track changes in technology 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. The series also includes Web Content Accessibility
Guidelines ([WAI-WEBCONTENT]) and
Authoring Tool Accessibility Guidelines ([WAI-AUTOOLS]).
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)
Please send comments about this document to the public mailing list:
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
A list of current W3C Recommendations and other technical documents
can be found at http://www.w3.org/TR.
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:
- They may not be able to see, hear, move, or
may not be able to process some types of
information easily or at all.
- They may have difficulty reading or comprehending text.
- They may not have or be able to use a keyboard or mouse.
- They may have a text-only screen, a small screen, or
a slow Internet connection.
- They may not speak or understand fluently
the language in which the document is written.
- They may be in a situation where their eyes, ears, or
hands are busy or interfered with (e.g., driving to work,
working in a loud environment, etc.).
The guidelines in this document are designed to help developers
understand barriers to accessibility and encourage solutions
that broaden accessibility to the Web.
The associated Techniques Document
provides practical solutions based on
existing and upcoming technologies. Though developers may believe
that implementing accessibility features in their products is
difficult or of limited use, considering accessibility during the
design phase of a product leads to more flexible, manageable, and
These guidelines include information relevant to a wide class of
user agents: graphical desktop browsers, screen readers, speech
synthesizers, multimedia players, text browsers, voice browsers,
plug-ins, etc., with a particular focus on two classes of user
- Graphical desktop browsers
- Dependent user
agents, which rely on other user agents for input and/or
output. Dependent user agents include:
- screen magnifiers, which
are used by people with visual impairment to enlarge and
change colors on the screen to improve readability of text and images.
- screen readers, which
are used by people who are blind or with reading disabilities to
read textual information through speech or braille displays.
- alternative keyboards, which are used
by people with movement impairments to
simulate the keyboard.
- alternative pointing devices, which are used
by people with movement
impairments to simulate mouse pointing and button activations.
The guidelines emphasize interoperability between these two
classes of user agents.
This document is organized according to several principles that
will improve the design of any type of user agent:
The user must have access to the functionality offered by the user
agent through its user interface. This includes the functionalities
built into the tool (made available through menus, dialogs, toolbars
and other user interface components) as well as those offered via the
document (made available through links, form controls, applets, and
other interactive elements).
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 includes some references to general
software accessibility guidelines.
Through the user interface, users must have access to document
content, including alternative content
(e.g., "alt" attribute text in HTML). To ensure access to content,
users must have final control of the style (colors, fonts, speech
rate, speech volume, etc.) and format of a document.
User agents may facilitate access to content by providing a
convenient user interface (e.g., scrolled viewport) and navigation
mechanisms (e.g., allowing users to tab to
active elements of a document).
Orientation - the sense of where one is within a document, series
of documents, video clip, etc. - is fundamental to a successful Web
experience. Graphical mechanisms provided by the author that promote
- frames, which suggest content relationships
- graphical site maps, which describe page organization
Graphical mechanisms provided by the user agent that promote
- proportional scroll
bars, which indicate how much of a resource has been viewed
- a visually highlighted selection
Some users cannot use graphical orientation clues and require other
mechanisms to remain oriented:
- Contextual information about document elements. For instance,
users with blindness who navigate by surfing only the links
of a document benefit from knowing how many links the document
contains or the number of the current link. Numerical position
information, in conjunction with a navigation mechanism that allows
users to jump directly to a given link, can greatly facilitate
browsing, especially for documents with many links.
- Contextual information about the
document, viewports, multimedia objects,
and other resources (e.g., how many viewports,
whether the document or video clip has finished loading,
how much of an audio clip has played, etc.) For instance,
information about the number of frames and their names
is very helpful, as well as links to navigate among them.
- Summary information about specific elements (e.g.,
the dimensions of a table).
- Alerts when events occur during browsing (e.g.,
a window opens, a script is executed, etc.).
The user agent should also minimize the chances the
user will become disoriented by allowing the user to control when
windows are spawned, warning the user when events occur, avoiding
sudden movements of the viewport, etc.
Following system standards and conventions promotes accessibility
in a number of ways:
- Observing system conventions in
user interface design, software installation,
and software documentation improves usability.
- Using standard system interfaces makes it possible
assistive technologies to access information predictably.
Communication through standard interfaces is particularly important
for graphical desktop browsers, which must make information
available to assistive technologies. Even when a user agent
implements a feature natively, it should make information available to
other software. Scripting tools and automated test engines also
benefit from having access to user agent information through standard
Implementing interoperable specifications (such as those produced by
W3C) promotes accessibility for several reasons:
- W3C technologies include "built-in" accessibility features.
- W3C specifications undergo early review to ensure that accessibility
issues are considered during the design phase.
- W3C specifications are developed in an open, industry consensus process.
The twelve guidelines in this document
state general principles for the development of accessible user
agents. Each guideline includes:
- The guideline number.
- The statement of the guideline.
- Guideline navigation links. Three links allow
navigation to the next guideline (right arrow
icon), the previous guideline (left arrow icon),
or the current guideline's position in the table
of contents (up arrow icon).
- The rationale behind the guideline and some
groups of users who benefit from it.
- A list of checkpoint definitions.
The checkpoint definitions in each
guideline explain how the guideline applies to particular user agent
features or behavior. Each checkpoint definition includes:
- The checkpoint number.
- The statement of the checkpoint.
- The priority of the checkpoint. Priority 1
checkpoints are highlighted through the use of style sheets.
- Optional informative notes, clarifying examples,
and cross references to related guidelines or checkpoints.
- A link to a relevant entry in the
"Checkpoint Map" of the Techniques Document
(refer to [UA-TECHNIQUES]).
The Checkpoint Map lists each checkpoint and links
to the sections of the Techniques
Document where the checkpoint is discussed in detail,
including information about implementation and examples.
Each checkpoint is intended to be
specific enough so that someone reviewing a user
agent may verify that the checkpoint has been satisfied.
The following editorial conventions are used throughout
- Element names are in uppercase letters.
- Attribute names are quoted in lowercase letters.
- Links to definitions are highlighted through
the use of style sheets.
Each checkpoint in this document is assigned a priority
that indicates its importance for users.
- [Priority 1]
- This checkpoint must be implemented by user
agents as a native
feature or through compatibility with assistive
technology, 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
- [Priority 2]
- This checkpoint should be implemented by user agents
as a native feature or through compatibility with assistive
technology, 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 implemented by user
agents as a native feature or through compatibility with assistive
technology, 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.
The terms "must", "should", and "may" (and related terms) are used
in this document in accordance with RFC 2119 ([RFC2119]).
To promote interoperability between graphical desktop user agents and dependent user agents, conformance to
this document is expressed in terms of these two types of software.
In order to conform as a graphical desktop browser, the user
agent must satisfy all the checkpoints (for a chosen conformance level) that apply to graphical desktop browsers
and do so natively.
Even for those checkpoints that must be satisfied natively,
graphical desktop browsers should make information available to other
software through standard interfaces (e.g., specialized dependent
user agents may provide a better solution to a problem
than a graphical desktop browser).
In order to conform as a dependent user agent, the user agent must
satisfy all the checkpoints (for a chosen conformance level) that apply to dependent user agents and do so
This section defines three levels of conformance to this
- Conformance Level "A":
all Priority 1 checkpoints are satisfied
- Conformance Level "Double-A":
all Priority 1 and 2 checkpoints are satisfied
- Conformance Level "Triple-A":
all Priority 1, 2, and 3 checkpoints are satisfied
Note. Conformance levels are spelled out in text
so they may be understood when rendered to speech.
Claims of conformance to this document must use one of the
following two forms.
Form 1: Specify:
- The guidelines title: "User Agent Accessibility Guidelines 1.0"
- The guidelines URI: http://www.w3.org/WAI/UA/WAI-USERAGENT-19990827
- The conformance level satisfied: "A", "Double-A", or "Triple-A".
- The class of user agent covered by the claim: graphical desktop
browser or dependent user agent.
Example of Form 1:
This product conforms as a graphical desktop
browser to W3C's "User Agent Accessibility Guidelines 1.0",
available at http://www.w3.org/WAI/UA/WAI-USERAGENT-19990827, level Double-A.
This screen reader conforms as a dependent
user agent to W3C's "User Agent Accessibility Guidelines 1.0",
available at http://www.w3.org/WAI/UA/WAI-USERAGENT-19990827, 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.
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 devices 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 keyboard can still use special
devices or an on-screen keyboard to operate the user agent.
Standard interfaces make it possible for users to use
a variety of input and output devices (and to develop new ones),
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]
- This will allow users to operate the user agent
in an input device independent manner.
- 1.2 Ensure that the user can interact with all active elements of a document in a device independent manner. [Priority 1]
- For example, ensure that the user can active
links of a client-side image map in a device-independent
manner (e.g., by making them available as text links).
- 1.3 Ensure that the user can install the user agent software in a device independent manner. [Priority 1]
- 1.4 Ensure that the user can configure the user agent in a device independent manner. [Priority 1]
- 1.5 Ensure that the user can access user agent documentation in a device independent manner. [Priority 1]
- 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 document 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 speech or braille
Although keyboard access may seem to contradict the previous
guideline on device-independence, ensuring keyboard access to user
agent functionality 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 through software. This guideline is important
for ensuring compatibility between graphical desktop browsers and dependent user agents.
Checkpoints in this section do not apply to user agents (e.g.,
kiosks) that do not natively support keyboard input.
One area where configurability is important involves keyboard
access to user agent functionality. 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.
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.11.
- 2.1 By default and without additional customization, ensure that all functionalities offered by the user agent are accessible using the keyboard. [Priority 1]
- Note. This checkpoint intends
to ensure compatibility with
dependent user agents that
rely on keyboard input. Functionalities include
being able to show, hide, resize and move windows
or panes created by the user agent.
- 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.
- 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.
- 2.4 Allow the user to configure the keystrokes used to activate user agent functionalities. Wherever possible, allow single key activation of functions. [Priority 2]
- 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.
- 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
- 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.
- 2.8 Provide a default keyboard configuration for frequently performed operations. [Priority 3]
Otherwise, some users cannot perceive the primary content due to a
disability or a technological limitation (e.g., browser
to display images).
The primary or alternative content may be rendered to the user
through character, graphic, audio, speech, or braille devices.
The differing characteristics of these devices mean that user
requirements and capabilities will vary.
For example, speech is a temporal medium. Speech output based
browsers must convey sub-structures of text content like paragraphs,
sentences, words and the spelling of individual words to the user as
certain words or phrases may not be properly converted from their
original text to their correct speech pronunciation. By conveying
sub-structures of text, user agents allow users to replay and even
spell words and phrases until the user understands the content and
context. Speech-based user agents must use auditory nuances -
including pitch, articulation model, volume, and orientation - to
convey meaning the way fonts, spacing, and borders do in graphical
media. For example, a user agent might speak the word "link"
before a link, "header" before
the text content of a header or "item 1.4" before a list item to
convey context. Speech-based user agents must also heed
author-specified markup that indicates changes in natural languages,
and should render appropriately for supported languages.
In dynamic presentations such as synchronized multimedia
presentations created with SMIL (refer to [SMIL]), content may change 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 example, in SMIL 1.0 authors may designate
visual regions that are linked to different resources at different
times; to the user, it appears as though a single link designates
different resources dependent on when you select the link. In fact,
there is a sequence of links over time that occupy the same place on
the visual layout. To make the links accessible SMIL players
might present time-dependent link sequences
as a static list of links, allow the user to navigate
the sequence of time-dependent links, allow the user to control
the timing of changes, etc.
- 3.1 Ensure that the user has access to document 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.
- 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.
- 3.3 For dependent user agents only. 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.
- 3.4 Provide time-independent access to time-dependent active elements or allow the user to control the timing of changes. [Priority 1]
- 3.5 When no alternative text representation has been specified, indicate what type of object is present. [Priority 2]
- 3.6 When alternative text has been specified explicitly as empty (i.e., an empty string), render nothing. [Priority 3]
Checkpoints for captions and description tracks:
- 3.7 Allow the user to specify that description tracks (e.g., caption, auditory description, video of sign language, etc.) be rendered at the same time as audio and video tracks. [Priority 1]
- 3.8 If a technology allows for more than one description track (e.g., caption, auditory description, video of sign language, etc.), allow the user to choose from among the tracks. [Priority 1]
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]
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. 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. Dynamically changing web content or opening windows can be a
problem for people using some types of
dependent user agents and
may be disorienting to users with cognitive disabilities.
Flashing also affects screenreader users, since screenreaders
(in conjunction with speech synthesizers or braille displays)
may repeat the text every time it flashes.
User agents are only expected to provide this control for content
or user interface controls that they recognizes. Please also refer to
guideline 5 and guideline 11.
- 4.1 Allow the user to turn on and off rendering of images. [Priority 1]
- 4.2 Allow the user to turn on and off rendering of background images. [Priority 1]
- 4.3 Allow the user to turn on and off rendering of video. [Priority 1]
- 4.4 Allow the user to turn on and off rendering of sound. [Priority 1]
- 4.5 Allow the user to turn on and off rendering of audio captions. [Priority 1]
- 4.6 Allow the user to turn on and off animated or blinking text. [Priority 1]
- 4.7 Allow the user to turn on and off animations and blinking images. [Priority 1]
- 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.
- 4.9 Allow the user to turn on and off support for user style sheets. [Priority 1]
- 4.10 Allow the user to turn on and off support for author style sheets. [Priority 1]
- 4.11 Allow the user to turn on and off support for spawned windows. [Priority 1]
- 4.12 Allow the user to turn on and off rendering of frames. [Priority 2]
- 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.
- 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).
In order to access a document, 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 fonts than
user agent defaults or those specified by the author. Users who are
blind may require audio or tactile rendering. Users who are deaf may
require captions for audio files.
User agents must therefore allow the user to control:
- The document's style (e.g., fonts, colors, aural
- The document's formatting: whether the document is presented
textually, graphically, linearly, aurally, for tactile
use, or some combination of these.
- The document's content: whether primary content or alternative
representations of content or both are rendered.
- The user interface: since authors may make changes to the
user interface through scripting (e.g., by spawning new
windows, causing dialog boxes to appear, etc.), users must
be able to override changes that make the user agent or
Otherwise, users who are blind, have visual impairments, or have some
types of learning disabilities, or any user who cannot or has chosen not
to view the primary representation of information, will not know the
content of the information on the page.
The following checkpoints state which styles the user must be able
to control. The checkpoints also require user agents to allow users to
override author styles and user agent defaults. The checkpoints
apply to alternative representations of
content as well as primary content.
Refer also to guideline 11.
Checkpoints for fonts and colors:
- 5.1 Allow the user to control font family. [Priority 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.
- 5.3 Allow the user to control foreground color. [Priority 1]
- 5.4 Allow the user to control background color. [Priority 1]
- 5.5 Allow the user to control selection highlighting (e.g., foreground and background color). [Priority 1]
- 5.6 Allow the user to control focus highlighting (e.g., foreground and background color). [Priority 1]
Checkpoints for applets and animations:
- 5.7 Allow the user to control animation rate. [Priority 2]
Checkpoints for video.
- 5.8 Allow the user to control video frame rates. [Priority 1]
- 5.9 Allow the user to control the position of audio captions. [Priority 1]
- 5.10 Allow the user to start, stop, pause, and rewind video. [Priority 2]
Checkpoints for audio:
- 5.11 Allow the user to control audio playback rate. [Priority 1]
- 5.12 When the user agent renders audio natively, allow the user to control the audio volume. [Priority 2]
- 5.13 Allow the user to start, stop, pause, and rewind audio. [Priority 2]
Checkpoints for speech:
- 5.14 Allow the user to control speech playback rate. [Priority 1]
- 5.15 Allow the user to control speech volume, pitch, gender and other articulation characteristics. [Priority 2]
Checkpoints for changes to the user interface:
- 5.16 When new windows or user interface components are spawned, allow the user to control window size and position. [Priority 2]
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
- 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.
- 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]
- 6.3 Notify dependent user agents of changes to the document and user interface controls (including selection and focus) by using operating system and development language accessibility resources and conventions. [Priority 1]
- 6.4 For graphical desktop browsers only. Comply with W3C Document Object Model specifications and export interfaces defined by those specifications. [Priority 1]
- For example, refer to [DOM, Level 1]. User agents should
export these interfaces using available system conventions.
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."
- 6.5 For graphical desktop browsers only. Provide programmatic exchange of information in a timely manner. [Priority 2]
- This is important
for synchronous alternative renderings and simulation of events.
- 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.
The current guidelines recommend support for
(e.g., HTML, CSS, MathML, SMIL, etc.) for several reasons:
- W3C specifications include "built-in" accessibility features.
- W3C specifications undergo early review to ensure that accessibility
issues are considered during the design phase.
- W3C specifications are developed in an open, industry consensus process.
- 7.1 Implement the accessibility features defined for supported specifications. [Priority 1]
- Note. The
Techniques Document ([UA-TECHNIQUES])
discusses accessibility features of W3C specifications.
- 7.2 Support appropriate W3C Recommendations. [Priority 2]
- For instance, for document markup,
support HTML and XML; for style sheets, support CSS; for
mathematics, support MathML; for multimedia, support SMIL, etc.
Refer also to checkpoint 6.4.
Navigation mechanisms help all users find important information in
a document quickly. User agents should provide a variety of mechanisms
- from simple scrolling through content to search mechanisms to
tabbing navigation - to facilitate access, notably for users of
devices that render documents serially (e.g., speech output or
single-line refreshable braille displays).
While authors may provide some navigation mechanisms in documents
(e.g., image maps or navigation bars), user agents must also provide
tools. Each navigation mechanism has its advantages and disadvantages:
- Sequential access (e.g., line scrolling, page scrolling,
tabbing access through active elements, etc.) means advancing
through rendered in well-defined steps (line by line,
screen by screen, link by link, etc.) forward and backward.
Sequential access provides contextual information as one advances
but can be slow. Sequential access may be based on element
type (e.g., links only), document structure (e.g., navigate
from header to header), or other criteria.
Sequential access is very important to users reading
an unfamiliar document since it allows access to all content.
Structured navigation mechanisms allow users to move rapidly
through highly structured documents such as books or
- Direct access (go to a particular link or paragraph,
search for instances of this string, etc.) is faster than
sequential access, but context is lost. Searching on text
is one important variant of direct access, but other types
of direct access are possible (e.g., go to the fifth link
on the page). Selecting text or structured content with
the pointing device is another form of direct access.
Direct access is very important to users familiar with a document
since it allows faster access to content.
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..
In addition to navigation mechanisms, user agents must provide
contextual information that does not depend on a particular output
device. Graphical user agents often use proportional scrollbars to
indicate how much of a document has been viewed. User agents must
make the same information available to users who cannot make use of
the visual clues.
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. Navigating into a viewport makes it the
- 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.
- 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.
- 8.4 Allow the user to navigate just among all active elements in the document. [Priority 2]
Navigation mechanisms may range from sequential (e.g.,
tabbing navigation) 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).
- 8.5 Allow the user to search for rendered text content, including alternative text content. [Priority 2]
- 8.6 Allow the user to navigate the document structure. [Priority 2]
- For example, allow the user to navigate familiar
elements of a document: paragraphs, tables, headers, lists,
- 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.
Users that are viewing documents through linear channels of
perception like speech (since speech is temporal in nature) and
tactile displays (current tactile technology is limited in the amount
of information that can be displayed) have difficulty maintaining a
sense of their relative position in a document. The meaning of
"relative position" depends on the situation. It may mean
the distance from the beginning of the document to the point of regard (how much of the
document has been read), it may mean the cell currently being examined
in a table, or the position of the current document in a set of
documents, or how one frame is updated when changes take place
in a second. Refer also to checkpoint 10.1.
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.
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..
- 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.
- 9.3 For dependent user agents only. Allow the user to view a document outline 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.
- 9.4 Describe a selected element's context within a document (e.g., numerical or relative position). [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.
- 9.5 For a selected link, indicate whether following the link will involve a fee. [Priority 2]
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.
- 9.6 For a selected link, provide information to help the user decide whether to follow the link. [Priority 3]
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.
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.
- 9.7 Provide a mechanism for highlighting and identifying (through a standard interface where available) active elements of a document. [Priority 3]
Note. User agents may satisfy this
checkpoint by supporting the appropriate style sheet
mechanisms, such as link highlighting.
- 9.8 For dependent user agents only. Provide access to header information for a selected table cell. [Priority 1]
- Refer also to checkpoint 6.2.
- 9.9 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.
Form control information:
- 9.10 Provide the user with access to any label explicitly associated with a form control. [Priority 2]
For example, in HTML, the "for" attribute of
the LABEL element associates it with another
- 9.11 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.
To avoid confusion that the effects of scripts may cause, users
should be notified when scripts are executed (or be able to disable scripts entirely). This is
also important for security reasons; users should be able to decide
whether to allow scripts to execute on their machines.
- 10.1 Provide information about document 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.
- 10.2 Ensure that when the selection or focus changes, it is in the viewport after the change. [Priority 2]
- 10.3 Allow the user to selectively turn on and off notification of common types of document 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.
- 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]
- 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 a document, the percentage
may be calculated according to focus position,
selection position, or viewport position.
- 10.6 Prompt the user to confirm any form submission not explicitly initiated by the user. [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
Web users have a wide range of
functional capabilities and so they must be able to
the user agent to meet their particular
requirements. Users must be able to configure
rendering, mouse, keyboard, user interface control position,
etc. to facilitate their daily use of the software.
Refer also to guideline 2. Refer also to checkpoint 9.11.
- 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
- 11.2 Allow the user to configure the graphical arrangement of user interface controls. [Priority 3]
Users who may not be able to access print material, including
individuals with visual impairments, learning disabilities, or
movement impairments, may be able to use accessible electronic
documentation or documents in alternative hardcopy formats.
It is important for developers to document user agent features that
enhance accessibility to ensure since users with disabilities may
not learn about those features from non-disabled users (who are
not generally familiar with such features).
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]
Refer to [WAI-WEBCONTENT].
- 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.
- 12.3 Describe product features known to promote accessibility in a section of the product documentation. [Priority 2]
- Applicable checkpoint
- A checkpoint applies to a user agent unless:
- The checkpoint definition states explicitly that it
only applies to a different class of user agent.
- The checkpoint addresses a content type
(script, image, video, sound, applets, etc.) that the user agent
does not recognize.
- The checkpoint refers to a content type
that the user agent recognizes
but does not support natively.
- The checkpoint refers to the properties of an embedded object
(e.g., video or animation rate) that may not be controlled
or accessed by the user agent.
- 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 screen readers, screen
magnifiers, speech synthesizers, onscreen keyboards,
and voice input software that operate
in conjunction with graphical desktop browsers (among other user
agents). 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.
- Description Track
A description track is any continuous equivalent that is
synchronized with presentation's video and audio
tracks. Description tracks convey information about spoken words and
non-spoken sounds such as sound effects.
A text description track is called a caption.
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).
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 equivalent 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 description track might be a video track as
well, for example showing sign language.
- 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
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, text 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
A text transcript
is a text equivalent of audio information that includes spoken
words and non-spoken sounds such as sound effects.
A caption is a text
transcript for the audio track of a video presentation that is
synchronized with the video and audio tracks.
One example of a non-text equivalent 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.
- Events and scripting
- When certain events occur (document 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). An element with the focus may be activated
through any number of mechanisms, including the mouse, keyboard, an
- 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
- 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
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. 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
- 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.)
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
Note that changes in the current value of a property do not change its
- 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
- 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.
- 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,
- 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.
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,
- "CSS, level 1 Recommendation", B. Bos, H. Wium Lie, eds. The
CSS1 Recommendation is:
- "CSS, level 2 Recommendation", B. Bos, H. Wium Lie, C. Lilley,
and I. Jacobs, eds. The CSS2 Recommendation is:
- "Accessibility Features of CSS", I. Jacobs, J. Brewer,
eds. The latest version of this W3C Note is available at:
- "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 DOM Level 1
- "HTML 4.0 Recommendation", D. Raggett, A. Le Hors, and I.
Jacobs, eds. The HTML 4.0 Recommendation is:
- "HTML 3.2 Recommendation", D. Raggett, ed. The HTML 3.2
- "Mathematical Markup Language", P. Ion and R. Miner, eds. The MathML 1.0
- "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 SMIL 1.0 Recommendation is:
- "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
- "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:
- "Web Content Accessibility Guidelines", W. Chisholm,
G. Vanderheiden, and I. Jacobs, eds., 5 May 1999.
This W3C Recommendation is
- "Extensible Markup Language (XML) 1.0.", T. Bray, J. Paoli, C.M.
Sperberg-McQueen, eds. The XML 1.0 Recommendation is: