- In this document, the verb "to activate" means (depending
on context) either:
The effect of activation depends on the type of enabled element or 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 pre-recorded 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
section on applicability for more
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. Please 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 "read" as well as "write" 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
component of the user agent user
- 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 is either a null value or a string consisting of zero
characters. For instance, in HTML, "
alt=''" sets the value of the
alt" 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 doesn't 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. 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; collated
text transcripts for multimedia presentations and animations) 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
(or portions of equivalents) in attribute values (e.g., the "summary" attribute
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 with a control provided by the user agent user interface
(not those in content), the focus, or selection. Control behavior should be documented.
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" refers to a
user agent mechanism that has all of the following properties:
- 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
the first: the user interface focus 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 viewport.
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").
- In this document, an "image" refers to content that encodes static (i.e., unmoving)
visual information. See also the definition of
- 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
to 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
- 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 default value.
- 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 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. The Techniques document
[UAAG10-TECHS] lists some markup known to affect accessibility that
user agents can recognize.
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 itself. Similarly, "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, etc.);
- Missing resources for handling or rendering content (e.g., the user agent
lacks a font family to display some characters, the user agent doesn't
implement a particular scripting language, etc.);
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 conformance.
Note: Some user agents may also implement a selection for
designating a range of information in controls of the user agent user interface.
The current document only includes requirements for a content
- 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
time-coordination of 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.
Note that the terms "text element" and "non-text element" are defined by the
characteristics of their output (e.g., rendering) rather than those of their
input (e.g., information sources) or their internals (e.g., format). Both text
elements and non-text elements should be understood as "pre-rendering" content
in contrast to the "post-rendering" content that they produce.
- 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 pre-written 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
- 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.
- The subject of a conformance claim to this document.
This is the most common use of the term in this document and is the usage in
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.
- For the purposes of this document, user interface includes
The document distinguishes them only where required for clarity.
- the "user agent user
interface", i.e., the controls (e.g., menus, buttons, prompts,
etc.) and mechanisms (e.g., selection and focus) provided by the user agent
("out of the box") that are not created by
- the "content user interface", i.e., the enabled elements that are part of
content, such as form elements, links, applets,
- User styles are style property
values that come from user interface settings, user style sheets, or other
- 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
object. A visual track may be text-based or graphic. A visual track may be
static or involve animation.
- 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 interface controls such as prompts, menus, alerts, etc.
are not viewports.
When the dimensions (spatial or temporal) of rendered content exceed the
dimensions of the viewport (e.g., when the user can only view a portion of a
large document through a small graphical viewport, when audio content has
already been played, etc.), 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.
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
- 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