User Agent Accessibility Guidelines 1.0
W3C Working Draft 15 January 1999
- This version:
- http://www.w3.org/WAI/UA/WD-UAAG-20000115
- (plain text,
gzip PostScript,
gzip PDF,
gzip tar file
of HTML,
zip archive of HTML)
- Latest version:
- http://www.w3.org/WAI/UA/UAAG
- Previous version:
- http://www.w3.org/WAI/UA/WD-WAI-USERAGENT-19991220
- 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.
This document provides guidelines to user agent developers for making their products accessible to people
with disabilities. User agents include graphical desktop browsers,
multimedia players, plug-ins, voice browsers, and other assistive technologies used to
access Web content. Developers must ensure that user agent
functionalities are accessible to users with disabilities and that
user agents communicate with other user agents to provide additional
functionalities necessary for full access to the Web. These guidelines
explain how following certain good design principles will make the Web
accessible to users with disabilities and will benefit all users.
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.
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 Working Draft incorporates more resolutions of issues raised
during Last Call.
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 participants in the WAI User Agent (UA) Working Group.
Please send comments about this document to the public mailing list:
w3c-wai-ua@w3.org.
Mailing list archives
are available on the Web.
This document has been produced as part of the Web Accessibility Initiative. The
goals of the WAI UA Working
Group are described in the WAI UA charter. A
list of the UA
Working Group participants is available.
A list of current W3C Recommendations and other technical documents
can be found at http://www.w3.org/TR.
An appendix to this document [UA-CHECKLIST] lists all
checkpoints for convenient reference.
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:
- 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.
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 not speak or understand fluently
the language in which content is written or spoken.
These users will benefit from the same
features that provide access to people who cannot hear
the auditory track of a presentation and require
captions.
- 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.
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:
The user 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 the user
interface, it needs to be adaptable to their particular needs.
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, etc.). Redundant input and output methods (accomplished
through the standard input and output
Application Programming Interfaces (APIs)
supported by the user agent) help users
operate controls of the user agent as well as those
included as part of content.
Another requirement is that users have two operational
approaches to the the user interface:
- Contextual access (e.g,. through cascading menus, through help systems,
etc.) may help users with cognitive disabilities and any users unfamiliar with
the tool.
- Direct access (e.g., through keyboard or voice shortcuts)
helps some users with physical disabilities and speeds up
use by experienced users. Such access can be vital for
users with physical disabilities who have little or no manual dexterity,
and increased tendency to push unwanted buttons or keys.
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, including
device-independent access and accessible documentation of the
installation procedure. Furthermore, it is important to maintain
consistency in the user interface between versions of the software.
In particular, developers should make changes conservatively to the
layout of user interface controls, behavior of existing
functionalities, and default keyboard configuration. Consistency is
not a rigid requirement, however, and is less important than improved
general accessibility and usability.
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 [UA-TECHNIQUES] includes some
references to general software design guidelines and platform-specific
accessibility guidelines.
Note. This document addresses accessible user
agent support for some language features (e.g., frames) that may be
widely deployed, but whose use may be discouraged in the specifications
in which they are defined.
User agents must ensure access to content:
- By ensuring access to all text, video, sound, and other content,
including alternative equivalents 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
control 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, structured views, 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 with blindness who navigate by jumping from link to link
on a page or presentation benefit from nearby information
that will help them decide quickly whether to follow the link,
as well as 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 the link involves
a fee, etc.
The user agent should also minimize the chances the
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 known states. The "back"
feature is a valuable "undo" tool for returning to
a known state.
Following platform and operating system standards and guidelines
promotes accessibility, usability, and predictability. So that
desktop browsers can make information available to assistive technologies, they must
communicate information about content and the
user interface through
standard interfaces. Even when a user agent implements a feature
natively, it should make relevant information available through
standard interfaces. This will benefit assistive technologies,
scripting tools, and automated test engines. It will also promote
modularity and software 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 some
groups of users who benefit from it.
- A list of checkpoint definitions.
Each checkpoint definition includes:
- The checkpoint number.
- The statement of the checkpoint.
- The priority of the checkpoint.
- Optional informative notes, clarifying examples,
and cross references to related guidelines or checkpoints.
- A link to a corresponding section
of the Techniques Document [UA-TECHNIQUES],
where the checkpoint is examined 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. Note. The checkpoints have been designed
to be verifiable, although some may be difficult to verify without
documentation from vendors about what features and APIs they support.
An appendix to this document [UA-CHECKLIST] lists all
checkpoints for convenient reference.
A separate document, entitled "Techniques for User Agent Accessibility Guidelines 1.0"
[UA-TECHNIQUES], 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. 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"
[WAI-WEBCONTENT] and "Authoring Tool Accessibility Guidelines 1.0"
[WAI-AUTOOLS].
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 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.
The terms "must", "should", and "may" (and related terms) are used
in this document in accordance with RFC 2119 [RFC2119].
User agents must satisfy all the applicable checkpoints for a chosen conformance level.
This section defines three levels of conformance to this
document.
- 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
(e.g., "Double-A" rather than "AA") so they may be understood when
rendered as speech.
Claims of conformance to this document must use one of the
following two forms.
Form 1: Specify:
- The guidelines title: "User Agent Accessibility Guidelines 1.0"
- The guidelines URI: http://www.w3.org/WAI/UA/WD-UAAG-20000115
- The conformance level satisfied: "A", "Double-A", or "Triple-A".
- The version number and operating system of the software
covered by the claim.
- The date of the claim.
- A list consisting of checkpoints that have been satisfied and
those that are considered not
applicable.
The appendix list of checkpoints
[UA-CHECKLIST] may be used for this purpose.
Example of Form 1:
This product conforms to W3C's "User Agent Accessibility Guidelines 1.0",
available at http://www.w3.org/WAI/UA/WD-UAAG-20000115, level Double-A.
Form 2: Include, on product packaging or documentation, one of three
icons provided by W3C. 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. At that time the Working Group
will also indicate how claims of conformance can deliver completed
list of checkpoints.
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 alternative equivalent supplied by the
author. If a user agent supports style sheets, it must implement the
accessibility features of the style sheet language. If the user agent
supports frames, it must ensure access to frame alternatives supplied
by the author. In short, if a user agent offers a functionality, it
must ensure that people with disabilities have access to that
functionality or an alternative equivalent.
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 (or images, or frames, or video, or links, etc.). The Techniques
Document includes information about the accessibility features of W3C
languages such as HTML, CSS, and SMIL.
To summarize, a checkpoint (or portion of a checkpoint)
applies to a user agent unless:
- 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.
- 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 requires technologies that are
unsupported by the user agent (e.g., markup language, synchronized
multimedia, metadata description language, etc.).
- 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 interface).
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 very accessible
since they may be used by people with graphical displays, speech
synthesizers, or Braille devices.
People who can't or don't 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.
In addition to ensuring device-independent access to all
functionalities, developers must use the standard APIs of the operating system for supported
devices. This allows assistive technologies to operate the user agent programmatically by
simulating events from the mouse, keyboard, pen, or other input
device. For instance, when standard APIs are used, some users who may
not be able to enter text easily through a standard physical keyboard
can still use voice input or an on-screen keyboard to operate the user
agent.
Checkpoints for user interface accessibility:
- 1.1 Ensure that every functionality available through the user interface is also available through every input device API supported by the user agent. Excluded from this requirement are functionalities that are part of the input device API itself (e.g., text input for the keyboard API, pointer motion for the pointer API, etc.) [Priority 1]
-
Note. The device-independence
required by this checkpoint applies to functionalities
described by the other checkpoints in this document
(e.g., installation, documentation,
user agent user interface
configuration, etc.).
This checkpoint does not require user agents to use
all operating system input device APIs, only to make
the software accessible through those they do use.
- Techniques for checkpoint 1.1
- 1.2 Use the standard input and output device APIs of the operating system. [Priority 1]
-
For example, do not bypass standard APIs
to manipulate the memory associated
with rendered content, since screen review
utilities monitor rendering through the
APIs.
- Techniques for checkpoint 1.2
- 1.3 Ensure that the user can interact with all active elements in a device-independent manner. [Priority 1]
- 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.
Note. This checkpoint is an important special case of
checkpoint 1.1.
- Techniques for checkpoint 1.3
- 1.4 Ensure that every functionality offered through the user interface is available through the standard keyboard API. [Priority 1]
-
Note. This checkpoint is an important special case of
checkpoint 1.1. The comment about
low-level functionalities in checkpoint 1.1
applies to this checkpoint as well.
Refer also to checkpoint 10.7.
- Techniques for checkpoint 1.4
- 1.5 Ensure that all messages to the user (e.g., informational messages, warnings, errors, etc.) are available through all output device APIs used by the user agent. Do not bypass the standard output APIs when rendering information (e.g., for reasons of speed, efficiency, etc.). [Priority 1]
-
For instance, ensure that information about how
much content has been viewed is available
through output device
APIs.
Proportional navigation bars
may provide this information
graphically, but the information
must be available (e.g., as text)
to users relying on synthesized speech or Braille output.
- 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 supply alternative equivalents 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 [UA-TECHNIQUES] 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, alternative equivalents, or both.
Access to content requires more than mode redundancy. For dynamic
presentations such as synchronized multimedia presentations created
with SMIL 1.0 [SMIL], users with cognitive or 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 presentations must either
provide access to content in a time-independent manner or allow users
to control the playback rate of the
presentation.
Ensuring access to alternative equivalents 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 Ensure that the user has access to all content, including alternative equivalents for content. [Priority 1]
- Techniques for checkpoint 2.1
- 2.2 For presentations that require user interaction within a specified time interval, allow the user to control the time interval (e.g., by allowing the user to pause and restart the presentation, to slow it down, etc.). [Priority 1]
- Techniques for checkpoint 2.2
- 2.3 When no text equivalent has been supplied for an object, make available to the user and programmatically author-supplied information to help identify the object (e.g., object type, file name, etc.). [Priority 2]
- Techniques for checkpoint 2.3
- 2.4 When a text equivalent for content is explicitly empty (i.e., an empty string), render nothing. [Priority 3]
- Techniques for checkpoint 2.4
Checkpoints for user interface accessibility:
- 2.5 If more than one alternative equivalent is available for content, allow the user to choose from among the alternatives. This includes the choice of viewing no alternatives. [Priority 1]
-
For example, if a multimedia presentation has several
captions
(or subtitles) available (e.g., with different
levels of detail, for different reading levels,
in different languages, etc.)
allow the user to choose from among them.
- Techniques for checkpoint 2.5
- 2.6 Allow the user to specify that text transcripts, captions, and auditory descriptions be rendered at the same time as the associated auditory and visual tracks. [Priority 1]
- Note. Respect synchronization cues
during rendering.
- Techniques for checkpoint 2.6
- 2.7 For author-identified but unsupported natural languages, allow the user to request notification of 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. 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 or
sounds make make it impossible for users to see or hear other content.
Some color combinations may affect users with some visual disabilities.
Dynamically changing Web content, scripts that open
viewports,
automatically redirect or refresh pages, or cause similar changes
unanticipated by the user may disorient some users with cognitive
disabilities and may cause problems for some assistive technologies.
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 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 turn on and off rendering of background images. [Priority 1]
- Techniques for checkpoint 3.1
- 3.2 Allow the user to turn on and off rendering of background audio. [Priority 1]
- Techniques for checkpoint 3.2
- 3.3 Allow the user to turn on and off rendering of video. [Priority 1]
- Techniques for checkpoint 3.3
- 3.4 Allow the user to turn on and off rendering of audio. [Priority 1]
- Techniques for checkpoint 3.4
- 3.5 Allow the user to turn on and off animated or blinking text. [Priority 1]
- Techniques for checkpoint 3.5
- 3.6 Allow the user to turn on and off animations and blinking images. [Priority 1]
- Techniques for checkpoint 3.6
- 3.7 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, particularly
in the 4 to 59 flashes per second (Hertz) range.
- Techniques for checkpoint 3.7
- 3.8 Allow the user to turn on and off rendering of images. [Priority 3]
- Techniques for checkpoint 3.8
- 3.9 For automatic content changes specified by the author (e.g., content refresh and page forwards), allow the user to slow the rate of change. [Priority 3]
-
For example, alert the users to content refresh,
and allow them to specify a refresh rate
For example, allow the user to slow content refresh
to once per 10 minutes. Or, allow the user to
stop automatic refresh, but indicate that
content needs refreshing and allow the user
to refresh the content by activating a button or link.
- Techniques for checkpoint 3.9
Providing access to content (refer to guideline 2) includes
enabling users to control 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 deficiencies may need to impose or prevent certain color
combinations. Users with motor or cognitive disabilities may need to
control the rate of a multimedia presentation.
User agents must also allow users to control the style of the user
interface elements, such as selection and
content focus styles (e.g., to ensure
adequate color contrast).
Note. The checkpoints in this guideline apply to
all content, including alternative equivalents.
Refer also to guideline 10.
Checkpoints for fonts and colors:
- 4.1 Allow the user to control the size of text. [Priority 1]
-
For example, allow the user to
specify a font family and style directly through the
user agent user interface. Or, allow the user to give preferences
through a user style sheet. Or allow the
user to magnify text.
- Techniques for checkpoint 4.1
- 4.2 Allow the user to control font family. [Priority 1]
- Techniques for checkpoint 4.2
- 4.3 Allow the user to control foreground color. [Priority 1]
- Techniques for checkpoint 4.3
- 4.4 Allow the user to control background color. [Priority 1]
- Techniques for checkpoint 4.4
Checkpoints for multimedia.
- 4.5 Allow the user to slow the presentation rate of audio, video, and animations. [Priority 1]
- Techniques for checkpoint 4.5
- 4.6 Allow the user to start, stop, pause, advance, and rewind audio, video, and animations. [Priority 1]
- Techniques for checkpoint 4.6
- 4.7 Allow the user to control the audio volume. [Priority 2]
- Techniques for checkpoint 4.7
- 4.8 Allow the user to control the position of captions on graphical displays. [Priority 1]
- Techniques for checkpoint 4.8
Checkpoints for synthesized speech:
- 4.9 Allow the user to control synthesized speech playback rate. [Priority 1]
- Techniques for checkpoint 4.9
- 4.10 Allow the user to control synthesized speech volume. [Priority 1]
- Techniques for checkpoint 4.10
- 4.11 Allow the user to control synthesized speech pitch, gender, and other articulation characteristics. [Priority 2]
- 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 ignore them. [Priority 1]
- Note. The browser's default style sheet
is always present but may be overridden.
- Techniques for checkpoint 4.12
- 4.13 Allow the user to control how the selection is highlighted (e.g., foreground and background color). [Priority 1]
- Techniques for checkpoint 4.13
- 4.14 Allow the user to control 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 control user agent initiated spawned viewports. [Priority 2]
-
For instance, allow the user to cancel viewport creation
or prevent focus changes when a viewport is created.
Refer also to checkpoint 9.1.
- Techniques for checkpoint 4.15
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 between the user agent and
assistive technologies,
- using standard communication channels for this exchange,
- following system conventions for
user agent user interface design, documentation,
and installation, and
- incorporating system-level user preferences (e.g.,
flags for high-contrast colors and ShowSounds for
people with hearing disabilities) into the user agent.
Using interoperable APIs and following
system conventions increases predictability for users and for
developers of assistive technologies.
Checkpoints for content accessibility:
- 5.1 Provide programmatic read and write access to content by conforming to W3C Document Object Model (DOM) specifications and exporting interfaces defined by those specifications. [Priority 1]
- For example, refer to DOM Levels 1 and 2 ([DOM1],
[DOM2]). User agents should
export these interfaces using available operating system conventions.
- Techniques for checkpoint 5.1
Checkpoints for user interface accessibility:
- 5.2 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]
-
For example, ensure that assistive technologies have access to information about the
current input configuration so that
they can trigger functionalities through keyboard events, mouse
events, etc.
- Techniques for checkpoint 5.2
- 5.3 Implement selection, content focus, and user interface focus mechanisms and make them available to users and through APIs. [Priority 1]
- Refer also to checkpoint 7.1 and checkpoint 5.2.
Note. This checkpoint is an important special case of
checkpoint 5.2.
- Techniques for checkpoint 5.3
- 5.4 Provide programmatic notification of changes to content and user interface controls (including selection, content focus, and user interface focus). [Priority 1]
- Refer also to checkpoint 5.2.
- Techniques for checkpoint 5.4
- 5.5 Ensure that programmatic exchanges proceed in a timely manner. [Priority 2]
- This is important
for synchronization of alternative renderings and simulation of events.
- Techniques for checkpoint 5.5
- 5.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 10.2.
- Techniques for checkpoint 5.6
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). W3C specifications (e.g.,
HTML 4.0 [HTML40], CSS 1 [CSS1], CSS 2 [CSS2], MathML
[MATHML], SMIL 1.0 [SMIL], etc.) promote accessibility for the
following 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.
Checkpoints for content accessibility:
- 6.1 Implement the accessibility features of supported specifications (markup languages, style sheet languages, metadata languages, graphics formats, etc.). [Priority 1]
- Note. The
Techniques Document [UA-TECHNIQUES]
addresses the accessibility features of W3C specifications.
- Techniques for checkpoint 6.1
- 6.2 Conform to W3C specifications when they are appropriate for a task. [Priority 2]
- For instance, for markup, implement
HTML 4.0 [HTML40] 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 access to the structure of
HTML or XML documents, implement the DOM ([DOM1], [DOM2]).
Refer also to checkpoint 5.1.
- Note. For reasons
of backward compatibility, user agents should continue to support
deprecated features of specifications. The current guidelines
refer to some deprecated language features that do not necessarily
promote accessibility but are widely deployed.
- Techniques for checkpoint 6.2
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 single-line refreshable
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 require more time to reach the target
information. Sequential navigation is important to users who cannot
scan a page 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., navigate from header to header), or other
criteria.
Direct navigation (go to a particular link or paragraph, search for
instances of this string, etc.) is faster than sequential navigation,
but generally requires familiarity with the content. Direct
navigation is important to users with some physical disabilities 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 headers,
tables, lists, etc. offer both context and speed. For information
about navigation of the Document Object Model, refer to
checkpoint 5.1.
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 10..
Checkpoints for user interface accessibility:
- 7.1 Allow the user to navigate viewports (including frames). [Priority 1]
-
Note.
For example, when all frames of a frameset are displayed
side-by-side, allow the user to navigate among them
with the keyboard. Or, when frames are accessed or viewed one at a time
(e.g., by a text browser or speech synthesizer), provide
a list of links to other frames.
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]
- For example, when users navigate
"back" and "forth" among viewports, they should find the
viewport position where they last left it.
- Techniques for checkpoint 7.2
- 7.3 Allow the user to navigate all active elements. [Priority 1]
-
Navigation may include non-active
elements in addition to active elements.
Note. 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. [Priority 2]
- Techniques for checkpoint 7.4
- 7.5 Allow the user to search for rendered text content, including rendered text equivalents. [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 according to structure. [Priority 2]
- For example, allow the user to navigate familiar
elements of a document: paragraphs, tables and table
cells, headers, lists,
etc. Note.
Use operating system conventions to indicate navigation
progress (e.g.,
selection or content focus).
- Techniques for checkpoint 7.6
- 7.7 Allow the user to configure structured navigation. [Priority 3]
- For example, allow the user to navigate only paragraphs,
or only headers and paragraphs, etc.
- Techniques for checkpoint 7.7
All users require clues to help them understand their "location"
when browsing.
Graphical user agents provide clues such as
proportional scroll bars to indicate how much content
has been viewed. A highlighted
selection or content focus (either visually or aurally)
distinguishes the selected or focused content from other
content. User agent history allows users to track and undo
their browsing path. HTML 4.0 includes
THEAD and TBODY elements
([HTML40], section 11.2.3)
that allow authors to create table headers and footers
so that user agents can scroll table content while keeping
table head and foot visible on the screen.
Orientation mechanisms such as these are especially important to
users who view content serially, (e.g., 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]
- For example, provide information about table headers,
how headers relate to cells, table summary
information, cell position information, table dimensions, etc.
Refer also to checkpoint 5.1.
Note. This checkpoint is an important special case of
checkpoint 2.1.
- Techniques for checkpoint 8.1
- 8.2 Indicate to the user whether a link has been visited. [Priority 2]
-
Note. This checkpoint is an important special
case of checkpoint 8.4.
- Techniques for checkpoint 8.2
- 8.3 Indicate to the user 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.4.
"Common Markup for micropayment per-fee-links"
[MICROPAYMENT] describes how authors may mark up
micropayment information in an interoperable manner.
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.
- Techniques for checkpoint 8.3
- 8.4 Make available to the user information that will help the user decide whether to follow a link. [Priority 3]
-
Note.
Useful information includes: whether the link
designates an internal or external anchor,
the type of the target resource, the length and size of an
audio or video clip that will be started, and the
expected natural language
of target resource.
- Techniques for checkpoint 8.4
Checkpoints for user interface accessibility:
- 8.5 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.
Note.
This checkpoint is an important special case of
checkpoint 1.1.
Refer also to checkpoint 8.4.
- Techniques for checkpoint 8.5
- 8.6 Make available to the user an "outline" view of content, built from structural elements (e.g., frames, headers, lists, forms, tables, etc.) [Priority 2]
-
For example, for each frame in a frameset, provide a table
of contents composed of headers where each entry in the
table of contents links to the header in the document.
Note. The outline view doesn't have
to be navigable, but if it is, it may satisfy checkpoint 7.6.
- Techniques for checkpoint 8.6
- 8.7 Provide a mechanism for highlighting and identifying active elements (through a standard interface where available). [Priority 2]
-
Note. User agents may satisfy this
checkpoint by implementing the appropriate style sheet
mechanisms, such as link highlighting.
- Techniques for checkpoint 8.7
- 8.8 Allow the user to configure the outline view. [Priority 3]
- For example, allow the user
to control the level of detail of the
outline. Refer also to checkpoint 8.6. Refer also to checkpoint 5.2.
- Techniques for checkpoint 8.8
- 8.9 Allow the user to configure what information about links to present. [Priority 3]
-
Note.
Using color as the only distinguishing
factor between visited and unvisited links
does not suffice since color may not be perceivable
by all users or rendered by all devices.
Refer also to checkpoint 8.4.
- Techniques for checkpoint 8.9
For people with visual disabilities or certain types of learning
disability, 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 dynamic content, or allow users to turn off
scripts entirely (refer to checkpoint 3.7).
User agents must ensure that notifications are available
in an output device independent manner. Refer also to guideline 1.
Checkpoints for user interface accessibility:
- 9.1 Provide information about user agent initiated content and viewport changes through the user interface and through APIs [Priority 1]
-
For example, inform the users when a script causes a popup menu to appear.
Refer also to checkpoint 4.15.
- Techniques for checkpoint 9.1
- 9.2 Ensure that when the selection or content focus changes, it is in a viewport after the change. [Priority 2]
-
For example, users navigating links may navigate to a portion
of the document outside the viewport, so the viewport should
scroll to include the new location of the focus.
- Techniques for checkpoint 9.2
- 9.3 Prompt the user to confirm any form submission triggered indirectly, that is by any means other than the user activating an explicit form submit control. [Priority 2]
-
For example, do not submit a form automatically
when a menu option is selected, when all fields
of a form have been filled out, or when a mouseover
event occurs.
- Techniques for checkpoint 9.3
- 9.4 Allow the user to configure notification preferences for common types of content and viewport changes. [Priority 3]
-
For example, allow the user to choose to be notified (or not) that a
script has been executed, that a new
viewport has been opened,
that a pulldown menu has been opened, that a new frame
has received focus, etc.
- Techniques for checkpoint 9.4
- 9.5 When loading content (e.g., document, video clip, audio clip, etc.) indicate what portion of the content has loaded and whether loading has stalled. [Priority 3]
- Techniques for checkpoint 9.5
- 9.6 Indicate the relative position of the viewport in content (e.g., the percentage of an audio or video clip that has been played, the percentage of a Web page that has been viewed, etc.). [Priority 3]
-
Note. The user agent may
calculate the percentage
according to content focus position,
selection position, or viewport position,
depending on how the user has been browsing.
- Techniques for checkpoint 9.6
Web users have a wide range of capabilities and must be able to configure the user agent according to their
preferences for styles, graphical user interface configuration,
keyboard configuration, etc.
Checkpoints for user interface accessibility:
- 10.1 Provide information directly to the user and through APIs about current user preferences for input configurations (e.g., keyboard or voice bindings). [Priority 1]
- Techniques for checkpoint 10.1
- 10.2 Avoid default input configurations that interfere with operating system accessibility conventions. [Priority 1]
-
In particular, default configurations should not interfere
with the mobility access keyboard modifiers reserved
for the operating system. Refer also to guideline 5.
- Techniques for checkpoint 10.2
- 10.3 Provide information directly to the user and through APIs about current author-specified input configurations (e.g., keyboard bindings specified in content such as by "accesskey" in HTML 4.0). [Priority 2]
- Techniques for checkpoint 10.3
- 10.4 Allow the user to change and control the input configuration. Allow the user to configure the user agent so that some functionalities may be activated with a single command (e.g., single key, single voice command, etc.). [Priority 2]
-
For voice-activated browsers, allow the
user to modify what voice commands activate functionalities
Similarly,
allow the user to modify the graphical
user agent user interface for quick
access to commonly used functionalities (e.g., through buttons).
- Techniques for checkpoint 10.4
- 10.5 Follow operating system conventions to indicate the input configuration. [Priority 2]
- For example, on some operating systems,
if a functionality is available from a menu, the
letter of the key that will activate that functionality is
underlined. Note. This checkpoint is an
important special case of checkpoint 5.6.
- Techniques for checkpoint 10.5
- 10.6 Allow the user to configure the user agent through profiles. [Priority 2]
-
Users must be able to select from among available
profiles or no profile (i.e., the user agent default settings).
- Techniques for checkpoint 10.6
- 10.7 Provide default input configurations for frequently performed tasks. [Priority 3]
-
Make the most frequently operations easy to access and
operable through a single command.
In particular, provide convenient mappings to functionalities
that promote accessibility such as navigation of links.
Functionalities include being able to show, hide,
resize and move graphical viewports
created by the user agent.
- Techniques for checkpoint 10.7
- 10.8 Allow the user to configure the arrangement of graphical user agent user interface controls. [Priority 3]
- Techniques for checkpoint 10.8
Documentation
includes anything that explains how
to install, get help for, use, or configure the product. Users must
have access to installation information, either in electronic form
(CD-ROM, diskette, over the Web), by fax, or by telephone.
Some people cannot use printed documents. Vendors should
provide accessible electronic documentation for users with visual
disabilities, learning disabilities, or physical disabilities.
Alternative hardcopy formats may also benefit some users.
Since users who are not disabled are generally unaware of software
features designed specifically for accessibility, those features
should be clearly documented. This will allow users with disabilities
to learn about the software more easily.
Documentation of keyboard access is very important to users with
visual disabilities and some types of physical disabilities and must be
readily available. Without this documentation, a user with a
disability (or multiple disabilities) may not think that a particular
task can be performed. Or the user may try to use a very inefficient
technique to perform a task, such as using a pointing device (like a
mouse), or using an assistive technology's mouse emulation
keystrokes.
Refer also to checkpoint 5.6.
Checkpoints for user interface accessibility:
- 11.1 Provide a version of the product documentation that conforms to the Web Content Accessibility Guidelines. [Priority 1]
-
User agents may provide documentation
in many formats, but at least one must conform to
the Web Content Accessibility Guidelines [WAI-WEBCONTENT].
Alternative equivalents for content,
navigation mechanisms, and illustrations will
all help make the documentation accessible.
- Techniques for checkpoint 11.1
- 11.2 Document all user agent features that promote accessibility. [Priority 1]
- For example,
review the documentation or help system to
ensure that it includes information about the functionalities
addressed by the checkpoints of this document.
- Techniques for checkpoint 11.2
- 11.3 Document the default input configuration (e.g., default keyboard bindings). [Priority 1]
- Techniques for checkpoint 11.3
- 11.4 In a dedicated section of the documentation, describe all features of the user agent that promote accessibility. [Priority 2]
-
Note. This is a more
specific requirement than checkpoint 11.2.
- Techniques for checkpoint 11.4
- 11.5 Document changes between software releases. [Priority 2]
- Techniques for checkpoint 11.5
- Active element
-
Active elements have associated behaviors
that may be activated (or "triggered") either
through user interaction or through scripts. 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, element
instances with a
value for the "longdesc" attribute, and element
instances with scripts (event handlers) explicitly associated
with them (e.g., through the various "on" attributes).
- An active element's behavior may be triggered
through any number of mechanisms, including the mouse, keyboard, an
API, etc. The effect of activation depends on the element. For instance,
when a link is activated, the user agent generally retrieves the
linked resource. When a
form control is activated, it may change state (e.g., check boxes) or
may take user input (e.g., a text field). Activating an element with
a script assigned for that particular activation mechanism (e.g.,
mouse down event, key press event, etc.) causes the script to be
executed.
- Most systems use the content focus to navigate
active elements and identify which is to be activated.
- Alternative Equivalents for Content
-
Since rendered content in some
forms is not always accessible to users with disabilities, authors
must supply alternative equivalents for content. In the context of
this document, the equivalent must fulfill essentially the same
function for the person with a disability (at least insofar as is
feasible, given the nature of the disability and the state of
technology), as the "primary" content does for the person without any
disability. For example, the text "The Full Moon" might convey the
same information as an image of a full moon when presented to
users. Note that equivalent information focuses on fulfilling the same
function. If the image is part of a link and understanding the image
is crucial to guessing the link target, an equivalent must also give
users an idea of the link target.
-
Alternative equivalents of content include text equivalents (long and short, synchronized and unsynchronized) and
non-text equivalents (e.g., captions, auditory descriptions, a visual
track that shows sign language translation of a written text, etc.).
The Techniques Document [UA-TECHNIQUES] describes the different
mechanisms authors use to supply alternative equivalents for
content. Please also consult the Web Content Accessibility Guidelines
[WAI-WEBCONTENT] and its associated
Techniques document [WAI-WEBCONTENT-TECHS].
- Application Programming Interface (API)
-
An application programming interface
(API) defines how communication
may take place between applications.
- Assistive Technology
-
In the context of this document, an assistive technology is a user agent
that relies on one or more other user agents to help people with
disabilities interact with a computer. For example, screen reader software
is an assistive technology because it relies on browsers or other
application software to enable Web access, notably for
people with visual and learning disabilities.
Examples of assistive technologies that are important in the context of
this document include the following:
- screen magnifiers, which are used by people with visual
disabilities to enlarge and change colors on the screen to improve the
visual readability of text and images.
- screen readers, which are used by people who are blind or have
reading disabilities to read textual information through synthesized speech
or Braille displays.
- alternative keyboards, which are used by people with certain
physical disabilities to simulate the keyboard.
- alternative pointing devices, which are used by people with
certain physical disabilities to simulate mouse pointing and button
activations.
-
Beyond this document, an assistive technology consists of software or
hardware that has been specifically designed to assist people with
disabilities in carrying out daily activities, e.g., wheelchairs,
reading machines, devices for grasping, alternative computer keyboards
or pointing devices, etc.
- Auditory Description
-
An auditory description is
either a prerecorded human voice or a synthesized voice (recorded or
generated on the fly) describing the key visual elements of a
presentation. The auditory description is synchronized with
the auditory track of the presentation, usually during natural pauses in
the auditory track. Auditory descriptions include information about
actions, body language, graphics, and scene changes.
- Author Styles
-
Style property values that originate in documents, their associated style
sheets, or come from a server are called author styles.
- Captions
-
Captions (or sometimes
"closed captions") are
text transcripts that
are synchronized with other auditory or visual tracks.
Captions convey information about spoken words and
non-spoken sounds such as sound effects. They
benefit people who are deaf and
hard-of-hearing, and anyone who cannot hear the audio (e.g.,
when in a noisy room). Captions are generally
rendered graphically
above, below, or superimposed over
video. Note. Other terms that include
the word "caption" may have different meanings in this
document. For instance, a "table caption" is a
title for the table, often positioned graphically
above or below the table.
In this document, the intended meaning of "caption"
will be clear from context.
- Configure
-
To set user preferences. This may be done through the user agent's
user interface, through configuration files, by scripts, etc.
- Control
-
In the context of this document, "user control"
of the user agent (e.g., its interface, behavior, and styles)
means that the user can choose preferred behavior
from a set of options. For instance, control of colors
means that the user can choose from a set of available colors.
- The term "control" also means
"user interface component" or "form component" in this
document. Which meaning is intended will be apparent from context.
- Device-independence
-
The ability to make use of software via any input
or output device API provided by the operating system
and used by the user agent.
User agents should follow operating system conventions and
use standard APIs for device input and output.
- Documentation
-
Documentation includes all product documentation,
notably installation instructions, the help system, and all product
manuals.
- Documents, Elements, and Attributes
-
A document may be seen as a hierarchy of elements. Element types are defined by a language
specification (e.g., HTML 4.0 or an XML application). Elements may
include content (that may be rendered) and make have attributes that take values (and may also be
rendered).
- Events and scripting, Event Handler
- When certain events occur (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], [DOM2]),
and scripting is commonly referred to as
"Dynamic HTML" or DHTML. However, as there is no W3C
specification that formally defines DHTML, this document only
refers to event handlers and scripts.
-
Focus,
Content focus,
User interface focus,
Current focus
- The term "focus" refers to two identifying
mechanisms of user agents:
- The "content focus" designates an active element in a document. A
viewport has at most one content focus.
- The "user interface focus" designates a control of the user
interface that will respond to user input (e.g., a radio button,
text box, menu, etc.).
The term "focus" encompasses both types of focus. Where one is
meant specifically in this document, it is identified.
- When several viewports co-exist, each
may have a content and user interface focus. At all times,
only one content focus or one user interface focus
is active, called the current focus.
The current focus responds to user input. The current
may be toggled between content focus and user interface
focus through the keyboard, pointing device, etc.
Both the content and user interface focus may be
highlighted.
- Graphical
-
In this document, the term "graphical" refers to information
(text, graphics, colors, etc.)
rendered for visual consumption.
- Highlight
-
Any mechanism used to emphasize selected or focused content.
For example, graphical highlight mechanisms include dotted boxes, underlining,
and reverse video.
Synthesized speech highlight mechanisms include
altered voice pitch or volume.
- Input Configuration
-
Every user agent functionality available to the user is mapped
to some user interface mechanism such as menus, buttons, keyboard
shortcuts, voice commands. The default input configuration is the
mapping the user finds after installation of the software;
it must be part of the user agent
documentation.
- 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. Operating system features adopted as part
of the user agent are considered native. However, since the
user agent is responsible for the accessibility of native features, it
is also considered responsible for the accessibility of adopted operating
system features.
- Natural Language
-
Spoken, written, or signed human languages such as French,
Japanese, and American Sign Language.
The natural language of content may be indicated in
markup (e.g., by the
"lang" attribute in HTML 4.0 ([HTML40]
section 8.1), the
HTML 4.0 "hreflang" attribute
for links ([HTML40], section
12.1.5), or by the HTTP Content-Language header
([RFC2616], section 14.12).
- Point of Regard
- The "point of regard" is the position of the viewport in content. Since
users may be viewing content with browsers that render graphically, as speech, as Braille, etc.,
what is meant precisely by "the point of regard" may vary. It may,
depending on the user agent and browsing context, refer to 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.
- 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, on paper, through speakers, on a Braille device,
on 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 is used as defined in
CSS 2 ([CSS2], section 3).
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 installed is called the property's
default value.
- Profile
-
A "profile" is a named and persistent representation
of user preferences that may be
used to configure a user agent. On systems with distinct user
accounts, profiles enable users to reconfigure software quickly
when they log on. Profiles may be shared with other
users. Platform-independent profiles are useful for
those who use the same user agent on different platforms.
- Recognize
- A user agent is said to recognize
markup, content types, or rendering effects
when it can identify (through built-in
mechanisms, Document Type Definitions
(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]
lists some markup known to affect accessibility.
- Rendered content
- An element's rendered
content is that which a user agent renders for the element. This may
be what appears 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). Content may be rendered to a
graphical display, to
an auditory display (to a speaker as speech and non-speech sounds) or
to a tactile display (Braille and haptic displays). Refer also to
the description of alternative equivalents for content.
- Selection,
Current Selection
- The "selection" generally identifies a range of content (text,
images, etc.) in a document.
The selection
may be structured (based on the
document tree) or unstructured (e.g., text-based).
Content may be selected through user interaction,
scripts, etc. 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 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 selection
(though the selection may be rendered
graphically as discontinuous
text fragments). When several
viewports co-exist, each may have a selection, but only one is
active, called the current selection.
-
On the screen, the selection may be highlighted using colors, fonts, graphics,
or other assistive technologies may provide alternative presentation
of the selection through speech, enlargement, or refreshable Braille
display.
- Text transcript
-
A text transcript is a text
equivalent of audio information (e.g., an auditory track). It provides
text for both spoken words and non-spoken sounds such as sound effects.
Text transcripts make presentations accessible to people who are
deaf-blind (they may be rendered as Braille)
and to people who cannot play movies, animations,
etc. Transcripts may be generated on the fly (e.g., by speech-to-text
converters). Refer also to captions.
- Spawned Viewport
- Viewports that are created by the user agent.
This refers to viewports that display content and
does not include, for example, messages or prompts
to the user.
- Standard Device Application Programming Interfaces
-
Operating systems are designed to be used by default with devices such
as pointing devices, keyboards, voice input, etc. The operating
system (or windowing system) provides
"standard APIs" for these
devices. On desktop computers
today, the standard input APIs are for the mouse and keyboard.
For touch screen devices or mobile devices, standard
input APIs may include stylus, buttons, voice, etc. The display and
sound card are considered standard ouput devices for a graphical desktop
computer environment and each has a standard API.
- User-initiated, User Agent initiated
-
User-initiated actions result from user input to the
user agent. User agent initiated actions result from
scripts, operating system conditions, or built-in user agent behavior.
- User Agent
-
A user agent is an application that retrieves and renders Web
content, including text, graphics, sounds, video, images, and other
objects. A user agent may require additional user agents that handle some
types of content. For instance, a browser may run a separate program
or plug-in to render sound or video.
User agents include graphical desktop browsers, multimedia
players, text browsers, voice browsers, and assistive technologies such as screen
readers, screen magnifiers, speech synthesizers, onscreen keyboards,
and voice input software.
- User Interface
-
For the purposes of this document, "user interface" includes
both:
- the "user agent user interface", i.e.,
the controls and mechanisms offered by
the user agent for user interaction, such as menus, buttons,
keyboard access, etc.
- the "content user interface", i.e., the
active elements that
are part of content, such as form controls, links, applets, etc.
that are implemented natively.
The document distinguishes them only where required for clarity.
- User Styles
-
Style property values that come from user interface settings, user
style sheets, or other user interactions are called user styles.
- Views, Viewports, and Current View
- 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, a frame, a
piece of paper, a speaker, a virtual magnifying glass, etc. A
viewport may contain another viewport (e.g., nested frames).
- User agents may render the same content 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 corresponds to how source information is
rendered and the viewport is where it is rendered.
The viewport that contains both the
current focus and the
current selection is 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.
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, Eric Hansen, Earle Harrison,
Chris Hasser, Kathy Hewitt, Philipp Hoschka, Masayasu Ishikawa,
Phill Jenkins, Earl Johnson, Jan Kärrman (for help with html2ps),
Leonard Kasday, George Kerscher, Peter Korn, Marja-Riitta
Koivunen, Josh Krieger, Catherine Laws, Greg Lowney, Scott
Luebking, William Loughborough, Napoleon Maou, Charles
McCathieNevile, Peter Meijer, Karen Moses, 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, Madeleine Rothberg, 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,
For the latest version of any W3C specification, please consult the
list of W3C Technical Reports.
- [CHARMOD]
-
"Character Model for the World Wide Web", M. Dürst, 25 February 1999.
This W3C Working Draft is
http://www.w3.org/TR/1999/WD-charmod-19990225.
- [CSS1]
-
"CSS, level 1 Recommendation", B. Bos, H. Wium Lie, eds.,
17 December 1996, revised 11 January 1999. This CSS1 Recommendation
is http://www.w3.org/TR/1999/REC-CSS1-19990111.
- [CSS2]
-
"CSS, level 2 Recommendation", B. Bos, H. Wium Lie, C. Lilley,
and I. Jacobs, eds., 12 May 1998. This CSS2 Recommendation is
http://www.w3.org/TR/1998/REC-CSS2-19980512.
- [CSS-ACCESS]
-
"Accessibility Features of CSS", I. Jacobs, J. Brewer,
The latest version of this W3C Note is available at
http://www.w3.org/TR/CSS-access.
- [DOM1]
-
"Document Object Model (DOM) Level 1 Specification",
V. Apparao, S. Byrne, M. Champion, S. Isaacs, I. Jacobs, A. Le Hors, G. Nicol,
J. Robie, R. Sutor, C. Wilson, and L. Wood, eds. The 1 October
1998 DOM Level 1 Recommendation is
http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001
- [DOM2]
-
"Document Object Model (DOM) Level 2 Specification",
L. Wood, A. Le Hors, V. Apparao,
L. Cable, M. Champion, J. Kesselman,
P. Le Hégaret, T. Pixley, J. Robie,
P. Sharpe, C. Wilson, eds. The DOM2 specification is
a Working Draft at the time of publication.
- [HTML40]
-
"HTML 4.0 Recommendation", D. Raggett, A. Le Hors, and I.
Jacobs, eds. The 24 April 1998 HTML 4.0 Recommendation is
http://www.w3.org/TR/1998/REC-html40-19980424
- [MATHML]
-
"Mathematical Markup Language", P. Ion and R. Miner, eds. The
7 April 1998 MathML 1.0 Recommendation is
http://www.w3.org/TR/1998/REC-MathML-19980407
- [MICROPAYMENT]
-
"Common Markup for micropayment per-fee-links",
T. Michel, ed. The latest version of this
W3C Working Draft is available at
http://www.w3.org/TR/Micropayment-Markup.
- [RFC2119]
-
"Key words for use in RFCs to Indicate Requirement Levels",
S. Bradner, March 1997.
- [RFC2616]
-
"Hypertext Transfer Protocol -- HTTP/1.1,
J. Gettys, J. Mogul, H. Frystyk, L. Masinter, P. Leach,
T. Berners-Lee, June 1999.
- [SMIL]
-
"Synchronized Multimedia Integration Language (SMIL) 1.0
Specification", P. Hoschka, editor.
The 15 June 1998 SMIL 1.0 Recommendation is
http://www.w3.org/TR/1998/REC-smil-19980615
- [SMIL-ACCESS]
-
"Accessibility Features of SMIL", M-R. Koivunen, I. Jacobs.
The latest version of this W3C Note is available at
http://www.w3.org/TR/SMIL-access.
- [UA-CHECKLIST]
- An appendix to this document lists all of the checkpoints,
sorted by priority. The checklist is available
in either tabular form
(at http://www.w3.org/WAI/UA/WD-UAAG-20000115/full-checklist)
or list form
(at http://www.w3.org/WAI/UA/WD-UAAG-20000115/checkpoint-list).
- [UA-TECHNIQUES]
-
"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 draft of the Techniques Document
available at the time of this document's publication
is http://www.w3.org/WAI/UA/WD-UAAG-TECHS-20000115.
The latest draft of the techniques is
available at http://www.w3.org/WAI/UA/UAAG-TECHS/
- [WAI-AUTOOLS]
-
"Authoring Tool Accessibility Guidelines", J. Treviranus,
J. Richards, I. Jacobs, C. McCathieNevile, eds.
The latest Working Draft of these guidelines for designing
accessible authoring tools is available at
http://www.w3.org/TR/WD-WAI-AUTOOLS/
- [WAI-WEBCONTENT]
-
"Web Content Accessibility Guidelines 1.0", W. Chisholm,
G. Vanderheiden, and I. Jacobs, eds.
The 5 May 1999 Recommendation is
http://www.w3.org/TR/1999/WAI-WEBCONTENT-19990505
- [WAI-WEBCONTENT-TECHS]
-
"Techniques for Web Content Accessibility Guidelines 1.0", W. Chisholm,
G. Vanderheiden, and I. Jacobs, eds.
The latest version of this document is available at
http://www.w3.org/TR/WAI-WEBCONTENT-TECHS
- [WAI-WEBCONTENT-ERT]
-
"Techniques For Evaluation And Implementation Of Web Content
Accessibility Guidelines, C. Ridpath.
The latest version of this Working Draft is available at
http://www.w3.org/WAI/ER/IG/ert/.
- [XML]
-
"Extensible Markup Language (XML) 1.0.", T. Bray, J. Paoli, C.M.
Sperberg-McQueen, eds. The 10 February 1998
XML 1.0 Recommendation is
http://www.w3.org/TR/1998/REC-xml-19980210
- [XSLT]
-
"XSL Transformations (XSLT) Version 1.0",
J. Clark. The 16 November 1999 Recommendation is
http://www.w3.org/TR/1999/REC-xslt-19991116.