W3C

User Agent Accessibility Guidelines 2.0

W3C Working Draft 12 March 2008

This version:
http://www.w3.org/TR/2008/WD-UAAG20-20080312/
Latest version:
http://www.w3.org/TR/UAAG20/
Previous version:
First Public Working Draft
Editors:
James Allan, Texas School for the Blind and Visually Impaired
Jan Richards, Adaptive Technology Resource Centre, University of Toronto

Abstract

This document provides guidelines for designing user agents that lower barriers to Web accessibility for people with disabilities. User agents include browsers and other types of software that retrieve and render Web content. A user agent that conforms to these guidelines will promote accessibility through its own user interface and through other internal facilities, including its ability to communicate with other technologies (especially assistive technologies). Furthermore, all users, not just users with disabilities, should find conforming user agents to be more usable.

In addition to helping developers of browsers and media players, this document will also benefit developers of assistive technologies because it explains what types of information and control an assistive technology may expect from a conforming user agent. Technologies not addressed directly by this document (e.g., technologies for braille rendering) will be essential to ensuring Web access for some users with disabilities.

The "User Agent Accessibility Guidelines 2.0" (UAAG 2.0) is part of a series of accessibility guidelines published by the W3C Web Accessibility Initiative (WAI).

Status of this document

May be Superseded

This section describes the status of this document at the time of its publication. Other documents may supersede this document. A list of current W3C publications and the latest revision of this technical report can be found in the W3C technical reports index at http://www.w3.org/TR/.

W3C First Public Draft of UAAG 2.0

This is a First Public Working Draft of "UAAG 2.0". For more information, please see the UAAG 2.0 Requirements Document. The Working Group expects for this document to become a Working Group Note until such time as the group is recharted to produce Recommendations under the W3C Patent Policy. At that point, the group anticipates advancing it to W3C Recommendation status.

Substantial changes since UAAG 1.0 include: (1) numerous clarifications and additions to the guidelines and success criteria as per the UAAG 2.0 Requirements Document, (2) restructuring the document into five principles similar to those used by WCAG 2.0 and ATAG 2.0, (3) adopting the three-priority level per guideline structure of WCAG 2.0 and ATAG 2.0, and (4) integrating the draft into a single document with streamlined introductory material.

The Working Group seeks feedback on the following points for this draft:

Comments on this working draft are due on or before 14 April 2008. Comments on the draft should be sent to public-uaag2-comments@w3.org (Public Archive).

Should UAAG 2.0 become a W3C Recommendation, it will supersede UAAG 1.0. Until that time User Agent Accessibility Guidelines 1.0 (UAAG 1.0) [UAAG10] is the stable, referenceable version. This Working Draft does not supersede UAAG 1.0.

Web Accessibility Initiative

This document has been produced as part of the W3C Web Accessibility Initiative (WAI). The goals of the UAWG are discussed in the Working Group charter. The UAWG is part of the WAI Technical Activity.

No Endorsement

Publication as a Working Draft does not imply endorsement by the W3C Membership. This is a draft document and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to cite this document as other than work in progress.

Patent Disclosures

This document was produced by a group operating under the 5 February 2004 W3C Patent Policy. This document is informative only. W3C maintains a public list of any patent disclosures made in connection with the deliverables of the group; that page also includes instructions for disclosing a patent. An individual who has actual knowledge of a patent which the individual believes contains Essential Claim(s) must disclose the information in accordance with section 6 of the W3C Patent Policy.


Table of Contents


Editing Styles:

Introduction

This section is informative.

This document specifies requirements that, if satisfied by user agent developers, will lower barriers to accessibility.

A separate document, entitled "Implementation Techniques for User Agent Accessibility Guidelines 2.0" (the "Techniques document" from here on) will be produced at a later date. It will provide suggestions and examples of how each success criteria might be satisfied. It also includes references to other accessibility resources (such as platform-specific software accessibility guidelines) that provide additional information on how a user agent may satisfy each success criteria. The techniques in the Techniques document are informative examples only, and other strategies may be used or required to satisfy the success criteria. The UAWG expects to update the Techniques document more frequently than the current guidelines. Developers, W3C Working Groups, users, and others are encouraged to contribute techniques.

Definition of User Agent

In this document, the term "user agent" is used in two ways:

  1. The software and documentation components that together, conform to the requirements of this document. This is the most common use of the term in this document and is the usage in the guidelines.
  2. Any software that retrieves and renders Web content for users. This may include Web browsers, browser extensions, media players, plug-ins, and other programs — including assistive technologies — that help in retrieving and rendering Web content.

Components of Web Accessibility

Web accessibility depends not only on accessible user agents, but also on the availability of accessible content, a factor that is greatly influenced by the accessibility of authoring tools. For an overview of how these components of Web development and interaction work together, see:

Levels of Conformance

User Agents may claim conformance to UAAG 2.0 at one of three conformance levels. The level achieved depends on the level of the success criteria that have been satisfied. The conformance levels are:

  1. UAAG 2.0 Conformance at Level "A"
    The user agent satisfies all of the Level A success criteria.
  2. UAAG 2.0 Conformance at Level "Double-A"
    The user agent satisfies all of the Level A and Level AA success criteria.
  3. UAAG 2.0 Conformance at Level "Triple-A"
    The user agent satisfies all of the success criteria.

Other Issues

Relation to general software design guidelines

One of the goals of this document is to ensure that the requirements are compatible with other software design practices. However, this document does not purport to be a complete guide to good software design. For instance, the general topic of user interface design for computer software exceeds the scope of this document, though some user interface requirements have been included because of their importance to accessibility.

This document promotes conformance to other specifications as part of accessible design (see Principle 1). Conformance to specifications makes it easier to design assistive technologies, and helps ensure the implementation of built-in accessibility functions.

This document also includes some requirements to implement an accessibility feature that may only be optional in another specification. In rare cases, a requirement in UAAG 2.0 may conflict with a requirement in another specification. UAAG 2.0 does not define a process for resolving such conflicts. The authors of this document anticipate that developers will consider accessibility implications in determining how to resolve them.

Installation

Installation is an important aspect of both accessibility and general software usability. On platforms where a user can install a user agent, the installation (and update and removal) procedures need to be accessible. Furthermore, the installation procedure should provide and install all components necessary to satisfy the requirements of this document, since the risk of installation failure increases with the number of components (e.g., plug-ins) to be installed.

This document does not include a success criteria requiring that installation procedures be accessible. Since this document considers installation to be part of software usage, the different aspects of installation (e.g., user interface, documentation, and operating environment conventions) are already covered by the complete set of success criteria.

Security considerations

Some of the requirements of this document may have security implications, such as communication through APIs, and allowing programmatic read and write access to content and user interface control. This document assumes that features required by this document will be built on top of an underlying security architecture. Consequently, unless permitted explicitly in a success criteria, this document grants no conformance exemptions based on security issues.

Developers should design user agents that enable communication with trusted assistive technologies. Sensitive information that the user agent can access through the user agent's user interface should also be available to assistive technologies through secure means. For instance, if the user types a password in the user agent user interface, do not communicate substitute characters (such as asterisks) through an API, but rather the real password, properly encrypted.

User control

This document emphasizes the goal of ensuring that users, including users with disabilities, have control over their environment for accessing the Web. Key methods for achieving that goal include: optional self-pacing, configurability, device-independence, interoperability, direct support for both graphical and auditory output, and adherence to published conventions.

This document also acknowledges the importance of author preferences and the proper implementation of specifications. However, this document includes requirements to override certain author preferences when the user would not otherwise be able to access that content.

Control of automatic behavior

Many of the requirements in this document give the user additional control over behavior that would otherwise occur automatically. For instance, there is a requirement to allow configuration to not open a viewport automatically and one that requires user confirmation before submitting a form. This type of manual configuration option may be essential for some users with disabilities, since automatic behavior may be disorienting or interfere with navigation.

Configurability

This document includes requirements for users with a variety of disabilities, in part because some users may have more than one disability. In some cases, it may appear that two requirements contradict each other. For instance, a user with a physical disability may prefer that the user agent offer more automatic behavior (to reduce demand for physical effort) than a user with a cognitive disability (for whom automatic behavior may cause confusion). Thus, many of the requirements in this document involve configuration as one way to ensure that a functionality designed to improve accessibility for one user does not interfere with accessibility for another. Also, since a default user agent setting may be useful for one user but interfere with accessibility for another, this document prefers configuration requirements to requirements for default settings. Finally, there may be some cases where, for some content, a feature required by this document is ineffective or causes content to be less accessible, making it imperative that the user be able to turn off the feature.

To avoid overwhelming users with an abundance of configuration options, this document includes requirements that promote ease of configuration and documentation of accessibility features.

Device independence, spatial independence, and temporal independence

Many requirements in this document promote different kinds of independence:

Additional benefits of accessible user agent design

In meeting the goals of users with disabilities, user agent developers will also improve access to the Web for users in general. For example, users without disabilities:

The UAWG expects that software which satisfies the requirements of this document will be more flexible, manageable, extensible, and beneficial to all users. For example, a user agent architecture that allows programmatic access to content and the user interface will encourage software modularity and reuse, and will enable operation by scripting tools and automated test engines in addition to assistive technologies.


UAAG 2.0 Guidelines

PRINCIPLE 1. Follow applicable specifications and conventions

Guideline 1.1 Observe operating environment conventions [Techniques]

Level A Success Criteria for Guideline 1.1
Level AA Success Criteria for Guideline 1.1
Level AAA Success Criteria for Guideline 1.1

Guideline 1.2 Support accessibility features of technologies [Techniques]

Level A Success Criteria for Guideline 1.2
Level AA Success Criteria for Guideline 1.2
Level AAA Success Criteria for Guideline 1.2

Guideline 1.3 Render content according to specification [Techniques]

Level A Success Criteria for Guideline 1.3
Level AA Success Criteria for Guideline 1.3
Level AAA Success Criteria for Guideline 1.3

Note: When a rendering requirement of another specification contradicts a requirement of UAAG 2.0, the user agent may disregard the rendering requirement of the other specification and still satisfy this guideline.

PRINCIPLE 2. Facilitate access by assistive technologies

Guideline 2.1 Programmatic access to HTML/XML infoset [Techniques] @@6.1 NEEDS WORK@@

Level A Success Criteria for Guideline 2.1
Level AA Success Criteria for Guideline 2.1
Level AAA Success Criteria for Guideline 2.1

Guideline 2.2 DOM access to HTML/XML content [Techniques] @@6.2 NEEDS WORK@@

Level A Success Criteria for Guideline 2.2
Level AA Success Criteria for Guideline 2.2
Level AAA Success Criteria for Guideline 2.2

Normative inclusions and exclusions @@from UAAG10@@

  1. Refer to the "Document Object Model (DOM) Level 2 Core Specification" [DOM2CORE] for information about which versions of HTML, XML, Java, and ECMAScript are covered. Appendix D contains the Java bindings and Appendix E contains the ECMAScript bindings.
  2. The user agent is not required to export the bindings outside of the user agent process (though doing so may be useful to assistive technology developers).

@@Note: This guideline stands apart from guideline 2.1 to emphasize the distinction between what information is required and how to provide access to that information. Furthermore, the DOM Level 2 Core Specification does not provide access to current states and values referred to in provision three of guideline 2.1. For HTML content, the interfaces defined in [DOM2HTML] do provide access to current states and values.

Guideline 2.3 Programmatic access to non-HTML/XML content [Techniques] @@6.3 NEEDS WORK@@

Level A Success Criteria for Guideline 2.3
Level AA Success Criteria for Guideline 2.3
Level AAA Success Criteria for Guideline 2.3

Normative inclusions and exclusions @@from UAAG10@@

  1. "Structured programmatic access" means access through an API to recognized information items of the content (such as the information items of the XML Infoset [INFOSET]). Plain text has little structure, so an API that provides access to it will be correspondingly less complex than an API for XML content. For content more structured than plain text, an API that only provides access to a stream of characters does not satisfy the requirement of providing structured programmatic access. This document does not otherwise define what is sufficiently structured access.
  2. An API is considered "available" if the specification of the API is published (e.g., as a W3C Recommendation) in time for integration into a user agent's development cycle

Note: This guideline addresses content not covered by guidelines 2.1 and 2.2.

Guideline 2.4 Programmatic access to information about rendered content [Techniques] @@6.4 NEEDS WORK@@

Level A Success Criteria for Guideline 2.4
Level AA Success Criteria for Guideline 2.4
Level AAA Success Criteria for Guideline 2.4

Note: User agents should provide programmatic access to additional useful information about rendered content that is not available through the APIs required by guidelines 2.2 and 2.3, including the correspondence (in both directions) between graphical objects and their source in the document object, and information about the role of each graphical object.

Guideline 2.5 Programmatic operation of user agent user interface [Techniques] @@6.5 NEEDS WORK@@

Level A Success Criteria for Guideline 2.5
Level AA Success Criteria for Guideline 2.5
Level AAA Success Criteria for Guideline 2.5

Normative inclusions and exclusions @@from UAAG10@@

  1. For security reasons, user agents are not required to allow instructions in content to modify user agent user interface controls. See more information on security considerations.
  2. Conformance detail: For user agent features

Note: APIs used to satisfy the requirements of this guideline may vary. For instance, they may be independent of a particular operating environment (e.g., the W3C DOM), or the conventional APIs for a particular operating environment, or the conventional APIs for programming languages, plug-ins, or virtual machine environments. User agent developers are encouraged to implement APIs that allow assistive technologies to interoperate with multiple types of software in a given operating environment (e.g., user agents, word processors, and spreadsheet programs), as this reuse will benefit users and assistive technology developers. User agents should always follow operating environment conventions for the use of input and output APIs.

Guideline 2.6 Programmatic notification of changes [Techniques] @@6.6 NEEDS WORK@@

Level A Success Criteria for Guideline 2.6
Level AA Success Criteria for Guideline 2.6
Level AAA Success Criteria for Guideline 2.6

Normative inclusions and exclusions @@from UAAG10@@

  1. The user agent is not required to provide notification of changes in the rendering of content (e.g., due to an animation effect or an effect caused by a style sheet) unless the document object is modified as part of those changes.
  2. Conformance profile labels: Selection
  3. Conformance detail: For both content and user agent

Note: For instance, provide programmatic notification when user interaction in one frame causes automatic changes to content in another.

Guideline 2.7 Conventional keyboard APIs [Techniques] @@6.7 NEEDS WORKs@@

Level A Success Criteria for Guideline 2.7
Level AA Success Criteria for Guideline 2.7
Level AAA Success Criteria for Guideline 2.7

Note: An operating environment may define more than one conventional API for the keyboard. For instance, for Japanese and Chinese, input may be processed in two stages, with an API for each stage.

Guideline 2.8 API character encodings [Techniques]@@6.8 NEEDS WORK@@

Level A Success Criteria for Guideline 2.8
Level AA Success Criteria for Guideline 2.8
Level AAA Success Criteria for Guideline 2.8

Normative inclusions and exclusions @@from UAAG10@@

  1. Conformance detail: For both content and user agent

Note: Support for character encodings is an important part of ensuring that text is correctly communicated to assistive technologies. For example, the DOM Level 2 Core Specification [DOM2CORE], section 1.1.5 requires that the DOMString type be encoded using UTF-16.

Guideline 2.9 DOM access to CSS style sheets [Techniques] @@6.9 NEEDS WORK@@

Level A Success Criteria for Guideline 2.9
Level AA Success Criteria for Guideline 2.9
Level AAA Success Criteria for Guideline 2.9

Normative inclusions and exclusions @@from UAAG10@@

  1. For the purposes of satisfying this guideline, Cascading Style Sheets (CSS) are defined by either CSS Level 1 [CSS1] or CSS Level 2 [CSS2].
  2. Refer to the "Document Object Model (DOM) Level 2 Style Specification" [DOM2STYLE] for information about which versions of Java and ECMAScript are covered. Appendix B contains the Java bindings and Appendix C contains the ECMAScript bindings.
  3. The user agent is not required to export the bindings outside of the user agent process.

Guideline 2.10 Timely exchanges through APIs [Techniques] @@6.10 NEEDS WORK@@

Level A Success Criteria for Guideline 2.10
Level AA Success Criteria for Guideline 2.10
Level AAA Success Criteria for Guideline 2.10

Note: For example, the programmatic exchange of information required by other guidelines in this document should be efficient enough to prevent information loss, a risk when changes to content or user interface occur more quickly than the communication of those changes. Timely exchange is also important for the proper synchronization of alternative renderings. The techniques for this guideline explain how developers can reduce communication delays. This will help ensure that assistive technologies have timely access to the document object model and other information that is important for providing access.

PRINCIPLE 3: Ensure that the user interface is perceivable

Guideline 3.1 Provide text alternatives for non-text components [Techniques]

Level A Success Criteria for Guideline 3.1
Level AA Success Criteria for Guideline 3.1
Level AAA Success Criteria for Guideline 3.1

Guideline 3.2 Provide access to alternative content [Techniques]

Level A Success Criteria for Guideline 3.2
Level AA Success Criteria for Guideline 3.2
Level AAA Success Criteria for Guideline 3.2

@@New Technique 3.2.5=User agents should expose configuration choices in as highly visible a fashion as is practical such as on a menu entry or dialog settings devoted to accessibility@@.

Guideline 3.3 Provide control of content that may reduce accessibility [Techniques]

Note: The guideline only applies to images, animations, video, audio, etc. that the user agent can recognize.

Level A Success Criteria for Guideline 3.3
Level AA Success Criteria for Guideline 3.3
Level AAA Success Criteria for Guideline 3.3

@@Tech=Provide the user with the ability to toggle whether the base user agent executes content that it is able to . - if cond. content exists reveal it (2.3)
@@Tech=Provide the user with the ability to toggle the loading of plugins that execute content the base browser is unable to execute - if cond. content exists reveal it (2.3)

Guideline 3.4 Provide access to relationship information [Techniques] @@NEW 10.1@@

Level A Success Criteria for Guideline 3.4
Level AA Success Criteria for Guideline 3.4
Level AAA Success Criteria for Guideline 3.4

Guideline 3.5 Repair missing content [Techniques]

Level A Success Criteria for Guideline 3.5
Level AA Success Criteria for Guideline 3.5
Level AAA Success Criteria for Guideline 3.5

Guideline 3.6 Provide highlighting for selection, content focus, enabled elements, visited links [Techniques]

Level A Success Criteria for Guideline 3.6
Level AA Success Criteria for Guideline 3.6
Level AAA Success Criteria for Guideline 3.6

Guideline 3.7 Provide text configuration [Techniques] @@4.1, 4.2, 4.3 in UAAG10@@

Level A Success Criteria for Guideline 3.7
Level AA Success Criteria for Guideline 3.7
Level AAA Success Criteria for Guideline 3.7

Guideline 3.8 Provide volume configuration [Techniques]

Level A Success Criteria for Guideline 3.8
Level AA Success Criteria for Guideline 3.8
Level AAA Success Criteria for Guideline 3.8

Guideline 3.9 Provide synthesized speech configuration [Techniques]

Level A Success Criteria for Guideline 3.9
Level AA Success Criteria for Guideline 3.9
Level AAA Success Criteria for Guideline 3.9

Guideline 3.10 Provide style sheets configuration [Techniques]

Level A Success Criteria for Guideline 3.10
Level AA Success Criteria for Guideline 3.10
Level AAA Success Criteria for Guideline 3.10

Guideline 3.11 Help user to use and orient within viewports [Techniques]

Level A Success Criteria for Guideline 3.11
Level AA Success Criteria for Guideline 3.11
Level AAA Success Criteria for Guideline 3.11

Guideline 3.12 Provide an effective focus mechanism [Techniques]

Level A Success Criteria for Guideline 3.12
Level AA Success Criteria for Guideline 3.12
Level AAA Success Criteria for Guideline 3.12

Guideline 3.13 Provide alternative views [Techniques]

Level A Success Criteria for Guideline 3.13
Level AA Success Criteria for Guideline 3.13
Level AAA Success Criteria for Guideline 3.13

Guideline 3.14 Provide link information [Techniques]

Level A Success Criteria for Guideline 3.14
Level AA Success Criteria for Guideline 3.14
Level AAA Success Criteria for Guideline 3.14

PRINCIPLE 4. Ensure that the user interface is operable

Guideline 4.1 Ensure full keyboard access [Techniques]

@@The UAWG is currently working to ensure that sufficient requirements are in place regarding how keyboard shortcuts are conveyed to the user (e.g. visual indicators, documentation, etc.). Input from area experts would be welcome.@@

@@The UAWG is also currently working to ensure that the requirements properly cover interaction with video and dynamic Web content. Input from area experts would be welcome.@@

Level A Success Criteria for Guideline 4.1
Level AA Success Criteria for Guideline 4.1
Level AAA Success Criteria for Guideline 4.1

Guideline 4.2 Provide access to event handlers [Techniques]

Level A Success Criteria for Guideline 4.2
Level AA Success Criteria for Guideline 4.2
Level AAA Success Criteria for Guideline 4.2

Guideline 4.3 Allow time-independent interaction [Techniques]

Level A Success Criteria for Guideline 4.3
Level AA Success Criteria for Guideline 4.3
Level AAA Success Criteria for Guideline 4.3

Guideline 4.4 Help users avoid flashing that could cause seizures [Techniques]

Level A Success Criteria for Guideline 4.4
Level AA Success Criteria for Guideline 4.4
Level AAA Success Criteria for Guideline 4.4

Guideline 4.5 Store preference settings [Techniques]

Level A Success Criteria for Guideline 3.6
Level AA Success Criteria for Guideline 3.6
Level AAA Success Criteria for Guideline 3.6

Guideline 4.6 Provide text search [Techniques]

Level A Success Criteria for Guideline 4.6
Level AA Success Criteria for Guideline 4.6
Level AAA Success Criteria for Guideline 4.6

Guideline 4.7 Provide structured navigation [Techniques]

Level A Success Criteria for Guideline 4.7
Level AA Success Criteria for Guideline 4.7
Level AAA Success Criteria for Guideline 4.7

Note: For example, allow the user to navigate only paragraphs, or only headings and paragraphs, or to suppress and restore navigation bars, or to navigate within and among tables and table cells

Guideline 4.8 Provide tool bar configuration [Techniques]

Level A Success Criteria for Guideline 4.8
Level AA Success Criteria for Guideline 4.8
Level AAA Success Criteria for Guideline 4.8

Principle 5: Ensure that user interface is understandable

Guideline 5.1 Help users avoid unnecessary messages [Techniques]

Level A Success Criteria for Guideline 5.1
Level AA Success Criteria for Guideline 5.1
Level AAA Success Criteria for Guideline 5.1

Guideline 5.2 Help users avoid and correct mistakes [Techniques]

Level A Success Criteria for Guideline 5.2
Level AA Success Criteria for Guideline 5.2
Level AAA Success Criteria for Guideline 5.2

Guideline 5.3 Document the user agent user interface including all accessibility features [Techniques]

Level A Success Criteria for Guideline 5.3
Level AA Success Criteria for Guideline 5.3
Level AAA Success Criteria for Guideline 5.3

Conformance

@@Ed. This section is still under development@@

Appendix A: Glossary

This glossary is normative.

a · b · c · d · e · f · g · h · i · j · k · l · m · n · o · p · q · r · s · t · u · v · w · x · y · z

activate
In the context of rendered content this means to execute or carry out one or more behaviors associated with an enabled element. In the context of the user interface "chrome", this means to execute or carry out one or more behaviors associated with a component of the user agent user interface. 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).
alert
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.
alternative content
Content that should be made available to the user only under certain conditions (e.g., based on user preferences or operating environment limitations). Some examples include: Note: Specifications vary in how completely they define how and when to render alternative content.
alternative content stack:
The set of alternative content items for a given position in content. The items may be mutually exclusive (e.g., regular contrast graphic vs. high contrast graphic) or non-exclusive (e.g., caption track that can play at the same time as a sound track).
animation
Content that, when rendered, creates a visual movement effect automatically (i.e., without explicit user interaction). This definition of animation includes video and animated images. Animation techniques include:
applet
A program (generally written in the Java programming language) that is part of content and that the user agent executes.
application programming interface (API), conventional input/output/device API
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, or video card.

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, the conventional input APIs of the user agent are for the mouse and keyboard. For touch screen devices or mobile devices, conventional input APIs may include stylus, buttons, and voice. 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:
  1. relies on services (such as retrieving Web resources and parsing markup) provided by one or more other "host" user agents. Assistive technologies communicate data and messages with host user agents by using and monitoring APIs.
  2. 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, and content transformations (e.g., to make tables more accessible).

Examples of assistive technologies that are important in the context of this document include the following:

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. These technologies include wheelchairs, reading machines, devices for grasping, text telephones, and vibrating pagers. For example, the following very general definition of "assistive technology device" comes from the (U.S.) Assistive Technology Act of 1998 [AT1998]:

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.

audio
Content that encodes prerecorded sound.
audio-only presentation
Content consisting exclusively of one or more audio tracks presented concurrently or in series (e.g., musical performances, radio-style news broadcasts, narrations).
audio track
Content rendered as sound through an audio viewport. The audio track may be all or part of the audio portion presentation (e.g., each instrument may have a track, or each stereo channel may have a track).
audio description - also called described video, video description and descriptive narration
An equivalent alternative that takes the form of narration added to the audio to describe important visual details that cannot be understood from the main soundtrack alone. Audio description of video provides information about actions, characters, scene changes, on-screen text, and other visual content. In standard audio description, narration is added during existing pauses in dialogue. In extended audio description, the video is paused so that there is time to add additional description.
authors
The people who have worked either alone or collaboratively to create the content (includes content authors, designers, programmers, publishers, testers, etc.).
author styles
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).
base background
The background of the content as a whole, such that no content may be layered behind it. In graphics applications, the base background is often referred to as the canvas.).
blinking text
Text whose visual rendering alternates between visible and invisible at any rate of change.
captions
An equivalent alternative that takes the form of text presented and synchronized with synchronized media to provide not only the speech, but also non-speech information conveyed through sound, including meaningful sound effects and identification of speakers. In some countries, the term "subtitle" is used to refer to dialogue only and "captions" is used as the term for dialogue plus sounds and speaker identification. In other countries, "subtitle" (or its translation) is used to refer to both. Open captions are captions that are always rendered with a visual track; they cannot be turned off. Closed captions are 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.
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 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 encodings.
collated text transcript
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.
configure, control, user option
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, or via style sheets or scripts). The results of "configuration" might not take effect immediately (e.g., due to time spent reinitializing the system, initiating a new session, or 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 hardware.

Both configuration and control can 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 per-element basis).

A global configuration is one that applies across elements of the same Web resource, as well as across Web resources.

User agents may allow users to choose configurations based on various parameters, such as hardware capabilities or natural language preferences.@@POINT TO NEW GUIDELINE ON HOW TO SAVE SETTTINGS@@

Note: In this document, the noun "control" refers to a user interface control.

content
In this specification, the noun "content" is used in three ways:
  1. It is used to mean the document object as a whole or in parts.
  2. 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.
  3. It is used in the terms non-text content and text content.

empty content (which may be alternative 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 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
In this document, device-independence refers to the desirable property that operation of a user agent feature is not bound to only one input or output device.
document object, 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 (e.g., from style sheets, scripts, or transformations), produced as a result of preferences set within the user agent, or added as the result of a repair performed automatically by the user agent. 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 and id. Most of the requirements of this document apply to the document object after its construction. However, a few guidelines (e.g., @@) 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 to access and modify the content via a scripting language (e.g., JavaScript) in a consistent manner across different scripting languages.
document character set
In this document, a document character set (a concept from SGML) is a collection of abstract characters that a format specification allows to appear in an instance of the format. A document character set consists of: 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.
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 the text portion of the document source.
documentation
Documentation refers to information that supports the use of a user agent. This information may be found, for example, in manuals, installation instructions, the help system, and tutorials. Documentation may be distributed (e.g., some parts may be delivered on CD-ROM, others on the Web). See guideline 5.3 for information about documentation requirements.
element, element type
This document uses the terms "element" and "element type" primarily 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 can 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 elements.

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 "grayed 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 interface.

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 [WCAG10]:

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 text).

Each markup language defines its own mechanisms for specifying alternative 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 alternative content in attribute values (e.g., the summary attribute for the TABLE element), in element content (e.g., OBJECT for external content it specifies, NOFRAMES for 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 events, changes to content, loading of content, and requests from the operating environment. 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 scripts.

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 instead of "no." In this document, this type of mistake is still considered an explicit user request.
focus, content focus, user interface focus, current focus
In this document, the term "content focus" refers to a user agent mechanism that has all of the following properties:
  1. 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 elements.
  2. It has state, i.e., it may be "set" on an enabled element, programmatically or through the user interface. Some content specifications (e.g., HTML, CSS) allow authors to associate behavior with focus set and unset events.
  3. 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, designers of word processing software 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., a radio button, text box, or menu).

On the screen, the user agent may highlight the content focus in a variety of ways, including through colors, fonts, graphics, and magnification. The user agent may also highlight the content focus 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.

graphical
In this document, the term "graphical" refers to information (including text, colors, graphics, images, and animations) rendered for visual consumption.
highlight
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").
image
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.
important elements
This specification intentionally does not identify which "important elements" must be navigable as this will vary by specification. What constitutes "efficient navigation" may depend on a number of factors as well, including the "shape" of content (e.g., sequential navigation of long lists is not efficient) and desired granularity (e.g., among tables, then among the cells of a given table). Refer to the Techniques document [UAAG10-TECHS] for information about identifying and navigating important elements.
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, and voice commands). The default input configuration is the set of bindings the user finds after installation of the software. Input configurations may be affected by author-specified bindings (e.g., through the accesskey attribute of HTML 4 [HTML4]).
interactive element, non-interactive element,
An interactive element is piece of content that, by specification or by programmatic enablement, may have associated behaviors to be executed or carried out as a result of user or programmatic interaction."
@@edit the rest@@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 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.
normative, informative [WCAG 2.0, ATAG 2.0]
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.
operating environment
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.
override
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 content).
placeholder
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. Placeholders should identify the technology of the object of which it is holding the place. Placeholders will appear in the alternative content stack.
plug-in [ATAG 2.0]
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 during an audio rendering or a cursor position 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, and selection. The stability of the point of regard is addressed by @@.
profile
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, and natural language preferences. In operating environments with distinct user accounts, profiles enable users to reconfigure software quickly when they log on. Users may share their profiles with one another. Platform-independent profiles are useful for those who use the same user agent on different platforms.
prompt [ATAG 2.0]
Any user agent initiated request for a decision or piece of information from users.
properties, values, and defaults
A user agent renders a document by applying formatting algorithms and style information to the document's elements. Formatting depends on a number of factors, including where the document is rendered: on screen, on paper, through loudspeakers, on a braille display, or on a mobile device. Style information (e.g., fonts, colors, and synthesized speech prosody) 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 at installation is called the property's default value.
recognize
Authors encode information in many ways, including in markup languages, style sheet languages, scripting languages, and protocols. 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 a heading using a visual effect alone (e.g., just 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 is not rendered but that may influence the graphical rendering (e.g., layout) of other content. Similarly, silent content is content that is not rendered but that may influence the audio rendering of other content. 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" refers to the text portion of repair content. Some error conditions that may lead to the generation of repair content include:

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" [ATAG10-TECHS].

script
In this document, the term "script" almost always refers to a scripting (programming) language used to create dynamic Web content. However, in guidelines 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 (programming) 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 (possibly empty) range of content. Generally, user agents limit the type of content that may be selected to text content (e.g., one or more fragments of text). In some user agents, the value of the selection is constrained by the structure of the document tree.

On the screen, the selection may be highlighted in a variety of ways, including through colors, fonts, graphics, and magnification. 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, including for cut and paste operations, to designate a specific element in a document for the purposes of a query, and as an indication of point of regard.

The selection has state, i.e., it may be "set," 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.

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 selection mechanism.

serial access, sequential navigation
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. 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 navigation.

support, implement, conform
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 or a particular scripting language), 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.
synchronize
In this document, "to synchronize" refers to the act of time-coordinating two or more presentation components (e.g., a visual track with captions, or several tracks in a multimedia presentation). 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.
technology (Web content) - or shortened to technology [WCAG 2.0, ATAG 2.0]
A mechanism for encoding instructions to be rendered, played or executed by user agents. Web Content technologies may include markup languages, data formats, or programming languages that authors may use alone or in combination to create end-user experiences that range from static Web pages to multimedia presentations to dynamic Web applications. Some common examples of Web content technologies include HTML, CSS, SVG, PNG, PDF, Flash, and JavaScript.
text
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 equivalent
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:
  1. visually-displayed text benefits users who are deaf and adept in reading visually-displayed text;
  2. synthesized speech benefits users who are blind and adept in use of synthesized speech;
  3. braille benefits users who are blind, and possibly deaf-blind, and adept at reading braille.

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 rendering.

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 (e.g., JPEG).

"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 alternative 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.

text decoration
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, and strike-through.
text format
Any media object given an Internet media type of "text" (e.g., "text/plain", "text/html", or "text/*") as defined in RFC 2046 [RFC2046], section 4.1, or any media object identified by Internet media type to be an XML document (as defined in [XML], section 2) or SGML application. Refer, for example, to Internet media types defined in "XML Media Types" [RFC3023].
text transcript
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 transcripts.
user agent
In this document, the term "user agent" is used in two ways:
  1. The software and documentation components that together, conform to the requirements of this document. This is the most common use of the term in this document and is the usage in the guidelines.
  2. Any software that retrieves and renders Web content for users. This may include Web browsers, browser extensions, 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 content in that markup language; others do not. 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 CSS 2 [CSS2] specification suggests a sample default style sheet for HTML 4 based on current practice.
user interface, user interface control
For the purposes of this document, user interface includes both:
  1. 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.
  2. the "content user interface," i.e., the enabled elements that are part of content, such as form controls, links, and applets.
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 @@.

The term "user interface control" refers to a component of the user agent user interface or the content user interface, distinguished where necessary.

user styles
User styles are style property values that come from user interface settings, user style sheets, or other user interactions.
view, viewport
The user agent renders content through one or more viewports. Viewports include windows, frames, pieces of paper, loudspeakers, and virtual magnifying glasses. A viewport may contain another viewport (e.g., nested frames). User agent user interface controls such as prompts, menus, and alerts 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 document.

"top-level" viewports are viewports that are not contained within other user agent viewports.

visual-only presentation
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 presentation.
visual track
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.
voice browser
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 output."
web resource
Anything that can be identified by a Uniform Resource Identifier (URI).

Appendix B: How to refer to UAAG 2.0 from other documents

@@Ed. This section is still under development@@


Appendix C: References

This section is informative.

For the latest version of any W3C specification please consult the list of W3C Technical Reports at http://www.w3.org/TR/. Some documents listed below may have been superseded since the publication of this document.

Note: In this document, bracketed labels such as "[WCAG20]" link to the corresponding entries in this section. These labels are also identified as references through markup.

[CSS1]
"Cascading Style Sheets (CSS1) Level 1 Specification," B. Bos, H. Wium Lie, eds., 17 December 1996, revised 11 January 1999. This W3C Recommendation is http://www.w3.org/TR/1999/REC-CSS1-19990111.
[CSS2]
"Cascading Style Sheets, level 2 (CSS2) Specification," B. Bos, H. Wium Lie, C. Lilley, and I. Jacobs, eds., 12 May 1998. This W3C Recommendation is http://www.w3.org/TR/1998/REC-CSS2-19980512/.
[DOM2CORE]
"Document Object Model (DOM) Level 2 Core Specification," A. Le Hors, P. Le Hégaret, L. Wood, G. Nicol, J. Robie, M. Champion, S. Byrne, eds., 13 November 2000. This W3C Recommendation is http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/.
[DOM2STYLE]
"Document Object Model (DOM) Level 2 Style Specification," V. Apparao, P. Le Hégaret, C. Wilson, eds., 13 November 2000. This W3C Recommendation is http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113/.
[INFOSET]
"XML Information Set," J. Cowan and R. Tobin, eds., 24 October 2001. This W3C Recommendation is http://www.w3.org/TR/2001/REC-xml-infoset-20011024/.
[RFC2046]
"Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types," N. Freed, N. Borenstein, November 1996.
[WCAG10]
"Web Content Accessibility Guidelines 1.0," W. Chisholm, G. Vanderheiden, and I. Jacobs, eds., 5 May 1999. This W3C Recommendation is http://www.w3.org/TR/1999/WAI-WEBCONTENT-19990505/.
[XML]
"Extensible Markup Language (XML) 1.0 (Second Edition)," T. Bray, J. Paoli, C.M. Sperberg-McQueen, eds., 6 October 2000. This W3C Recommendation is http://www.w3.org/TR/2000/REC-xml-20001006.
[AT1998]
The Assistive Technology Act of 1998.
[ATAG10]
"Authoring Tool Accessibility Guidelines 1.0," J. Treviranus, C. McCathieNevile, I. Jacobs, and J. Richards, eds., 3 February 2000. This W3C Recommendation is http://www.w3.org/TR/2000/REC-ATAG10-20000203/.
[ATAG10-TECHS]
"Techniques for Authoring Tool Accessibility Guidelines 1.0," J. Treviranus, C. McCathieNevile, J. Richards, eds., 29 Oct 2002. This W3C Note is http://www.w3.org/TR/2002/NOTE-ATAG10-TECHS-20021029/.
[CHARMOD]
"Character Model for the World Wide Web," M. Dürst and F. Yergeau, eds., 30 April 2002. This W3C Working Draft is http://www.w3.org/TR/2002/WD-charmod-20020430/. The latest version is available at http://www.w3.org/TR/charmod/.
[DOM2HTML]
"Document Object Model (DOM) Level 2 HTML Specification," J. Stenback, P. Le Hégaret, A. Le Hors, eds., 8 November 2002. This W3C Proposed Recommendation is http://www.w3.org/TR/2002/PR-DOM-Level-2-HTML-20021108/. The latest version is available at http://www.w3.org/TR/DOM-Level-2-HTML/.
[HTML4]
"HTML 4.01 Recommendation," D. Raggett, A. Le Hors, and I. Jacobs, eds., 24 December 1999. This W3C Recommendation is http://www.w3.org/TR/1999/REC-html401-19991224/.
[RFC2616]
"Hypertext Transfer Protocol — HTTP/1.1," J. Gettys, J. Mogul, H. Frystyk, L. Masinter, P. Leach, T. Berners-Lee, June 1999.
[RFC3023]
"XML Media Types," M. Murata, S. St. Laurent, D. Kohn, January 2001.
[SMIL]
"Synchronized Multimedia Integration Language (SMIL) 1.0 Specification," P. Hoschka, ed., 15 June 1998. This W3C Recommendation is http://www.w3.org/TR/1998/REC-smil-19980615/.
[SMIL20]
"Synchronized Multimedia Integration Language (SMIL 2.0) Specification," J. Ayars, et al., eds., 7 August 2001. This W3C Recommendation is http://www.w3.org/TR/2001/REC-smil20-20010807/.
[SVG]
"Scalable Vector Graphics (SVG) 1.0 Specification," J. Ferraiolo, ed., 4 September 2001. This W3C Recommendation is http://www.w3.org/TR/2001/REC-SVG-20010904/.
[UAAG10]
"User Agent Accessibility Guidelines 1.0," I. Jacobs, J. Gunderson, E. Hansen, eds.17 December 2002. This W3C Recommendation is available at http://www.w3.org/TR/2002/REC-UAAG10-20021217/.
[UAAG10-CHECKLIST]
An appendix to this document lists all of the checkpoints, sorted by priority. The checklist is available in either tabular form or list form.
[UAAG10-ICONS]
Information about UAAG 1.0 conformance icons and their usage is available at http://www.w3.org/WAI/UAAG10-Conformance.
[UAAG10-SUMMARY]
An appendix to this document provides a summary of the goals and structure of User Agent Accessibility Guidelines 1.0.
[UAAG10-TECHS]
"Techniques for User Agent Accessibility Guidelines 1.0," I. Jacobs, J. Gunderson, E. Hansen, eds. The latest draft of the techniques document is available at http://www.w3.org/TR/UAAG10-TECHS/.
[UNICODE]
"The Unicode Standard, Version 3.2." This technical report of the Unicode Consortium is available at http://www.unicode.org/unicode/reports/tr28/. This is a revision of "The Unicode Standard, Version 3.0," The Unicode Consortium, Addison-Wesley Developers Press, 2000. ISBN 0-201-61633-5. Refer also to http://www.unicode.org/unicode/standard/versions/. For information about character encodings, refer to Unicode Technical Report #17 "Character Encoding Model".
[VOICEBROWSER]
"Introduction and Overview of W3C Speech Interface Framework," J. Larson, 4 December 2000. This W3C Working Draft is http://www.w3.org/TR/2000/WD-voice-intro-20001204/. The latest version is available at http://www.w3.org/TR/voice-intro/. This document includes references to additional W3C specifications about voice browser technology.
[W3CPROCESS]
"World Wide Web Consortium Process Document," I. Jacobs ed. The 19 July 2001 version of the Process Document is http://www.w3.org/Consortium/Process-20010719/. The latest version is available at http://www.w3.org/Consortium/Process/.
[WCAG10-TECHS]
"Techniques for Web Content Accessibility Guidelines 1.0," W. Chisholm, G. Vanderheiden, and I. Jacobs, eds., 6 November 2000. This W3C Note is http://www.w3.org/TR/2000/NOTE-WCAG10-TECHS-20001106/. The latest version is available at http://www.w3.org/TR/WCAG10-TECHS/. Additional format-specific techniques documents are available from this Note.
[WEBCHAR]
"Web Characterization Terminology and Definitions Sheet," B. Lavoie, H. F. Nielsen, eds., 24 May 1999. This is a W3C Working Draft that defines some terms to establish a common understanding about key Web concepts. This W3C Working Draft is http://www.w3.org/1999/05/WCA-terms/01.
[XAG10]
"XML Accessibility Guidelines 1.0," D. Dardailler, S. Palmer, C. McCathieNevile, eds., 3 October 2001. This W3C Working Draft is http://www.w3.org/TR/2002/WD-xag-20021003. The latest version is available at http://www.w3.org/TR/xag.
[XHTML10]
"XHTML[tm] 1.0: The Extensible HyperText Markup Language," S. Pemberton, et al., 26 January 2000. This W3C Recommendation is http://www.w3.org/TR/2000/REC-xhtml1-20000126/.
[XMLDSIG]
"XML-Signature Syntax and Processing," D. Eastlake, J. Reagle, D. Solo, eds., 12 February 2002. This W3C Recommendation is http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/.
[XMLENC]
"XML Encryption Syntax and Processing," D. Eastlake, J. Reagle, eds., 10 December 2002. This W3C Recommendation is http://www.w3.org/TR/2002/REC-xmlenc-core-20021210/.

Appendix D: Acknowledgments

Participants active in the UAWG prior publication:

Other previously active UAWG participants and other contributors to UAAG 2.0:

This document would not have been possible without the work of those who contributed to UAAG 1.0.

This publication has been funded in part with Federal funds from the U.S. Department of Education under contract number ED05CO0039. The content of this publication does not necessarily reflect the views or policies of the U.S. Department of Education, nor does mention of trade names, commercial products, or organizations imply endorsement by the U.S. Government.


Appendix E: Checklist

@@Ed. This section is still under development@@


Appendix F: Comparison of UAAG 1.0 guidelines to UAAG 2.0

@@Ed. This section is still under development@@