- In this document, the verb "to activate" means (depending
on context) either:
The effect of activation depends on the type of the user interface control. For
instance, when a link is activated, the user agent generally retrieves the
linked Web resource. When a form element is
activated, it may change state (e.g., check boxes) or may take user input
(e.g., a text entry field).
- In this document, "to alert" means to make the user aware
of some event, without requiring acknowledgement. For example, the user agent
may alert the user that new content is available on the server by displaying a
text message in the user agent's status bar. See
checkpoint 1.3 for
requirements about alerts.
- In this document, an "animation" refers to content that, when rendered, creates a visual
movement effect automatically (i.e., without manual user interaction). This
definition of animation includes video and animated images. Animation
- graphically displaying a sequence of snapshots within the same region
(e.g., as is done for video and animated images). The series of snapshots may
be provided by a single resource (e.g., an animated GIF image) or from distinct
resources (e.g., a series of images downloaded continuously by the user
- scrolling text (e.g., achieved through markup or style sheets).
- displacing graphical objects around the viewport (e.g., a picture of a ball
that is moved around the viewport giving the impression that it is bouncing off
of the viewport edges). For instance, the SMIL 2.0
[SMIL20] animation modules explain how to create such animation
effects in a declarative manner (i.e., not by composition of successive
- An applet is a program (generally written in the Java
programming language) that is part of content,
and that the user agent executes.
Programming Interface (API), conventional input/output/device
- An application programming interface (API) defines how
communication may take place between applications.
Implementing APIs that are independent of a particular operating environment
(as are the W3C DOM Level 2 specifications) may reduce implementation costs for
multi-platform user agents and promote the development of multi-platform
assistive technologies. Implementing conventional APIs for a particular
operating environment may reduce implementation costs for assistive technology
developers who wish to interoperate with more than one piece of software
running on that operating environment.
A "device API" defines how communication may take place
with an input or output device such as a keyboard, mouse, video card, etc.
In this document, an "input/output API" defines how
applications or devices communicate with a user agent. As used in this
document, input and output APIs include, but are not limited to, device APIs.
Input and output APIs also include more abstract communication interfaces than
those specified by device APIs. A "conventional input/output API" is one that
is expected to be implemented by software running on a particular operating
environment. For example, on desktop computers today, the conventional input
APIs are for the mouse and keyboard. For touch screen
devices or mobile devices, conventional input APIs may
include stylus, buttons, voice, etc. The graphical display and sound card are
considered conventional output devices for a graphical desktop computer
environment, and each has an associated API.
- Assistive technology
- In the context of this document, an assistive technology
is a user agent that:
- relies on services (such as retrieving Web
resources, parsing markup, etc.) provided by one or more other "host" user
agents. Assistive technologies communicate data and messages with host user
agents by using and monitoring
- provides services beyond those offered by the host user agents to meet the
requirements of users with disabilities. Additional services include
alternative renderings (e.g., as synthesized speech or magnified content),
alternative input methods (e.g., voice), additional navigation or orientation
mechanisms, content transformations (e.g., to make tables more accessible),
For example, screen reader software is an assistive technology because it
relies on browsers or other software to enable Web access, particularly 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
rendered 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
- voice recognition software, which may be used by people who have some
- 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, assistive technologies consist 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, text telephones, vibrating pagers, etc. For
example, the following very general definition of "assistive technology device"
comes from the (U.S.) Assistive Technology Act of 1998
Any item, piece of equipment, or product system, whether acquired
commercially, modified, or customized, that is used to increase, maintain, or
improve functional capabilities of individuals with disabilities.
- This document uses the term "attribute" in the XML sense:
an element may have a set of attribute specifications (refer to the XML 1.0
specification [XML] section 3).
- In this document, the term "audio" refers to content that
encodes prerecorded sound.
- An audio-only presentation is content consisting
exclusively of one or more audio tracks presented
concurrently or in series. Examples of an audio-only presentation include a
musical performance, a radio-style news broadcast, and a narration.
- An audio object is content rendered as sound through an
audio viewport. An audio track is an audio object
that is intended as a whole or partial presentation. An audio track may, but is
not required to, correspond to a single audio channel (left or right audio
- Audio description
- An audio description (called an "auditory description" in
the Web Content Accessibility Guidelines 1.0
[WCAG10]) is either a prerecorded human voice or a synthesized voice
(recorded or generated dynamically) describing the key visual elements of a
movie or other animation. The audio description is
synchronized with (and possibly included as part of) the audio track of the presentation, usually
during natural pauses in the audio track. Audio
descriptions include information about actions, body language, graphics, and
- Authors styles are style property
values that come from content (e.g., style sheets
within a document, that are associated with a document, or that are generated
by a server).
- Captions are text transcripts that are synchronized with other audio tracks or
visual tracks. Captions convey information about spoken words and
non-spoken sounds such as sound effects. They benefit people who are deaf or
hard-of-hearing, and anyone who cannot hear the audio (e.g., someone in a noisy
environment). Captions are generally rendered
graphically superimposed ("on top of") the synchronized visual track.
The term "open captions" generally refers to captions that are always
rendered with a visual track; they cannot be turned off. The term "closed
captions" generally refers to captions that may be turned on and off. The
captions requirements of this document assume that the user agent can recognize the captions as such; see the
applicability for more information.
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.
- Character encoding
- A "character encoding" is a mapping from a character set
definition to the actual code units used to represent the data. Refer to the
Unicode specification [UNICODE] for more information
about character encodings. Refer to "Character Model for the World Wide Web"
[CHARMOD] for additional information about characters and character
- Collated text
- A collated text transcript is a text
equivalent of a movie or other animation. More specifically, it is the
combination of the text transcript of the
audio track and the text equivalent of
the visual track. For example, a collated
text transcript typically includes segments of spoken dialogue interspersed
with text descriptions of the key visual elements of a presentation (actions,
body language, graphics, and scene changes). See also the definitions of text transcript and audio description. Collated text
transcripts are essential for individuals who are deaf-blind.
- Conditional content
- Conditional content is content that, by format
specification, should be made available to users through the user interface,
generally under certain conditions (e.g., based on user preferences or
operating environment limitations). Some examples of conditional content
- The "
alt" attribute of the
IMG element in HTML 4.
section 13.2 of the HTML 4 specification ([HTML4]): "User agents must render
alternate text when they cannot support images, they cannot support a certain
image type or when they are configured not to display images.
OBJECT elements in HTML 4.
Section 13.3.1 of the HTML 4 specification ([HTML4]) explains the conditional
rendering rules of (nested)
OBJECT elements. The rules select
among ordered alternatives according to user preferences or error
switch element and test attributes in SMIL 1.0. Sections
4.3 and 4.4, respectively,
of SMIL 1.0 [SMIL] explain the conditional
rendering rules of these features.
- SVG 1.0 [SVG] also includes a
switch element and several attributes for conditional processing.
NOFRAMES elements in HTML 4
[HTML4] allow the author to provide content under conditions when
the user agent does not support scripts or frames, or the user has turned off
support for scripts or frames.
Specifications vary in how completely they define how and when to render
conditional content. For instance, the HTML 4 specification includes the
rendering conditions for the "
alt" attribute, but not for the
title" attribute. The HTML 4 specification does indicate that the
title" attribute should be available to users through the user
interface ("Values of the title attribute may be rendered by user agents in a
variety of ways...").
Note: The Web Content Accessibility Guidelines 1.0 requires
that authors provide text equivalents for non-text content. This is generally
done by using the conditional content mechanisms of a markup language. Since
conditional content may not be rendered by default, the current document
requires the user agent to provide access to unrendered conditional content (checkpoint
2.3 and checkpoint 2.9) as it may have been provided to promote
- In the context of this document, the verbs "to control"
and "to configure" share in common the idea of governance such as a user may
exercise over interface layout, user agent behavior, rendering style, and other
parameters required by this document. Generally, the difference in the terms
centers on the idea of persistence. When a user makes a change by
"controlling" a setting, that change usually does not persist beyond that user
session. On the other hand, when a user "configures" a setting, that setting
typically persists into later user sessions. Furthermore, the term "control"
typically means that the change can be made easily (such as through a keyboard
shortcut) and that the results of the change occur immediately. The term
"configure" typically means that making the change requires more time and
effort (such as making the change via a series of menus leading to a dialog
box, via style sheets or scripts, etc.). The results of "configuration" might
not take effect immediately (e.g., due to time spent reinitializing the system,
initiating a new session, rebooting the system).
In order to be able to configure and control the user agent, the user needs
to be able to "write" as well as "read" values for these parameters.
Configuration settings may be stored in a profile.
The range and granularity of the changes that can be controlled or configured
by the user may depend on limitations of the operating environment or
Both configuration and control may apply at different "levels": across Web resources (i.e., at the user agent
level, or inherited from the operating environment), to the
entirety of a Web resource, or to components of a Web resource (e.g., on a
global configuration is one that applies across elements of the
same Web resource, as well as across Web resources. A global configuration may
be implemented by more than one setting (e.g., per component of the user
agent). For instance, when a user agent consists of a browser that renders HTML
and a plug-in that renders SVG, to satisfy the global configuration
requirements of this document, the browser may provide one setting and the
User agents may allow users to choose configurations based on various
parameters, such as hardware capabilities, natural language, etc.
Note: In this document, the noun "control" refers to a user interface control.
- In this specification, the noun "content" is used in three
- It is used to mean the document object as a
whole or in parts.
- It is used to mean the content of an HTML or XML element, in the sense
employed by the XML 1.0 specification ([XML], section 3.1): "The text between
the start-tag and end-tag is called the element's content." Context should
indicate that the term content is being used in this sense.
- It is used in the terms non-text content and text content.
content (which may be conditional content) is either a
null value or an empty string (i.e., one that is zero characters long). For
instance, in HTML,
alt="" sets the value of the "
attribute to the empty string. In some markup languages, an element may have
empty content (e.g., the
HR element in HTML).
- Device-independence refers to the ability to make use of
software with any appropriate supported input or output device.
Document Object Model (DOM)
- In general usage, the term "document object" refers to the user agent's
representation of data (e.g., a document). This data generally comes from the
document source, but may also be
generated (from style sheets, scripts, transformations, etc.), produced as a
result of preferences set within the user agent, added as the result of a
repair performed automatically by the user agent, etc. Some data that is part
of the document object is routinely rendered (e.g., in HTML, what
appears between the start and end tags of elements and the values of attributes
such as "alt", "title", and "summary"). Other parts of the document object are
generally processed by the user agent without user awareness, such as DTD- or schema-defined names of
element types and attributes, and other attribute values such as "href", "id",
etc. These guidelines require that users have access to both kinds of data
through the user interface. Most of the requirements of this document apply to
the document object after its construction. However, a few checkpoints (e.g.,
checkpoint 2.10) may affect the construction of the document object.
A "document object model" is the abstraction that governs the construction
of the user agent's document object. The document object model employed by
different user agents may vary in implementation and sometimes in scope. This
specification requires that user agents implement the APIs defined
in Document Object Model (DOM) Level 2 specifications ([DOM2CORE] and
[DOM2STYLE]) for access to HTML,
XML, and CSS content. These DOM APIs allow authors
a consistent manner across different scripting languages. As a standard
interface, the DOM APIs make it easier not just for authors, but for assistive
technology developers to extract information and render it in ways most suited
to the needs of particular users.
Document character set
- A document character set (a concept taken from SGML) is a
sequence of abstract characters that may appear in Web content represented in a
particular format (such as HTML, XML, etc.). A document character set consists
For instance, the character set required by the HTML 4 specification
[HTML4] is defined in the Unicode specification
[UNICODE]. Refer to "Character Model for the World Wide Web"
[CHARMOD] for more information about document character sets.
- A "repertoire": A set of abstract characters, such as the Latin letter "A",
the Cyrillic letter "I", the Chinese character meaning "water", etc.
- Code positions: A set of integer references to characters in the
Document source, text source
- In this document, the term "document source" refers to the
data that the user agent receives as the direct result of a request for a Web resource (e.g., as the result of an
HTTP/1.1 [RFC2616] "GET", or as the result
of viewing a resource on the local file system). The document source generally
refers to the "payload" of the user agent's request, and does not generally
include information exchanged as part of the transfer protocol. The document
source is data that is prior to any repair by the user agent (e.g., prior to
repairing invalid markup). "Text source" refers to document source that is
composed of text.
- Documentation refers to information that supports the use
of a user agent. This information may be found in manuals, installation
instructions, the help system, tutorials, etc. Documentation may be distributed
(e.g., some parts may be delivered on CD-ROM, others on the Web). Refer to guideline 12 for
information about documentation requirements.
- Element, element type
- This document uses the terms "element" and "element type"
in the sense employed by the XML 1.0 specification ([XML],
section 3): an element type is a syntactic construct of a document type
definition (DTD) for its application. This sense is also relevant to structures
defined by XML schemas. The document also uses the term "element" more
generally to mean a type of content (such as video or sound) or a logical
construct (such as a header or list).
Enabled element, disabled element
- An enabled element is a piece of content
with associated behaviors that may be activated through the user interface or
through an API. The set
of elements that a user agent enables is generally derived from, but is not
limited to, the set of interactive
elements defined by implemented markup languages.
Some elements may only be enabled elements for part of a user session. For
instance, an element may be disabled by a script as the result of user
interaction. Or, an element may only be enabled during a given time period
(e.g., during part of a SMIL 1.0 [SMIL] presentation). Or, the user
may be viewing content in "read-only" mode, which may disable some
A disabled element is a piece of content that is potentially an
enabled element, but is not in the current session. One example of a disabled
element is a menu item that is unavailable in the current session; it might be
"greyed out" to show that it is disabled. Generally, disabled elements will be
interactive elements that are not
enabled in the current session. This document distinguishes disabled elements
(not currently enabled) from non-interactive elements (never enabled).
For the requirements of this document, user
selection does not constitute user interaction with enabled elements. See
the definition of content focus.
Note: Enabled and disabled elements come from content; they
are not part of the user agent user
Note: The term "active element" is not used in this
document since it may suggest several different concepts, including:
interactive element, enabled element, an element "in the process of being
activated" (which is the meaning of ':active' in CSS2
[CSS2], for example).
Equivalent (for content)
- The term "equivalent" is used in this document as it is
used in the Web Content Accessibility Guidelines 1.0
Content is "equivalent" to other content when both fulfill essentially the
same function or purpose upon presentation to the user. 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.
Equivalents include text equivalents
(e.g., text equivalents for images, text transcripts for audio tracks, or
collated text transcripts for a movie) and non-text equivalents (e.g., a
prerecorded audio description of a
visual track of a movie, or a sign language video rendition of a written
Each markup language defines its own mechanisms for specifying conditional content, and these
mechanisms may be used by authors to provide text equivalents. For instance, in
HTML 4 [HTML4] or SMIL 1.0
[SMIL], authors may use the "
alt" attribute to specify
a text equivalent for some elements. In HTML 4, authors may provide equivalents
and other conditional content in attribute values (e.g., the "summary"
attribute for the
TABLE element), in element content (e.g.,
OBJECT for external content it specifies,
frame equivalents, and
NOSCRIPT for script equivalents), and in
prose. Please consult the Web Content Accessibility Guidelines 1.0
[WCAG10] and its associated Techniques document
[WCAG10-TECHS] for more information about equivalents.
- Events and
scripting, event handler, event type
- User agents often perform a task when an event having a
particular "event type" occurs, including user interface, changes to content,
loading of content, a request from the operating environment, etc.
Some markup languages allow authors to specify that a script, called an event
handler, be executed when an event of a given type occurs. An
event handler is
explicitly associated with an element when the event handler
is associated with that element through markup or the DOM.
The term "event bubbling"
describes a programming style where a single event handler dispatches events to
more than one element. In this case, the event handlers are not explicitly
associated with the elements receiving the events (except for the single
element that dispatches the events).
Note: The combination of HTML, style sheets, the Document
Object Model (DOM), 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
Explicit user request
- In this document, the term "explicit user request" refers to any user
interaction through the user agent user
interface (not through rendered content),
the focus, or the
selection. User requests are made, for example, through user agent user interface
controls and keyboard bindings.
Some examples of explicit user requests include when the user selects "New
viewport", responds "Yes" to a prompt in the user agent's user interface,
configures the user agent to behave in a certain way, or changes the selection
or focus with the keyboard or pointing device.
Note: Users make mistakes. For example, a user may
inadvertently respond "yes" to a prompt when they meant "no." In this document,
this type of mistake is still considered an explicit user request.
- Focus, content focus, user interface
- In this document, the term "content focus" (required by checkpoint
9.1) refers to a user agent mechanism that has all of the following
- It designates zero or one element in content
that is either enabled or disabled. In general, the focus
should only designate enabled elements, but it may also designate disabled
- It has state: the user may "set it" (programmatically or through the user
interface) on an enabled element.
Events may be triggered when the focus is set (or unset). Which events are
triggered depends on the content (e.g., HTML events and CSS pseudo-classes) or
user interface settings.
- Once it has been set, it may be used to trigger other behaviors associated
with the enabled element (e.g., the user may activate a link or change the
state of a form control). These behaviors may be triggered programmatically or
through the user interface (e.g., through keyboard events).
User interface mechanisms may resemble content focus, but do not satisfy all
of the properties. For example, text editors often implement a "caret" that
indicates the current location of text input or editing. The caret may have
state and may respond to input device events, but it does not enable users to
activate the behaviors associated with enabled elements.
The user interface focus shares the properties of the content focus except
that, rather than designating pieces of content, it designates zero or one control of the user agent user interface
that has associated behaviors (e.g., radio button, text box, menu, etc.).
On the screen, the content focus may be
highlighted using colors, fonts, graphics, magnification, etc. The content
focus may also be highlighted when rendered as synthesized speech, for example
through changes in speech prosody. The
dimensions of the rendered content focus may exceed those of the
In this document, each viewport is expected to have at most one content
focus and at most one user interface focus. This document includes requirements
for content focus only, for user interface focus only, and for both. When a
requirement refers to both, the term "focus" is used.
When several viewports coexist, at most one viewport's
content focus or user interface focus responds to input
events; this is called the current focus.
- In this document, the term "graphical" refers to
information (text, colors, graphics, images, animations, etc.) rendered for
- In this document, "to highlight" means to emphasize
through the user interface. For example, user agents highlight which content is
selected or focused. Graphical highlight mechanisms include dotted boxes,
underlining, and reverse video. Synthesized speech highlight mechanisms include
alterations of voice pitch and volume ("speech prosody").
- This document uses the term "image" to refer (as is
commonly the case) to pictorial content. However, in this
document, term image is limited to static (i.e., unmoving) visual information.
See also the definition of animation.
- Input configuration
- An input configuration is the set of "bindings" between
user agent functionalities and
user interface input mechanisms (e.g., menus, buttons, keyboard keys, voice
commands, etc.). The default input configuration is the set of bindings the
user finds after installation of the software; it must be documented (per checkpoint
12.3]). Input configurations may be affected by author-specified bindings
(e.g., through the "accesskey" attribute of HTML 4
- Interactive element,
- An interactive element is piece of content that, by
specification, may have associated behaviors to be executed or carried out as a
result of user or programmatic interaction. For instance, the interactive
elements of HTML 4
[HTML4] include: links, image maps, form elements, elements with a
value for the "longdesc" attribute, and elements with
event handlers explicitly associated with them (e.g., through the various
"on" attributes). The role of an element as an interactive element is subject
applicability. A non-interactive element is an element that, by format
specification, does not have associated behaviors. The expectation of this
document is that interactive elements become enabled elements in some sessions,
and non-interactive elements never become enabled elements.
- Natural language
- Natural language is spoken, written, or signed human
language such as French, Japanese, and American Sign Language. On the Web, the
natural language of content may be specified by markup or HTTP
headers. Some examples include the
"lang" attribute in HTML 4 ([HTML4] section 8.1), the "xml:lang"
attribute in XML 1.0 ([XML],
section 2.12), the
HTML 4 "hreflang" attribute for links in HTML 4
([HTML4], section 12.1.5), the HTTP
Content-Language header ([RFC2616], section 14.12) and the
Accept-Language request header ([RFC2616], section 14.4). See also
the definition of script.
- What is identified as "normative" is required for
conformance (noting that one may conform in a variety of well-defined ways
to this document). What is identified as "informative" (sometimes,
"non-normative") is never required for conformance.
- The term "operating environment" refers to the environment
that governs the user agent's operation, whether it is an operating system or a
programming language environment such as Java.
- In this document, the term "override" means that one
configuration or behavior preference prevails over another. Generally, the
requirements of this document involve user preferences prevailing over author
preferences and user agent default settings and behaviors. Preferences may be
multi-valued in general (e.g., the user prefers blue over red or yellow), and
include the special case of two values (e.g., turn on or off blinking text
- A placeholder is content generated by the user agent to
replace author-supplied content. A placeholder may be generated as the result
of a user preference (e.g., to not render images) or as
repair content (e.g., when an image cannot be found). Placeholders can be
any type of content, including text, images, and audio cues.
This document includes requirements that the user be able to view the
original author-supplied content associated with a placeholder. To satisfy
these requirements, the user agent might render the content in place of the
placeholder or in a separate viewport (leaving the placeholder as is). A
request to view the original content associated with a
placeholder is considered an explicit user request to render
This document does not require user agents to include placeholders in the document object. A placeholder that
is inserted in the document object should conform to the Web Content
Accessibility Guidelines 1.0 [WCAG10]. If a placeholder is not
part of the document object, it is part of the user interface only (and
subject, for example, to checkpoint 1.3).
- A plug-in is a program that runs as part of the user agent
and that is not part of content. Users generally
choose to include or exclude plug-ins from their user agent.
Point of regard
- The point of regard is a position in rendered content that the user is
presumed to be viewing. The dimensions of the point of regard may vary. For
example, it may be a point (e.g., a moment in an audio rendering or a cursor in
a graphical rendering), or a range of text (e.g., focused text), or a
two-dimensional area (e.g., content rendered through a two-dimensional
graphical viewport). The point of regard is almost always within the viewport,
but it may exceed the spatial or temporal
dimensions of the viewport (see the definition of rendered content for more
information about viewport dimensions). The point of regard may also refer to a
particular moment in time for content that changes over time (e.g., an audio-only presentation).
User agents may determine the point of regard in a number of ways, including
based on viewport position in content,
content focus, selection, etc. A user agent should not
change the point of regard unexpectedly as this may disorient the user. The
point of regard should be available programmatically (e.g., for assistive
- A profile is a named and persistent representation of user preferences that
may be used to configure a user agent. Preferences include input
configurations, style preferences, natural language preferences, etc. In operating environments with
distinct user accounts, profiles enable users to reconfigure software quickly
when they log on, and profiles may be shared by several users.
Platform-independent profiles are useful for those who use the same user agent
on different platforms.
- In this document, "to prompt" means to require input from
the user. The user agent should allow users to
configure how they wish to be prompted. For instance, for a user agent
functionality X, configurations might include: always prompt me before doing X,
always do X without prompting me, never do X but tell me when you could have,
never do X and never tell me that you could have, etc.
- Properties, values, and
- 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 loudspeakers, on a braille display, on a mobile device, etc.
Style information (e.g., fonts, colors, synthesized speech prosody, etc.) may
come from the elements themselves (e.g., certain font and phrase elements 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. Generally in this
document, the term "property"
has the meaning 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
- Authors encode information in markup languages, style
sheet languages, scripting languages, protocols, etc. When the information is
encoded in a manner that allows the user agent to process it with certainty,
the user agent can "recognize" the information. For instance, HTML allows
authors to specify a heading with the H1 element, so a user agent that
implements HTML can recognize that content as a heading. If the author creates
headings using a visual effect alone (e.g., by increasing the font size), then
the author has encoded the heading in a manner that does not allow the user
agent to recognize it as a heading.
Some requirements of this document depend on content roles, content
relationships, timing relationships, and other information supplied by the
author. These requirements only apply
when the author has encoded that information in a manner that the user agent
can recognize. See the section on
conformance in User Agent Accessibility Guidelines 1.0
[UAAG10] for more information about applicability.
In practice, user agents will rely heavily on information that the author
has encoded in a markup language or style sheet language. On the other hand,
behaviors, style, meaning encoded in a script, and
markup in an unfamiliar XML namespace may not be recognized by the user agent
as easily or at all.
Rendered content, rendered text
- Rendered content is the part of content
that the user agent makes available to the user's senses of sight and hearing
(and only those senses for the purposes of this document). Any content that
causes an effect that may be perceived through these senses constitutes
rendered content. This includes text characters, images, style sheets, scripts,
and anything else in content that, once processed, may be perceived through
sight and hearing.
The term "rendered text" refers to text content that is rendered in
a way that communicates information about the characters themselves, whether
visually or as synthesized speech.
- In the context of this document, invisible content is content
that influences graphical rendering of other content but is not rendered
silent content is content that influences audio rendering of
other content but is not rendered itself. Neither invisible nor silent content
is considered rendered content.
Repair content, repair text
- In this document, the term "repair content" refers to
content generated by the user agent in order to correct an error condition.
"Repair text" means repair content consisting only of text. Some error
conditions that may lead to the generation of repair content include:
- Erroneous or incomplete content (e.g., ill-formed markup, invalid markup,
missing conditional content that is
required by format specification);
- Missing resources for handling or rendering content (e.g., the user agent
lacks a font family to display some characters, the user agent does not
implement a particular scripting language).
This document does not require user agents to include repair content in the
document object. Repair content
inserted in the document object should conform to the Web Content Accessibility
Guidelines 1.0 [WCAG10]. For more information
about repair techniques for Web content and software, refer to "Techniques for
Authoring Tool Accessibility Guidelines 1.0"
- In this document, the term "script" almost always refers to a scripting
(programming) language used to create dynamic Web content. However, in
checkpoints referring to the written (natural) language of content, the term
"script" is used as in Unicode [UNICODE] to mean "A collection of
symbols used to represent textual information in one or more writing systems."
Information encoded in scripts may be difficult for a user agent to recognize. For instance, a user agent is
not expected to recognize that, when executed, a script will calculate a
factorial. The user agent will be able to recognize some information in a
script by virtue of implementing the scripting language or a known program
library (e.g., the user agent is expected to recognize when a script will open
a viewport or retrieve a resource from the Web).
Selection, current selection
- In this document, the term "selection" refers to a user
agent mechanism for identifying a range of content
(e.g., text, images, etc.). Generally, user agents limit selection to text
content (e.g., one or more fragments of text). The
selection may be structured (based on the document tree) or unstructured
(e.g., text-based). The range may be empty.
On the screen, the selection may be
highlighted using colors, fonts, graphics, magnification, etc. The
selection may also be highlighted when rendered as synthesized speech, for
example through changes in speech prosody. The dimensions of the rendered
selection may exceed those of the viewport.
The selection may be used for a variety of purposes: for cut and paste
operations, to designate a specific element in a document for the purposes of a
query, as an indication of point of regard,
The selection has state, and the user may "set it" (programmatically or
through the user interface).
In this document, each viewport is expected to have at most one selection.
When several viewports coexist, at most one viewport's
selection responds to input events; this is called the current selection.
See the section on the
Selection label for information about implementing a selection and
Note: Some user agents may also implement a selection for
designating a range of information in the user agent user interface.
The current document only includes requirements for a content
Serial access, sequential
- In this document, the expression "serial access" refers to
one-dimensional access to rendered content.
Some examples of serial access include listening to an audio stream or watching
a video (both of which involve one temporal dimension), or reading a series of
lines of braille one line at a time (one spatial dimension). Many users with
blindness have serial access to content rendered as audio, synthesized speech,
or lines of braille.
The expression "sequential navigation" refers to navigation through an
ordered set of items (e.g., the enabled elements in a document, a
sequence of lines or pages, or a sequence of menu options). Sequential
navigation implies that the user cannot skip directly from one member of the
set to another, in contrast to direct or structured navigation (see guideline 9 for
information about these types of navigation). Users with blindness or some
users with a physical disability may navigate content sequentially (e.g., by
navigating through links, one by one, in a graphical viewport with or without
the aid of an assistive technology). Sequential navigation is important to
users who cannot scan rendered content visually for context and also benefits
users unfamiliar with content. The increments of sequential navigation may be
determined by a number of factors, including element type (e.g., links only),
content structure (e.g., navigation from heading to heading), and the current
navigation context (e.g., having navigated to a table, allow navigation among
the table cells).
Users with serial access to content or who navigate sequentially may require
more time to access content than users who use direct or structured
- In this document, the terms "support", "implement", and
"conform" all refer to what a developer has designed a user agent to do, but
they represent different degrees of specificity. A user agent "supports"
general classes of objects, such as "images" or "Japanese". A user agent
"implements" a specification (e.g., the PNG and SVG image format
specifications, a particular scripting language, etc.), or an API (e.g.,
the DOM API) when it has been programmed to follow all or part of a
specification. A user agent "conforms to" a specification when it implements
the specification and satisfies its conformance criteria. This
document includes some conformance requirements to other specifications (e.g.,
to a particular level of the "Web Content Accessibility Guidelines 1.0"
- In this document, "to synchronize" refers to the act of
time-coordinating two or more presentation components (e.g., in a multimedia
presentation, a visual track with captions). For Web
content developers, the requirement to synchronize means to provide the data
that will permit sensible time-coordinated rendering by a user agent. For
example, Web content developers can ensure that the segments of caption text
are neither too long nor too short, and that they map to segments of the visual
track that are appropriate in length. For user agent developers, the
requirement to synchronize means to present the content in a sensible
time-coordinated fashion under a wide range of circumstances including
technology constraints (e.g., small text-only displays), user limitations (slow
reading speeds, large font sizes, high need for review or repeat functions),
and content that is sub-optimal in terms of accessibility.
- In this document, the term "text" used by itself refers to
a sequence of characters from a markup language's document character set. Refer
to the "Character Model for the World Wide Web "
[CHARMOD] for more information about text and characters.
Note: This document makes use of other terms that include the word
"text" that have highly specialized meanings: collated text transcript, non-text content, text content, non-text element, text element, text
equivalent, and text transcript.
Text content, non-text content, text
element, non-text element, text equivalent, non-text
- As used in this document a "text element" adds text characters to either content or the
user interface. Both in the Web Content Accessibility Guidelines 1.0
[WCAG10] and in this document, text elements are presumed to produce
text that can be understood when rendered visually, as synthesized speech, or
as Braille. Such text elements benefit at least these three groups of users:
- visually-displayed text benefits users who are deaf and adept in reading
- synthesized speech benefits users who are blind and adept in use of
- braille benefits users who are blind, and possibly deaf-blind, and adept at
A text element may consist of both text and non-text data. For instance, a
text element may contain markup for style (e.g., font size or color), structure
(e.g., heading levels), and other semantics. The essential function of the text
element should be retained even if style information happens to be lost in
A user agent may have to process a text element in order to have access to
the text characters. For instance, a text element may consist of markup, it may
be encrypted or compressed, or it may include embedded text in a binary format
"Text content" is content that is composed of one or more text elements. A
"text equivalent" (whether in content or the user interface) is an equivalent composed of one
or more text elements. Authors generally provide text equivalents for content
by using the conditional
content mechanisms of a specification.
A "non-text element" is an element (in content or the user interface) that
does not have the qualities of a text element. "Non-text content" is composed
of one or more non-text elements. A "non-text equivalent" (whether in content
or the user interface) is an equivalent
composed of one or more non-text elements.
- In this document, a "text decoration" is any stylistic effect that the user
agent may apply to visually rendered text that does
not affect the layout of the document (i.e., does not require reformatting when
applied or removed). Text decoration mechanisms include underline, overline,
- A text transcript is a text equivalent of audio
information (e.g., an audio-only presentation or
the audio track of a movie or other
animation). It provides text for both spoken words and non-spoken sounds such
as sound effects. Text transcripts make audio information accessible to people
who have hearing disabilities and to people who cannot play the audio. Text
transcripts are usually created by hand but may be generated on the fly (e.g.,
by voice-to-text converters). See also the definitions of captions and collated text
- User agent
- In this document, the term "user agent" is used in two
- The software and documentation components that together, conform to the
requirements of User Agent Accessibility Guidelines 1.0
[UAAG10]. This is the most common use of the term in this document
and is the usage in the checkpoints.
- Any software that retrieves and renders Web content for users. This may
include Web browsers, media players, plug-ins,
and other programs – including assistive technologies -- that
help in retrieving and rendering Web content.
User agent default styles
- User agent default styles are style property
values applied in the absence of any author or user styles. Some markup
languages specify a default rendering for documents in that markup language.
Other specifications may not specify default styles. For example,
XML 1.0 [XML] does not specify default styles
for XML documents. HTML 4
[HTML4] does not specify default styles for HTML documents, but the
[CSS2] specification suggests a sample default
style sheet for HTML 4 based on current practice.
user interface control
- For the purposes of this document, user interface includes
The document distinguishes them only where required for clarity. For more
information, see the section on
requirements for content, for user agent features, or both in User Agent
Accessibility Guidelines 1.0 [UAAG10].
- the user agent user
interface, i.e., the controls (e.g., menus, buttons, prompts, and
other components for input and output) and mechanisms (e.g., selection and
focus) provided by the user agent ("out of the box") that are not created by content.
- the "content user interface", i.e., the enabled elements that are part of
content, such as form controls, links, applets,
The term "user interface control" refers to a component of the user agent
user interface or the content user interface, distinguished where
- User styles are style property
values that come from user interface settings, user style sheets, or other
- Views, viewports
- The user agent renders content through one or more
viewports. Viewports include windows, frames, pieces of paper, loudspeakers,
virtual magnifying glasses, etc. A viewport may contain another viewport (e.g.,
nested frames). User agent user interface
controls such as prompts, menus, alerts, etc., are not viewports.
Graphical and tactile viewports have two spatial dimensions. A
viewport may also have temporal dimensions, for instance when audio, speech,
animations, and movies are rendered. When the dimensions (spatial or temporal)
of rendered content exceed the dimensions of the viewport, the user agent
provides mechanisms such as scroll bars and advance and rewind controls so that
the user can access the rendered content "outside" the viewport. Examples
include: when the user can only view a portion of a large document through a
small graphical viewport, or when audio content has already been played.
When several viewports coexist, only one has the
current focus at a given moment. This viewport is
highlighted to make it stand out.
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
- A visual-only presentation is content consisting
exclusively of one or more visual tracks presented
concurrently or in series. A silent movie is an example of a visual-only
- A visual object is content rendered through a graphical viewport. Visual objects include graphics,
text, and visual portions of movies and other animations. A visual track is a
visual object that is intended as a whole or partial presentation. A visual
track does not necessarily correspond to a single physical object or software
- From "Introduction and Overview of W3C Speech Interface Framework"
[VOICEBROWSER]: "A voice browser is a device (hardware and software)
that interprets voice markup languages to generate voice output, interpret
voice input, and possibly accept and produce other modalities of input and
- Web resource
- The term "Web resource" is used in this document in
accordance with Web Characterization Terminology and Definitions Sheet
[WEBCHAR] to mean anything that can be identified by a Uniform
Resource Identifier (URI); refer to RFC 2396