
User Agent Accessibility Guidelines 1.0
W3C Working Draft 7 July 2000
- This version:
-
http://www.w3.org/WAI/UA/WD-UAAG10-20000707
- (plain
text,
gzip PostScript, gzip PDF, gzip tar file of
HTML, zip archive of
HTML)
- Latest version:
-
http://www.w3.org/WAI/UA/UAAG10
- Previous version:
-
http://www.w3.org/WAI/UA/WD-UAAG10-20000610
- Editors:
- Jon Gunderson, University of Illinois at
Urbana-Champaign
Ian Jacobs, W3C
Copyright
©1999 - 2000 W3C® (MIT,
INRIA, Keio), All Rights
Reserved. W3C
liability,
trademark, document
use and software
licensing rules apply.
The guidelines in this document explain to developers how to design user agents that are accessible to people with
disabilities. User agents include graphical
desktop browsers, multimedia players, text browsers, voice browsers, plug-ins,
and other assistive
technologies that provide access to Web
content. While these guidelines primarily address the accessibility
of general-purpose graphical user agents, the principles presented apply to
other types of user agents as well. Following these principles will help make
the Web accessible to users with disabilities and will benefit all users.
This section describes the status of this document at the time of its
publication. Other documents may supersede this document. The latest status of
this document series is maintained at the W3C.
This release of the document incorporates minimal requirements for each
checkpoint as discussed by the the Working Group. This draft expresses the
identified minimal requirements in the checkpoints themselves, rather than as
separate commentary. The Working Group will evaluate the effectiveness of this
approach (refer to the
proposal for integrating minimal requirements) and decide whether the
document should retain this form. The Working Group has not yet established
minimal requirements for all of the checkpoints.
This version also moves all normative information into the checkpoint text,
leaving any Notes after checkpoints informative only. Some of the checkpoints
in guideline 3 have been
rewritten to express an identified minimal requirement (configuration to not render a particular
content type); the Working Group may increase the requirements for these
checkpoints to include some type of control as
well. A history of
changes to this document is available on the Web.
Note: Three checkpoints in this document (checkpoint 5.1, checkpoint 5.2, and checkpoint 5.7) refer to the W3C
DOM Level 2 [DOM2]
specification, which is a Candidate Recommendation as of 7 July 2000 . The User
Agent Guidelines Working Group continues to track the progress of that
specification and expects to maintain its dependency on DOM Level 2 if that
specification advances to Proposed Recommendation before the UA Working Group
has resolved its open issues. At its 25 April 2000 teleconference, the Working
Group resolved that it may modify the checkpoints in question to depend on DOM
1 if that will accelerate the progress of this document.
Publication as a Working Draft does not imply endorsement by the W3C
Membership. This is a draft document and may be updated, replaced or obsoleted
by other documents at any time. It is inappropriate to cite W3C Working Drafts
as other than "work in progress."
Please send comments about this document to the public mailing list w3c-wai-ua@w3.org (public
archives).
This document is part of a series of accessibility documents published by
the Web Accessibility Initiative (WAI) of the World Wide Web
Consortium (W3C). WAI
Accessibility Guidelines are produced as part of the WAI Technical Activity.
The goals of the User Agent Working
Group are described in the charter. A list of the
Working Group
participants is available.
A list of current W3C Recommendations and other technical documents can be
found at http://www.w3.org/TR.
This introduction (section 1) provides context for understanding the
guidelines listed in section 2. In different
sections, the introduction explains:
For those unfamiliar with accessibility issues pertaining to user agent
design, consider that many users with disabilities may be accessing the Web in
contexts very different from your own:
- Users may not be able to see, hear, move, or may not be able to process
some types of information easily or at all.
- Users may have difficulty reading or comprehending text.
- Users may not have or be able to use a keyboard or mouse.
User agents must be designed to take into account the diverse requirements
of users with disabilities. This document specifies requirements that user agent developers must satisfy to ensure
accessibility of the user agent.
Software that follows the guidelines in this document will not only benefit
users with disabilities, it will be more flexible, manageable, extensible, and
beneficial to all users. Many users browse the Web with requirements similar to
those of users with disabilities. For instance:
- They may have a text-only screen, a small screen, or a slow Internet
connection (e.g., via a mobile phone browser). These users will benefit from
the same features that provide access to people with low vision or
blindness.
- 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 noisy environment, etc.).
These users will benefit from the same features that provide access to people
who cannot use a mouse or keyboard due to a visual or physical disability.
- They may not understand fluently the natural language of spoken content.
These users may benefit from the same text
equivalents that make spoken language accessible to people with a
hearing disability.
The guidelines in this document describe some basic principles of accessible
design. As the previous examples illustrate, accessible design generally
benefits all users.
This document is organized according to several principles that, if
followed, will improve the design of any type of user agent:
A user with a disability must have access to all the functionalities offered
by the user agent through its user
interface. Since some users cannot use some parts of the user
interface, it needs to be adaptable to their particular needs. To ensure the
accessibility of the user interface, people with disabilities should be
involved in its design and testing.
One requirement is that users be able to operate the user interface with a
variety of input devices (mouse, keyboard, speech input, etc.) and output
devices (graphical
display, speech output, Braille display, etc.). Redundant input and output
methods (accomplished through the standard input and output Application
Programming Interfaces (APIs) implemented by the user agent) help users
operate controls of the user agent as well as those included as part of content.
In order for people to use the user agent at all, the installation procedure
(and any subsequent software update procedures) must be accessible according to
the guidelines of this document. For example, the user agent must provide
device-independent access and accessible documentation of the installation.
This document includes a number of user interface requirements that are
similar to, or related to, general guidelines for user interface design. The
general topic of user interface design for computer software exceeds the scope
of this document, though some user interface requirements have been included
because of their importance to accessibility. The Techniques document
[UAAG10-TECHS] includes some references to general software design
guidelines and platform-specific accessibility guidelines.
Note: This document addresses accessible user agent support
for some markup language features (e.g., tables for layout, etc.) that may be
widely deployed, but whose use may be discouraged.
User agents must ensure access to
content:
- By ensuring access to all text, video, sound, and other content, including
equivalent alternatives for content (e.g.,
"alt" attribute values in HTML, external long descriptions, etc.) and
relationships among content (e.g., table cells and their headers).
- By allowing users to configure
content
rendering parameters (text size, colors, synthesized speech rate and
volume, etc.).
- By allowing users to navigate the content (e.g., with scrollbars,
navigation of active
elements, navigation according to structure, etc.).
- By making Web content and user agent information available to assistive
technology through standard APIs.
User agents can help the user remain oriented in a page or site by supplying
context, including:
- Browsing context. This includes information about the number of frames, the
title of the current frame, whether loading for a page or video clip has
finished or stalled, etc. Graphical
clues about browsing context (such as frames, proportional scroll bars, a
visually
highlighted selection, etc.) help some, but not all users, so the
context information must be available in a device-independent manner.
- Element context. This includes information about specific elements (e.g.,
the dimensions of a table, the length of an audio clip, the structure of a
form, etc.) and surrounding information. For instance, users who are blind and
who may navigate by jumping from link to link on a page or presentation will
benefit from nearby information that helps them decide quickly whether to
follow the link, as well as from metadata about the link: whether it has been
visited, the type of the target resource, the length of an audio or video clip
that will be started, whether activating the link involves a fee, etc.
The user agent should also minimize chances that user will become
disoriented. User agents should:
- For changes to the content or
viewport that the user does not initiate, allow
the user to request notification when these changes occur (e.g., when a
viewport opens, a script is executed, etc.).
- Allow the user to return to a known state (e.g., by providing browsing
history mechanism).
Following platform and operating system standards and guidelines promotes
accessibility, usability, and predictability. Platform guidelines explain what
users will expect from the look and feel of the user interface, keyboard
conventions, documentation, etc. Platform guidelines also include information
about accessibility features that the user agent should adopt rather than
reimplementing them.
So that desktop browsers can make information available to assistive
technologies, they must communicate through standard interfaces. An
architecture that makes possible programmatic access to
content and the user
interface will benefit assistive technologies, scripting tools, and
automated test engines. It will also promote software modularity and reuse.
The eleven 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.
- The rationale behind the guideline and identification of some groups of
users who benefit from it.
- A list of checkpoint definitions. This list may be split into groups of
related checkpoints. For instance, the list might be split into one group of
"checkpoints for content accessibility" and a second group of "checkpoints for
user interface accessibility". Within each group, checkpoints are ordered
according to their priority, e.g., Priority 1 before
Priority 2.
Each checkpoint definition includes:
- The checkpoint number.
- The statement of the checkpoint.
- The priority of the checkpoint.
- Informative notes about the checkpoint. These notes include examples, cross
references, and commentary to help readers understand the scope of the
checkpoint. Note: Some checkpoints in this document are more
general than others, and some may overlap in scope. Special case checkpoints
that identify important accessibility requirements are clearly labeled.
- A link to a corresponding section of "Techniques for User Agent
Accessibility Guidelines 1.0" [UAAG10-TECHS], where the checkpoint
is examined in detail, including information about implementation and
examples.
Each checkpoint has been designed to express clearly a minimal requirement
for accessibility. This document and "Techniques for User Agent Accessibility
Guidelines 1.0" [UAAG10-TECHS] both suggest how
users agents may go beyond satisfying minimal requirements to promote
accessibility, but user agents are only required to satisfy the minimal
requirements expressed by the checkpoints. Note: In some
cases, though the requirement of a checkpoint may be clear, without
documentation from vendors (e.g., about APIs they implement), it it may be difficult to
verify that a user agent has satisfied the requirement.
This document includes as an appendix a glossary. Another appendix lists all
checkpoints in tabular and linear format for convenient reference
[UAAG10-CHECKLIST].
A separate document, entitled "Techniques for User Agent Accessibility
Guidelines 1.0" [UAAG10-TECHS], provides suggestions
and examples of how each checkpoint might be satisfied. It also includes
references to other accessibility resources (such as platform-specific software
accessibility guidelines) that provide additional information on how a user
agent may satisfy each checkpoint. Readers are strongly encouraged to become
familiar with the Techniques document. Note that the techniques provided are
informative examples only, and other strategies may be used to meet the
checkpoint as well as, or in place of, those listed therein. The Techniques
document is expected to be updated more frequently than the current
guidelines.
"User Agent Accessibility Guidelines 1.0" is part of a series of
accessibility guidelines published by the Web
Accessibility Initiative (WAI). The series also includes
"Web Content Accessibility Guidelines 1.0" [WCAG10] and "Authoring Tool Accessibility
Guidelines 1.0"
[ATAG10]. In addition to this series, WAI provides other resources and
educational materials about Web accessibility.
The following editorial conventions are used throughout this document:
- HTML
element names are in uppercase letters
(e.g., H1, BLOCKQUOTE, TABLE, etc.)
- HTML attribute
names are double-quoted in lowercase letters (e.g., "alt", "title", "class",
etc.)
Each checkpoint in this document is assigned a priority that indicates its
importance for users with disabilities.
- [Priority
1]
- This checkpoint must be satisfied by user agents,
otherwise one or more groups of users with disabilities will find it impossible
to access the Web. Satisfying this checkpoint is a basic requirement for
enabling some people to access the Web.
- [Priority
2]
- This checkpoint should be satisfied by user agents,
otherwise one or more groups of users with disabilities will find it difficult
to access the Web. Satisfying this checkpoint will remove significant barriers
to Web access for some people.
- [Priority
3]
- This checkpoint may be satisfied by user agents to make it
easier for one or more groups of users with disabilities to access information.
Satisfying this checkpoint will improve access to the Web for some people.
This section explains how to make a valid
claim that a user agent conforms to this document. The terms "must",
"should", and "may" (and related terms) are used in this document in accordance
with RFC 2119
[RFC2119].
Anyone may make a claim (e.g., vendors about their own products, third
parties about those products, journalists about products, etc.). Claims may be
published anywhere (e.g., on the Web or in product documentation).
Claimants are solely responsible for their claims and the use of the conformance icons. If the subject of the claim
(i.e., the software) changes after the date of the claim, the claimant is
responsible for updating the claim. Claimants are encouraged to conform to the
most recent guidelines available.
This document has been designed to promote the accessibility of
general-purpose graphical user agents. While many of the principles set forth
in this document apply to other classes of user
agents, including assistive technologies, many of the checkpoints do not. As
the number of applicable checkpoints decreases for a piece of software, the
likelihood increases that the guidelines are not an accurate gauge of the
accessibility of that piece of software. Therefore, while assistive
technologies and other specialized user agents obviously promote accessibility,
they are not expected to conform (for instance, because they target a
particular user group, or they do not make available information through APIs) because they generally do strive to be
general purpose user agents. This document will help assistive technology
developers understand what functionalities and communication an accessible
general purpose user agent should provide.
Note: These guidelines aim to make conforming user agents
accessible. This includes the accessibility of the user agent's user interface
in addition to the accessibility of Web content. When used in conjunction with
assistive technology, conforming user agents are expected to be accessible to
most users with disabilities; in some cases, accessibility is "completed" by
the use of an assistive technology. Some user agents may not conform to these
guidelines but still be accessible to some users with disabilities. By
following the principles of this document, developers of all user agents (not
just conforming user agents) should improve the accessibility of their
products.
A conformance claim must indicate what conformance level is met:
Note: Conformance levels are spelled out in text (e.g.,
"Double-A" rather than "AA") so they may be understood when rendered as
speech.
A well-formed claim must include the following information:
- About the guidelines:
-
- The guidelines title/version: "User Agent Accessibility Guidelines
1.0".
- The URI of the guidelines:
http://www.w3.org/WAI/UA/WD-UAAG10-20000707.
- The conformance level satisfied: "A",
"Double-A", or "Triple-A".
- The checkpoints of the chosen conformance level considered not applicable. Claimants may use the checklist
[UAAG10-CHECKLIST] for this purpose.
- About the subject of the claim:
-
- The vendor name.
- The product name and version information (version number, minor release
number, and relevant bugfix update level).
- The operating system name and version number.
- Properties of the claim:
-
There is no restriction on the format used to make the claim, except that at
least one representation of the claim must be accessible according to the Web
Content Accessibility Guidelines 1.0 [WCAG10]. For instance, the claim may be
marked up using HTML, or expressed in the Resource Description Framework
(RDF)
[RDF10] Here is an example of a claim expressed in HTML:
<p>On 7 July 2000 , this product (version 2.3 on MyOperatingSystem)
conforms to <abbr title="the World Wide Web
Consortium">W3C</abbr>'s "User Agent Accessibility Guidelines 1.0",
http://www.w3.org/WAI/UA/WD-UAAG10-20000707, level Double-A. The <a
href="http://example.com/checkpoints"> list of checkpoints that do not
apply</a> is available online.</p>
A conformance claim is valid for a given
conformance level if:
- The claim is well-formed, and
- The subject of the claim satisfies all the applicable
checkpoints for that level.
Claimants (or relevant assuring parties) are responsible for the validity of
a claim. As of the publication of this document, W3C does not act as an
assuring party, but it may do so in the future, or establish recommendations
for assuring parties.
Claimants are expected to modify or retract a claim if it may be
demonstrated that the claim is not valid. Please note that it is not currently
possible to validate claims completely automatically.
As part of a conformance claim, people may use a conformance icon on a Web
site, on product packaging, in documentation, etc. Each conformance icon
(chosen according to the appropriate conformance
level) must link to the W3C explanation of the icon. The appearance of a
conformance icon does not imply that W3C has reviewed or validated the claim.
An icon must be accompanied by a well-formed
claim.
Note: In the event this document becomes a W3C
Recommendation, additional information about the icons and how to use them will
be available at the W3C Web site.
Not every checkpoint or guideline is applicable to every user agent.
Generally, a user agent must adhere to checkpoints that ensure accessibility of
functionalities that it offers to users and it must implement required
functionalities
natively. If the user agent supports keyboard input, it must support
accessible keyboard input. If the user agent supports images, it must ensure
access to each image or an equivalent alternative specified by the author. If a
user agent supports style sheets, it must implement the accessibility features
of the style sheet language. If the user agent supports frames, it must ensure
access to frame alternatives specified by the author. In short, if a user agent
offers a functionality, it must ensure that people with disabilities have
access to that functionality or an equivalent alternative.
Not all user agents support every content type, markup language feature,
input or output device interface, etc. When a content type, feature, or device
interface is not supported, checkpoints with requirements related to it do not
apply to the user agent. Thus, if a user agent supports style sheets at all,
all checkpoints related to style sheet accessibility apply. If a user agent
does not support style sheets at all, the checkpoints do not apply.
The applicability of checkpoints related to markup language features is
determined similarly. If a user agent supports tables, it must support the
accessibility features of the language related to tables (and so on, for
images, frames, video, links, etc.). The Techniques document includes
information about the accessibility features of W3C languages such as
HTML, CSS, and SMIL.
To summarize, a checkpoint (or portion of a checkpoint) applies to a user
agent unless at least one of the following is true:
- It refers solely to an unsupported input or output device interface. Note
that if the device interface is supported at all, it must be supported
accessibly for all functionalities of the user agent (and not just a subset of
functionalities).
- It includes requirements about the purpose of content (e.g., transcript,
caption, text equivalent, etc.) that the user agent cannot recognize through markup. For instance, HTML
user agents can recognize "alt", OBJECT content, or NOFRAMES content as
providing equivalents for other content since these are specified by the markup
language. HTML user agents are not expected to recognize that an image
description embedded in a paragraph is a text equivalent for the image.
- It includes requirements about a content type (script, image, video, sound,
applet, etc.) that the user agent either does not
recognize or recognizes but does not support
natively.
- It requires control of properties of an embedded object (e.g., video or
animation rate) that may not be controlled or accessed by the user agent.
- It refers to unsupported technologies that are not required by this
document. For instance, all conforming user agents are required to support the
W3C Document Object Model
[DOM2]. However, user agents are not required to support a
synchronized multimedia markup language such as SMIL 1.0 [SMIL]. If they do, the checkpoints that
refer to synchronized multimedia apply.
- It refers to communication with other software but no communication is
possible on the system housing the user agent (e.g., a kiosk with no infrared
port for communication with assistive
technologies)
Each checkpoint requirement must be satisfied by making information or
functionalities available through the user agent's
user interface unless the checkpoint
explicitly states that the requirement must be met by making information
available through an Application Programming Interface (API).
Since people use a variety of devices for input and output, user agent
developers must ensure redundancy in the
user interface. Messages and alerts to the user must not rely on
auditory or graphical cues alone; text, beeps, flashes, and other techniques
used together will make these alerts accessible. Text messages are generally
accessible since they may be used by people with graphical displays, speech
synthesizers, or Braille displays.
People who cannot or do not use a mouse must be able to operate the user
interface with the keyboard, through voice input, a head wand, touch screen, or
other device. Keyboard operation of all functionalities offered
through the user interface is one of the most important aspects of user agent
accessibility on almost every platform. The keyboard is available to most
users, it is widely supported, and hooks provided for the keyboard can be used
for other types of input.
To ensure that assistive
technologies can both operate the user agent programmatically (e.g.,
through simulated keyboard events) and monitor user agent output (e.g., output
text), developers are expected to use each API appropriately. Developers should not, for
example, pre-rasterize text or convert text to a series of strokes since doing
so may prevent assistive technologies from being able to render the text as
speech or Braille.
Checkpoints for communication with other software:
-
1.1 Ensure that every functionality available through the
user interface is also available through
every input API implemented by the user agent. This
checkpoint does not require developers to reimplement the input methods
associated with the keyboard, pointing device, voice, and other input APIs. The device-independence required by this
checkpoint applies to the functionalities described by the other checkpoints in
this document (e.g., installation, documentation, user agent user interface configuration, etc.).
[Priority 1]
- Note: This checkpoint does not require developers to
implement all operating system input APIs, only to make the software accessible
through those they do implement. Developers are not required to reimplement
input methods of APIs, e.g., text input through a mouse API or
pointer motion through a keyboard API.
-
Techniques for checkpoint 1.1
- 1.2
Use the standard input and output device APIs of the
operating system. Do not bypass the standard output
APIs when rendering information. [Priority 1]
- Note: For example, do not bypass (for
reasons of speed, efficiency, etc.) standard APIs to manipulate the memory associated with
rendered
content, since assistive
technologies monitor rendering through the
APIs. When available, developers should
use APIs at a higher level of abstraction than the
standard device APIs for the operating system. If these higher level APIs do
not use the standard device APIs properly, developers should also use the
standard device APIs.
-
Techniques for checkpoint 1.2
- 1.3 Implement the standard keyboard API of the operating system
and ensure that every functionality available through the user interface is
available through this API. This checkpoint always applies
on systems with a standard keyboard API.
[Priority 1]
- Note: This checkpoint is an important special case of checkpoint 1.1. Refer also to checkpoint
10.8.
- Techniques
for checkpoint 1.3
Checkpoints for user interface accessibility:
-
1.4 Ensure that the user can interact with all
active elements in a
device-independent manner.
[Priority 1]
- Note: For example, users who are blind or have physical
disabilities must be able to activate
text links, the links in a client-side image map, and form controls without a pointing device. This
checkpoint is an important special case of checkpoint 1.1.
-
Techniques for checkpoint 1.4
- 1.5 Ensure every non-text message (e.g.,
prompt, alert, notification, etc.) that is part of the user agent's user
interface also has a text
equivalent in the user interface. This text equivalent must be
available to assistive technologies through an
API.
[Priority 1]
- Note: For example, if the user is
notified of an event by an auditory cue, a text equivalent in the status bar
would satisfy this checkpoint. Using accessible standard interface controls
(per checkpoint 5.8) should
make text equivalents available to assistive technologies for rendering as
synthesized speech or Braille. Refer
also to checkpoint 5.5.
- Techniques for
checkpoint 1.5
Just as people use a variety of devices for
user interface input and output, they require that content be available in different modes --
auditory (synthesized and prerecorded), tactile (Braille), graphical, or a mix of some of these. Authors
and user agents share responsibility for ensuring redundant modes. Web content
providers specify equivalent alternatives for content, such as text equivalents for images or video, according
to the conventions of the markup language they are using (refer to the
Techniques document [UAAG10-TECHS] for details). User
agents must ensure that users have access to this content, as well as any
alternatives generated by the user agent itself. User agents should allow users
to specify whether primary content should be rendered, equivalent alternatives
should be rendered, or both.
Ensuring access to equivalent alternatives benefits all users since some
users may not have access to some content due to a technological limitation
(e.g., their mobile browser cannot display graphics) or simply a configuration
preference (e.g., they have a slow Internet connection and prefer not to
download images).
Checkpoints for content accessibility:
- 2.1 Make all
content available through the user interface. [Priority 1]
- Note: Users must have access to the
entire document
object through the user interface, including equivalent alternatives for content,
attributes, style sheets, etc. This checkpoint does not require that all
content be available in every viewport.
A document
source view is part of a solution for providing access to content,
but is not a sufficient solution on its own. Refer to guideline 5 for more
information about programmatic access to content.
-
Techniques for checkpoint 2.1
- 2.2 For a presentation that requires
user input within a specified time interval, allow the user to configure the user agent to pause the
presentation automatically and await user input before proceeding. [Priority 1]
- Techniques
for checkpoint 2.2
- 2.3 If
content available in a viewport has
equivalent alternatives, provide easy access in
context to the alternatives.
[Priority 1]
- Note: For example, if an image in an
HTML document has text
equivalents, provide access to them by rendering them nearby,
allowing the user to configure the user agent to render them in place of the
image, or allowing the user to follow a readily available link to them.
- Techniques
for checkpoint 2.3
-
2.4 Allow the user to specify that text transcripts,
collated text transcripts, captions,
and auditory
descriptions be rendered at the same time as the associated auditory
and visual tracks. Respect author-specified synchronization cues during
rendering. [Priority 1]
-
Techniques for checkpoint 2.4
- 2.5 For non-text
content that has no
recognized text
equivalent, generate a text equivalent from other author-supplied
content. If the non-text content is included by URI reference, base the text
equivalent on the URI reference and the content type of the resource. [Priority 2]
- Refer also to checkpoint
2.6.
- Techniques for
checkpoint 2.5
- 2.6 When the author has specified an empty text equivalent for non-text content, do not generate one. [Priority 3]
- Note: Authors may provide an empty text equivalent (e.g.,
alt="") when one is required by specification, but the non-text
content has no other function than pure decoration. Please refer to the Web
Content Accessibility Guidelines 1.0 [WCAG10] for more details. Refer also to checkpoint 2.5.
- Techniques for
checkpoint 2.6
-
2.7 For author-identified but unsupported natural
languages, allow the user to configure
the user agent to identify those language changes in
content. [Priority 3]
-
Techniques for checkpoint 2.7
Some content or behavior specified by the author may make the user agent
unusable or may obscure information. For instance, flashing content may trigger
seizures in people with photosensitive epilepsy, or may make a Web page too
distracting to be usable by someone with a cognitive disability. Blinking can
affect screen reader users, since screen readers (in conjunction with speech
synthesizers or Braille displays) may repeat the text every time it blinks.
Distracting background images, colors, or sounds make make it impossible for
users to see or hear other content.
Dynamically changing Web content may cause problems for some assistive
technologies. Scripts that cause unanticipated changes (viewports that open, automatically redirected
or refreshed pages, etc.) may disorient some users with cognitive
disabilities.
Users may need to turn off these effects in order to have access to content.
A user agent must provide on/off control even when it hands off content (e.g.,
a sound file) to the operating system or to a helper application for rendering;
the user agent is aware of the content type and thus can choose not to render
it. Please also refer to
guideline 4 and guideline
10.
Checkpoints for content accessibility:
-
3.1 Allow the user to configure
the user agent to not render background images.
[Priority 1]
- Note: Background images may make it difficult or
impossible to read superimposed text. When background images are not rendered,
user agents should render a solid background color. Refer also to checkpoint 4.3 and
checkpoint
4.4.
-
Techniques for checkpoint 3.1
- 3.2 Allow the user to configure the user agent to not render video.
[Priority 1]
- Note: This checkpoint is an important special case of checkpoint 4.6.
- Techniques for
checkpoint 3.2
- 3.3
Allow the user to configure
the user agent to render animated or blinking text as motionless text. [Priority 1]
-
Techniques for checkpoint 3.3
-
3.4 Allow the user to configure
the user agent to render animations or blinking images as motionless images.
[Priority 1]
-
Techniques for checkpoint 3.4
- 3.5 Allow the user to configure the user agent to not execute scripts
and applets. [Priority 1]
- Note: This is particularly important for scripts that
cause the screen to flicker, since people with photosensitive epilepsy can have
seizures triggered by flickering or flashing, particularly in the 4 to 59
flashes per second (Hertz) range.
- Techniques
for checkpoint 3.5
-
3.6 Allow
configuration so that author-specified "client-side redirects"
(i.e., those initiated by the user agent, not the server) do not change content automatically. Allow the user to access
the new content manually (e.g., by following a link).
[Priority 2]
-
Techniques for checkpoint 3.6
-
3.7 Allow
configuration so that author-specified content refreshes do not
change
content automatically. Allow the user to
access the new content manually (e.g., by activating a button or following a
link). Advise the user to refresh content according to the same schedule as the
automatic refresh, and indicate when the user has not yet refreshed content.
[Priority 2]
-
Techniques for checkpoint 3.7
- 3.8 Allow the user to configure the user agent to not render images.
[Priority 2]
- Techniques for
checkpoint 3.8
Providing access to content (refer to guideline 2) includes enabling users to configure its presentation. Users with low
vision may require larger text than the default size specified by the author or
the user agent. Users with color blindness may need to impose or prevent
certain color combinations. Users with physical or cognitive disabilities may
need to configure the rate of a multimedia presentation.
For dynamic presentations such as synchronized multimedia presentations
created with SMIL 1.0
[SMIL], users with cognitive, hearing, visual, and physical disabilities
may not be able to interact with a presentation within the time delays assumed
by the author. To make the presentation accessible to these users, user agents
rendering synchronized multimedia presentations or auditory
presentations must provide access to content in a time-independent
manner and/or allow users to adjust the playback rate of the presentation.
User agents must also allow users to configure the style of the user
interface elements, such as styles for selection
and content
focus (e.g., to ensure adequate color contrast).
For more information about configuration, refer to guideline 10.
Note: The checkpoints in this guideline apply to all
content, including equivalent alternatives.
Checkpoints for fonts and colors:
- 4.1
Allow the user to configure and
control the size of text. If this is done by allowing the user to
configure font size, make available the range of system font sizes. [Priority 1]
- For example, allow the user to specify a font size
directly through the user
agent user interface or in a
user style sheet. Or, allow the user to zoom or magnify
content.
-
Techniques for checkpoint 4.1
-
4.2 Allow the user to configure
font family. Allowing the user to select from among the range of system font
families. [Priority 1]
-
Techniques for checkpoint 4.2
-
4.3 Allow the user to configure
foreground color. Make available the range of system colors. [Priority 1]
-
Techniques for checkpoint 4.3
-
4.4 Allow the user to configure
background color. Make available the range of system colors. [Priority 1]
-
Techniques for checkpoint 4.4
Checkpoints for visual and auditory presentations:
- 4.5 Allow the user to slow the
presentation rate of audio, video, and animations. For a visual track, provide
at least one setting between 40% and 60% of the original speed. For a
pre-recorded auditory track including stand-alone audio presentations, provide
at least one setting between 75% - 80% of the original speed. For a
synchronized multimedia presentation where the visual track may be slowed from
100% to to 80% of its original speed, synchronize the visual and auditory
tracks. Below 80%, the user agent is not required to render the auditory track.
[Priority 1]
- Refer also to
checkpoint 2.4.
- Techniques
for checkpoint 4.5
- 4.6 Allow the user to start, stop,
pause, resume, advance, and rewind audio, video, and animations. [Priority 1]
-
Techniques for checkpoint 4.6
- 4.7 Allow the user to position text
transcripts,
collated text transcripts, and
captions on graphical
displays. The range of available positions must be the same range available to
the author according to specification.
[Priority 1]
-
Techniques for checkpoint 4.7
Checkpoints for audio volume control:
-
4.8 Allow the user to configure and
control the global audio volume. The user must be able to choose
zero volume (i.e., silent).
[Priority 1]
- Note: User agents should allow global
control of volume through available system-level controls.
-
Techniques for checkpoint 4.8
-
4.9 Allow the user to control
independently the volumes of audio sources recognized as distinct. [Priority 1]
-
Techniques for checkpoint 4.9
Checkpoints for synthesized speech:
-
4.10 Allow the user to configure and
control synthesized speech playback rate according to the full range
offered by the speech synthesizer. The lower bound for this range must be at
most 120 words per minute. The upper bound for this range must be at least 400
words per minute. The user must be able to increate or decrease the playback
rate in increments of 10 (or fewer) words per minute.
[Priority 1]
-
Techniques for checkpoint 4.10
-
4.11 Allow the user to configure
synthesized voice gender, pitch, pitch range, stress, and richness according to
the full range of values offered by the speech synthesizer. [Priority 2]
- Note: This list of voice characteristic
properties is based on the list in section 19.8 of Cascading Style Sheets Level
2 [CSS2]. Ranges of
values for these properties may vary among speech synthesizers.
-
Techniques for checkpoint 4.11
Checkpoints for user interface accessibility:
- 4.12
Allow the user to select from available
author and user style
sheets or to ignore them.
[Priority 1]
- Note: By definition, the user agent's default style sheet is always
present, but may be overridden by author or user styles.
-
Techniques for checkpoint 4.12
- 4.13 Allow the user to configure how the
selection is
highlighted (e.g., foreground and background color). [Priority 1]
-
Techniques for checkpoint 4.13
-
4.14 Allow the user to configure
how the content
focus is
highlighted (e.g., foreground and background color). [Priority 1]
-
Techniques for checkpoint 4.14
-
4.15 Allow the user to configure
whether the current
focus moves automatically to a
viewport that opens without an explicit request from the user. [Priority 2]
-
Techniques for checkpoint 4.15
- 4.16 Allow the user to configure the user agent so that after one viewport is open, no other viewports open
except as the result of explicit user request.
[Priority 2]
- Note: Some users may become disoriented when there are too
many open viewports. In addition to configuration, user agents should allow the
user to
control the number of open viewports by
selecting and closing them. Following an author-specified link that opens a new
viewport does not constitute an explicit request from the user. Refer also to
checkpoint 4.15, checkpoint 5.5, and checkpoint
9.3.
- Techniques
for checkpoint 4.16
Part of user agent accessibility involves communication within the user's
"accessibility environment." This includes:
- exchanging information about content and user agent user interface controls with other
user agents, especially with assistive
technologies.
- using standard communication channels for this exchange.
- ensuring the exchange takes place in a timely manner. Otherwise, assistive
technology rendering or response may lag behind that of the "source" user
agent, which can disorient the user. Timely exchange is also necessary for
proper synchronization of alternative renderings and simulation of events.
- following system conventions for user
agent user interface design,
documentation, and installation.
- incorporating system-level user preferences into the user agent. For
instance, some operating systems include settings that allow users to request
high-contrast colors (for users with low vision) or graphical rendering of
audio cues (for users with hearing disabilities).
Using interoperable APIs and following system conventions increases
predictability for users and for developers of assistive
technologies.
Checkpoints for communication with other software:
- 5.1 Provide programmatic read access to
HTML and XML
content by conforming to the W3C Document Object Model (DOM) Level 2 Core and
HTML modules and exporting the interfaces they define. [Priority 1]
- Note: These modules are defined in DOM
Level 2 [DOM2], chapters
1 and 2. Please refer to that specification for information about which
versions of HTML and XML are supported
and for the definition of a "read-only" DOM. This checkpoint
is an important special case of checkpoint 2.1. For content other than HTML and XML, refer
to checkpoint 5.3.
- Techniques
for checkpoint 5.1
- 5.2 If the user can modify
HTML and XML content
through the user
interface, provide the same functionality programmatically by
conforming to the W3C Document Object Model (DOM) Level 2 Core and
HTML modules and exporting the interfaces they define. [Priority 1]
- Note: For example, if the user
interface allows users to complete HTML forms, this must
also be possible through the DOM
APIs. These modules are defined in DOM
Level 2 [DOM2], chapters
1 and 2. Please refer to DOM Level 2 [DOM2] for information about which versions
of HTML and XML are supported. This
checkpoint is an important special case of checkpoint 2.1. For markup languages other than HTML and
XML, refer to checkpoint
5.3.
- Techniques
for checkpoint 5.2
- 5.3 For markup languages other than
HTML and XML, provide programmatic access to content using standard
APIs (e.g., platform-independent APIs and
standard APIs for the operating system). [Priority 1]
- Note: This checkpoint addresses content
not covered by checkpoints
checkpoint 5.1 and
checkpoint 5.2. This checkpoint is an important special case of checkpoint 2.1.
-
Techniques for checkpoint 5.3
- 5.4 Provide programmatic read and write
access to user
agent user interface controls using standard
APIs (e.g., platform-independent APIs
such as the W3C DOM, standard APIs for the operating system,
and conventions for programming languages, plug-ins, virtual machine
environments, etc.) [Priority 1]
- Note: For example, provide access to
information about the user agent's current input configuration so that assistive
technologies can trigger functionalities through keyboard events,
mouse events, etc.
- Techniques for
checkpoint 5.4
- 5.5 Using standard
APIs, provide programmatic notification
of changes to content and
user
interface controls (including
selection, content
focus, and user
interface focus).
[Priority 1]
- Note: Use the standard APIs required by guideline 5.
- Techniques for
checkpoint 5.5
- 5.6 Ensure that programmatic exchanges
proceed in a timely manner.
[Priority 2]
- Note: For example, the programmatic
exchange of information required by other checkpoints in this document must be
efficient enough to prevent information loss, a risk when changes to content or
user interface occur more quickly than the communication of those changes. The
techniques for this checkpoint explain how developers can reduce communication
delays, e.g., to ensure that assistive technologies have timely access to the
document object model and other
information needed for accessibility.
- Techniques
for checkpoint 5.6
- 5.7 Provide programmatic access to
Cascading Style Sheets (CSS) by conforming to the W3C
Document Object Model (DOM)
Level 2 CSS module and exporting the interfaces it defines.
[Priority 3]
- Note: This module is defined in DOM
Level 2 [DOM2], chapter
5. Please refer to that specification for information about which versions of
CSS are supported. This checkpoint is an important special
case of checkpoint
2.1.
- Techniques
for checkpoint 5.7
Checkpoints for user interface accessibility:
- 5.8 Follow operating system conventions
that benefit accessibility. In particular, follow conventions for
user interface design, keyboard
configuration, product installation, and
documentation. [Priority 2]
- Note: Operating system conventions that benefit
accessibility are those described in this document and in platform-specific
accessibility guidelines. Some of these conventions (e.g., sticky keys, mouse
keys, show sounds, etc.) are discussed in the Techniques document
[UAAG10-TECHS]. Refer
also to checkpoint 10.2.
- Techniques
for checkpoint 5.8
Developers should implement open and accessible specifications. Conformance
to open specifications promotes interoperability and accessibility by making it
easier to design assistive
technologies (also discussed in guideline 5).
While developers should implement the accessibility features of any
specification, this document promotes W3C specifications for several
reasons:
- W3C specifications include "built-in" accessibility features.
- W3C specifications undergo early review to ensure that accessibility issues
are considered during the design phase. W3C encourages the public to review and
comment on specifications at all times during their development, from Working
Draft to Candidate Recommendation (for implementation experience) to Proposed
Recommendation.
- W3C specifications are developed in a consensus process that includes
stakeholders in accessibility. Refer to the process defined by the W3C Process
Document
[W3CPROCESS]. For information about how specifications become W3C
Recommendations, refer to The
W3C Recommendation track ([W3CPROCESS], section 6.2). W3C
Recommendations (and other technical
reports) are published at the W3C Web site.
Checkpoints for content accessibility:
-
6.1 Implement the accessibility features of all supported
specifications (markup languages, style sheet languages, metadata languages,
graphics formats, etc.). [Priority 1]
- Note: This checkpoint applies to all specifications, not
just W3C specifications. The Techniques document [UAAG10-TECHS] provides information
about the accessibility features of some specifications, including W3C
specifications.
-
Techniques for checkpoint 6.1
- 6.2 Use and conform to W3C
Recommendations when they are available and appropriate for a task. [Priority 2]
- Note: For instance, for markup,
implement HTML 4.01 [HTML4], XHTML 1.0 [XHTML10], or XML 1.0
[XML]. For style sheets,
implement CSS ([CSS1], [CSS2]). For mathematics, implement MathML
[MATHML]. For
synchronized multimedia, implement SMIL 1.0 [SMIL]. For information
about programmatic access to HTML and XML
content, refer to guideline
5.
- Note: For reasons of backward
compatibility, user agents should continue to implement deprecated features of
specifications. The current guidelines refer to some deprecated language
features that do not necessarily promote accessibility but are widely deployed.
Information about deprecated language features is generally part of the
language's specification.
-
Techniques for checkpoint 6.2
Users should be able to navigate to important pieces of content within a
configurable view, identify the type of object they have navigated to, interact
with that object easily (if it is an
active element), and recall the surrounding context (to orient
themselves). Providing a variety of navigation mechanisms helps users with
disabilities (and all users) access content more quickly. Content navigation is
particularly important to users who access content serially (e.g., as
synthesized speech or Braille).
Sequential navigation (e.g., line scrolling, page scrolling, sequential
navigation through active elements, etc.) means advancing (or rewinding)
through rendered content in well-defined steps (line by line, screen by screen,
link by link, etc.). Sequential navigation can provide context, but can be
time-consuming. Sequential navigation is important to users who cannot scan a
page visually for context and benefits all users unfamiliar with a page.
Sequential access may be based on element type (e.g., links only), content
structure (e.g., navigation from heading to heading), or other criteria.
Direct navigation (go to a particular link or paragraph, search for
instances of a string, etc.) is faster than sequential navigation, but
generally requires familiarity with the content. Direct navigation is important
to users with some physical disabilities (who may have little or no manual
dexterity and/or increased tendency to push unwanted buttons or keys) and
benefits all "power users." Selecting text or structured content with the
pointing device is another form of direct navigation. Searching on text is one
important variant of direct navigation.
Structured navigation mechanisms such as navigation of headings, tables,
lists, etc., offer both context and speed. Structured access. For information
about programmatic access to document structure, refer to guideline 5.
User agents should allow users to configure navigation mechanisms (e.g., to
allow navigation of links only, or links and headings, or tables and forms,
etc.). For more information about configuration, refer to guideline 10.
Checkpoints for user interface accessibility:
- 7.1 Allow the user to navigate among all
viewports (including frames). [Priority 1]
- Note: For example, when all frames of a
frameset are displayed side-by-side, allow the user to navigate among them with
the keyboard. Or, when frames are accessed or viewed one at a time (e.g., by a
text browser or speech synthesizer), provide a list of links to other frames.
Navigation among all viewports implies at least allowing the user to cycle
through all viewports. Navigating into a viewport makes it the current
viewport.
- Techniques for
checkpoint 7.1
-
7.2 For user agents that offer a browsing history mechanism, when
the user returns to a previous viewport, restore the point of
regard in the viewport.
[Priority 1]
- Note: For example, when the user
navigates from one viewport to another (per checkpoint 7.1) and back, the point of regard should be restored.
-
Techniques for checkpoint 7.2
- 7.3 Allow the user to navigate all
active elements. If the author has not
specified a navigation order, allow at least forward sequential navigation of
elements, in document order.
[Priority 1]
- Note: Navigation may include non-active
elements in addition to active elements. This checkpoint is an important
special case of checkpoint
7.6.
- Techniques for
checkpoint 7.3
- 7.4 Allow the user to choose to navigate
only active
elements. If the author has not specified a navigation order, allow
at least forward and reverse sequential navigation of active elements, in
document order. [Priority 2]
- Techniques
for checkpoint 7.4
- 7.5 Allow the user to search for rendered text
content, including rendered text
equivalents. Allow forward and reverse searches with a
case-insensitivity option.
[Priority 2]
- Note: Use operating system conventions for marking the
result of a search (e.g., selection
or content
focus).
- Techniques for
checkpoint 7.5
- 7.6 Allow the user to navigate efficiently
to and among important structural elements identified by the author. For markup
languages with known semantics, allow forward sequential navigation to
important structural elements. For other markup languages, allow at least
forward sequential navigation of the document object, in document order. [Priority 2]
- Note: Structured navigation of headings, tables, forms,
lists, etc., is most effective when available in conjunction with a
configurable view (checkpoint 8.4 and checkpoint 8.5). User agents should follow operating system
conventions for indicating navigation progress (e.g.,
selection or content
focus).
- Techniques for
checkpoint 7.6
- 7.7
Allow the user to configure and
control the set of elements navigable according to checkpoint 7.6 by allowing
inclusion and exclusion of element types in the navigation sequence. [Priority 3]
- Note: For example, allow the user to navigate only
paragraphs, or only headings and paragraphs, etc.
-
Techniques for checkpoint 7.7
All users require clues to help them understand their "location" when
browsing. Some mechanisms that provide such clues include:
- Highlighted (either graphically or aurally)
selection and content
focus mechanisms, which distinguish the selected or focused content
from other content.
- A history mechanism, which allows users to return to a familiar or
comprehensible "state".
Orientation mechanisms such as these are especially important to users who
view content serially, (e.g., when rendered as speech or Braille). For
instance, these users cannot "scan" a graphically displayed table with their
eyes for information about a table cell's headers, neighboring cells, etc. User
agents must provide other means for users to understand table cell
relationships, frame relationships (what relationship does the graphical layout
convey?), form context (have I filled out the form completely?), link
information (have I already visited this link?), etc.
User agents must make orientation information available in an output device
independent manner. Refer also
to guideline 1.
Checkpoints for content accessibility:
- 8.1 Make available to the user the
author-specified purpose of each table and the relationships among the table
cells and headers. [Priority 1]
- Note: For example, provide information about table
headers, how headers relate to cells, table summary information, cell position
information, table dimensions, etc. Graphical user agents may satisfy this
checkpoint by rendering a table as a two dimensional grid and by ensuring that
users can find headers associated with cells. Refer also to checkpoint
5.3. Note: This checkpoint is an important special case of
checkpoint 2.1.
- Techniques for
checkpoint 8.1
- 8.2 Indicate to the user, by at least
one technique other than distinguishing colors, whether a link has been
visited. [Priority 2]
- Note: Do not use color as the only
distinguishing factor between visited and unvisited links as some users may not
perceive colors and some devices may not render them. This checkpoint is an
important special case of checkpoint
8.6.
- Techniques
for checkpoint 8.2
- 8.3 Indicate to the user, by at least one
technique other than distinguishing colors, whether a link has been marked up
to indicate that following it will involve a fee.
[Priority 2]
- Note: This checkpoint is an important
special case of checkpoint 8.6.
The W3C specification "Common Markup for micropayment per-fee-links"
[MICROPAYMENT] describes how authors may mark up micropayment information
in an interoperable manner.
- Techniques for
checkpoint 8.3
- 8.4
Make available to the user an "outline" view of
content, composed of text labels for important structural elements
(e.g., heading text, table titles, form titles, etc.). The set of important
structural elements is the same required by checkpoint 7.6.
[Priority 2]
- Note: This checkpoint is meant to allow
the user to simplify the view of content by hiding some content selectively.
For example, for each frame in a frameset, provide a table of contents composed
of headings (e.g., the H1 - H6 elements in HTML) where each entry in the table
of contents links to the heading in the document. This checkpoint does not
require that the outline view be navigable, but this is recommended; refer to
checkpoint 7.6. For those
elements that do not have associated text titles or labels, the user agent
should use generate a brief text label (e.g., from content, the element type,
etc.).
-
Techniques for checkpoint 8.4
-
8.5 Allow the user to configure and
control the outline view of checkpoint 8.4 to include and exclude element types. [Priority 3]
- Note: For example, allow the user to configure the level of detail of the outline.
Refer also to checkpoint
8.4 and checkpoint
5.4.
-
Techniques for checkpoint 8.5
- 8.6 To help the user decide whether to follow
a link, make available to the user the following information: link content,
link title, whether the link is internal, whether the link has been followed,
whether following it may involve a fee, and information about the type, size,
and natural language of the linked resource.
[Priority 3]
- Note: User agents are not required to
retrieve the resource designated by a link as part of computing information
about the link.
- Techniques for
checkpoint 8.6
- 8.7
Allow the user to configure and
control which link information required by checkpoint 8.6 to present.
[Priority 3]
- Note: Refer also to checkpoint 8.6.
-
Techniques for checkpoint 8.7
Checkpoints for user interface accessibility:
-
8.8 Implement
selection, content
focus, and user
interface focus mechanisms. Implement them according to system
conventions per checkpoint
5.8. [Priority 1]
- Note: Refer also to checkpoint 7.1.
-
Techniques for checkpoint 8.8
- 8.9 Provide a mechanism
for
highlighting and identifying (through a
standard interface where available) the current
viewport,
selection, and content
focus. [Priority 1]
- Note: This includes highlighting and
identifying frames. This checkpoint is an important special case of checkpoint 1.1. Refer also to checkpoint 8.6.
-
Techniques for checkpoint 8.9
- 8.10 Provide a mechanism for highlighting and identifying
active elements.
[Priority 2]
- Note: On most systems, the focus is used to identify and highlight active
elements.
- Techniques
for checkpoint 8.10
For people with visual disabilities or certain types of learning
disabilities, it is important that the point of regard remain as stable as possible.
Unexpected changes may cause users to lose track of how many viewports are open, which is the current
viewport, etc. User agents should notify the user of content and viewport
changes caused by scripts, or allow users to turn off scripts entirely (refer
to checkpoint 3.5).
Refer to checkpoint 5.5 for
requirements about notification of user interface changes through an API.
Checkpoints for user interface accessibility:
-
9.1 Ensure that when the selection
or content
focus changes, it is in a viewport
after the change. [Priority 2]
- Note: For example, if users navigating
links move to a portion of the document outside the viewport, the viewport
should scroll to include the new location of the focus.
-
Techniques for checkpoint 9.1
- 9.2 Allow configuration so the user is
prompted to confirm any form submission not caused by explicit activation of a
form submit control. [Priority 2]
- Note: For example, do not submit a form
automatically when a menu option is selected, when all fields of a form have
been filled out, or when a mouseover event occurs.
- Techniques
for checkpoint 9.2
- 9.3 Allow the user to configure notification preferences for common
types of
content and
viewport changes.
[Priority 3]
- Note: For example, allow the user to
choose to be n