[Contents] [Guidelines]

W3C

Implementing UAAG 2.0

A guide to understanding and implementing User Agent Accessibility Guidelines 2.0

W3C Editors' Draft 05 November 2010

This version:
http://www.w3.org/WAI/UA/2010/ED-IMPLEMENTING-UAAG20-20101105/
Latest version:
http://www.w3.org/TR/IMPLEMENTING-UAAG20/
Previous version:
http://www.w3.org/TR/2010/WD-IMPLEMENTING-UAAG20-20100617/
Editors:
James Allan, Texas School for the Blind and Visually Impaired
Kelly Ford, Microsoft
Jan Richards, Adaptive Technology Resource Centre, University of Toronto
Jeanne Spellman, W3C/Web Accessibility Initiative
Previous Editors:
NA

Abstract

This document provides supporting information for the User Agent Accessibility Guidelines (UAAG) 2.0 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 UAAG 2.0 (e.g., technologies for braille rendering) will be essential to ensuring Web access for some users with disabilities.

This document provides explanation of the intent of UAAG 2.0 success criteria, examples of implementation of the guidelines, best practice recommendations and additional resources for the guideline.

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

Editor's Draft of UAAG 2.0

This document is the internal working draft used by the UAWG and is updated continuously and without notice. This document has no formal standing within W3C. Please consult the group's home page and the W3C technical reports index for information about the latest publications by this group.

Web Accessibility Initiative

This document has been produced as part of the W3C Web Accessibility Initiative (WAI). The goals of the User Agent Working Group (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.

Patents

This document was produced by a group operating under the 5 February 2004 W3C Patent Policy. The group does not expect this document to become a W3C Recommendation. 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


Introduction

Definition of User Agent

A user agent is any software that retrieves, renders and facilitates end-user interaction with Web content.

What qualifies as a User Agent?

The following tests can be used to determine if software qualifies as a user agent for the purposes of these guidelines. It divides potential user agents into Primary Agents (the traditional "browser"), Extensions and Plug-ins, and Web-based User Agents.

If the following three conditions are met then it is a Primary User Agent and Must Conform to UAAG:

  1. If it is a standalone application; and
  2. If it interprets any w3c specified language; and
  3. If it provides a user interface or interprets either a procedural or declarative language that may be used to provide a user interface.

If the following two conditions are met then it is a User Agent Extension or Plug-In and Must Conform to UAAG:

  1. If it is launched by, or extends the functionality of, a Primary User Agent; and
  2. If post-launch user interaction either becomes part of, or is within the bounds of, the Primary User Agent.
If the following three conditions are met then it is a Web-Based User Agent and Must Conform to UAAG:
  1. If the user interface is generated by the interpretation of either a procedural or declarative language; and
  2. If this interpretation is by a Primary User Agent, User Agent Extension or Plug-In; and
  3. If user interaction is not passed to and from the Primary User Agent, User Agent Extension or Plug-In, or if user interaction does not modify the Document Object Model of its containing document.

UAAG 2.0 Guidelines

PRINCIPLE 1 (former Principal 3): Ensure that the user interface and rendered content are perceivable

Implementing Guideline 1.1(former 3.1) Provide access to alternative content.

1.1.1(former 3.1.1) Identify Presence of Alternative Content: The user can have indicators rendered along with rendered elements that have alternative content (e.g. visual icons rendered in proximity of content that has short text alternatives, long descriptions, or captions). (Level A).

1.1.2(former 3.1.2) Configurable Default Rendering: The user can globally specify which types of alternative content to render by default. (Level A)

1.1.3(former 3.1.3) Browse and Render: The user can browse the alternatives, switch between them, and render them according to the following (Level A):

1.1.4(former 3.1.4) Rendering Alternative (Enhanced): The user can globally configure a cascade of types of alternatives to render by default, in case a preferred type is unavailable. If the alternative content has a different height or width, the user agent will reflow the viewport. (Level AA)

Implementing Guideline 1.2(former 3.4) Repair missing content.

1.2.1(former 3.4.1) Repair Missing Alternatives: The user has the option of receiving generated repair text when the user agent recognizes that the author has not provided alternative content required by the technology specification (e.g., short text alternative for an image). (Level A)

1.2.2(former 3.4.2) Repair Empty Alternatives: The user has the option of receiving generated repair text when the user agent recognizes that the author has provided empty alternative content. (Level AA)

Implementing Guideline 1.3(former 3.5) Provide highlighting for selection, content focus, enabled elements, visited links.

1.3.1(former 3.5.1) Highlighted items: The user has the option to highlight the following classes of information so that each is uniquely distinguished. (Level A):

1.3.2(former 3.5.2) Highlighting options: The highlighting options (with the same configurable range as the operating environment's conventional selection utilities) include at least (Level A):

Implementing Guideline 1.4(former 3.6) Provide text configuration.

1.4.1(former 3.6.1) Configure Text: The user can globally set the following characteristics of visually rendered text content, overriding any specified by the author or user agent defaults (Level A):

1.4.2(former 3.6.2) Preserve Distinctions: The user can preserve distinctions in the size of rendered text when that text is rescaled (e.g. headers continue to be larger than body text) within absolute limitations imposed by the platform. (Level A)

1.4.3(former 3.6.3) Option Range: The range of options for each text characteristic includes at least (Level A):

Implementing Guideline 1.5(former 3.7) Provide volume configuration.

1.5.1(former 3.7.1) Global Volume: The user can independently adjust the volume of all audio tracks the user agent renders, relative to the global volume level set through operating environment mechanisms. However, if audio is muted at the global level the user agent should not override this unless the behavior is optional, not enabled by default, and the user is cautioned as to its implications. (e.g. the alarm clock application on a mobile device has an option to play the alarm even if the system is muted, provided the check box is normally unchecked and is accompanied by text cautioning the user about this behavior. (Level A) The user can globally set volume of all audio tracks it renders (including a "mute" setting) through available operating environment mechanisms. (Level A)

1.5.2 (former 3.7.2) Speech Volume: The user can adjust the volume of all audio tracks the user agent renders, independently or relative to the volume level at the operating environment. (Level A)

Implementing Guideline 1.6(former 3.8) Provide synthesized speech configuration.

1.6.1(former 3.8.1) Speech Rate and Volume: The user can set in synthesized speech, overriding any values specified by the author (Level A):

1.6.2(former 3.8.2) Speech Pitch and Range: The user can set in synthesized speech, overriding any values specified by the author (Level AA):

1.6.3(former 3.8.3) Advanced Speech Characteristics: The user can set all of the speech characteristics offered by the speech synthesizer, according to the full range of values available, overriding any values specified by the author. (Level AAA)

1.6.4(former 3.8.4) Speech Features: The following speech features are provided (Level AA):

Implementing Guideline 1.7(former 3.9) Provide style sheets configuration.

1.7.1(former 3.9.1) Author Style Sheets: If the author has supplied one or more style sheets, the user has the following options (Level A):

1.7.2(former 3.9.2) User Style Sheets: If the user has supplied one or more style sheets, the user has the following options (Level A):

Implementing Guideline 1.8(former 3.10) Help user to use viewports and orient within viewports.

1.8.1(former 3.10.1) Highlight Viewport: The viewport with the input focus (including nested viewports and their containers) is highlighted, and the user is able to customize attributes of the highlighted mechanism, including, but not limited to, shape, size, stroke width, color, and blink rate (if any). (Level A)

1.8.2(former 3.10.2) Move Viewport to Selection and Focus: When a viewport's selection or input focus changes, the viewport moves as necessary to ensure that the new selection or input focus location is at least partially in the viewport. (Level A)

(former 3.10.3) @@ Editor's Note: Merged with 1.8.2(former 3.10.2). Remove this note@@

1.8.3(former 3.10.4) Resizable: The user has the option to make graphical viewports resizable, within the limits of the display, overriding any values specified by the author. (Level A)

1.8.4(former 3.10.5) Scrollbars: Graphical viewports include scrollbars if the rendered content (including after user preferences have been applied) extends beyond the viewport dimensions, overriding any values specified by the author. (Level A)

1.8.5(former 3.10.6) Viewport History: If the user agent maintains a viewport history mechanism (e.g., via the "back button") that stores previous "viable" states (i.e., that have not been negated by the content, user agent settings or user agent extensions). It maintains information about the page and embedded controls, including viewport scrolling, selection and keyboard focus. It restores the saved values when the user returns to a state in the history. (Level A)

1.8.6(former 3.10.7) Open on Request: The user has the option of having "top-level"viewports (e.g., windows) only open on explicit user request. In this mode, instead of opening a viewport automatically, notify the user and allow the user to open it with an explicit request (e.g., by confirming a prompt or following a link generated by the user agent). (Level AA)

1.8.7(former 3.10.8) Do Not Take Focus: When configured to allow top-level viewports to open without explicit user request, the user has the option to specify that if a top-level viewport opens, it does not take the active keyboard focus . (Level AA)

1.8.8(former 3.10.9) Stay on Top: The user has the option of having the viewport with the current focus be displayed and remain on top of all other viewports with which it overlaps. (Level AA)

1.8.9(former 3.10.10) Close Viewport: The user can close any top-level viewport. (Level AA)
Note: Dialog boxes or other special purpose viewports that provide limited functionality, do not have to spawn all the user-requested features that do not apply to that special function.

1.8.10(former 3.10.11) Same UI: The user has the option of having all top-level viewports follow the same user interface configuration as the current or spawning viewport. (Level AA)

1.8.11(former 3.10.12) Indicate Viewport Position: Indicate the viewport's position relative to rendered content (e.g., the proportion along an audio or video timeline, the proportion of a Web page before the current position ), and what proportion of the content is currently visible in the viewport along either vertical or horizontal dimension. (Level AAA)

Implementing Guideline 1.9(former 3.11) Provide an effective focus mechanism.

1.9.1(former 3.11.1) Keyboard Focus: At least one keyboard focus is provided for each viewport (including frames), where enabled elements are part of the rendered content. (Level A)

1.9.2(former 3.11.2) Current Focus: The user can make the keyboard focus of each viewport the active input focus. (Level A)

1.9.3(former 3.11.3) User Interface Focus: An active input focus is provided. (Level A)

1.9.4(former 3.11.4) Extensions Focusable: The keyboard focus can navigate within extensions to the user interface. (Level A)

1.9.5(former 3.11.5) Hand-Off Focus: The user agent programmatically notifies any nested user agent(s) (e.g., plug-ins) when active input focus moves to a nested agent. (Level A)

1.9.6(former 3.11.6) Retrieve Focus: At any time, the user agent is able to retrieve input focus from a nested viewport (including nested viewports that are user agents). (Level A)

1.9.7(former 3.11.7) Return Focus: An embedded user agent is responsible for notifying the embedding user agent that active input focus should move back to it. (Level A)

1.9.8(former 3.11.8) Bi-Directional: The user can move the keyboard focus forward or backward to any enabled element in the viewport. (Level A)

1.9.9(former 3.11.9) Sequential Navigation: If the author has not specified a navigation order, the default is sequential navigation, in document order. (Level A)

1.9.10(former 3.11.10) Only on User Request: The user can specify that the keyboard focus of a viewport only change on explicit user request. (Level A)

1.9.11(former 3.11.11) On Focus: The user can ensure that moving the keyboard focus to or from an enabled element does not cause the user agent to take any further action. (Level A)

Implementing Guideline 1.10(former 3.12) Provide alternative views.

1.10.1(former 3.12.1) Text View: For content authored in text formats, a view of the text source is provided. (Level A)

1.10.2(former 3.12.2) Outline View: An "outline" view of rendered content is provided, composed of labels for important structural elements (e.g. heading text, table titles, form titles, and other labels that are part of the content). (Level AA)

Note: What constitutes a label is defined by each markup language specification. For example, in HTML, a heading (H1-H6) is a label for the section that follows it, a CAPTION is a label for a table, and the title attribute is a label for its element.

1.10.3(former 3.12.3) Configure Set of Important Elements:The user can be presented with a hierarchical view of the rendered content that conveys associations implied by author-specified presentation attributes (i.e. position and appearance). (Level AA)

Implementing Guideline 1.11(former 3.13) Provide link information.

1.11.1(former 3.13.1) Basic Link Information: The following information is provided for each link (Level A):

1.11.2(former 3.13.2) Extended Link Information: The following information is provided for each link (Level AAA):

PRINCIPLE 2(former Principle 4). Ensure that the user interface is operable

Implementing Guideline 2.1(former 4.1) Ensure full keyboard access. [Return to Guideline]

2.1.1(former 4.1.1) Keyboard Operation: All functionality can be operated via the keyboard using sequential or direct keyboard commands that do not require specific timings for individual keystrokes, except where the underlying function requires input that depends on the path of the user's movement and not just the endpoints (e.g., free hand drawing). This does not forbid and should not discourage providing mouse input or other input methods in addition to keyboard operation. (Level A)

2.1.2(former 4.1.2) Specify preferred keystrokes:: The user can override any keyboard shortcut including recognized author supplied shortcuts (e.g accesskeys) and user interface controls, except for conventional bindings for the operating environment (e.g., for access to help). (Level AA)

2.1.3(former 4.1.3) No Keyboard Trap (Minimum): The user agent prevents keyboard traps as follows (Level A):

2.1.4(former 4.1.4) Separate Selection from Activation: The user can specify that selection is separate from activation (e.g., navigating through a set of radio buttons without changing which is the active/selected option). (Level A)

2.1.5(former 4.1.5) Standard Text Area Navigation Conventions: Views that render text support the standard text area conventions for the operating environment, including, but not necessarily limited to: character keys, Backspace/Delete, Insert, arrow key navigation (e.g., caret browsing), Page Up/Page Down, navigate to start/end, navigate by paragraph, shift-to-select mechanism. (Level A)

2.1.6(former 4.1.6) Present Direct Commands in Rendered Content: The user can have any recognized direct commands (e.g. accesskey) in rendered content be presented with their associated elements (e.g. "[Ctrl+t]" displayed after a link whose accesskey value is "t", or an audio browser reading the value or label of a form control followed by "accesskey control plus t"). (Level A)

2.1.7(former 4.1.7) Present Direct Commands in User Interface: The user has the option to have any direct commands (e.g. keyboard shortcuts) in the user agent user interface be presented with their associated user interface controls (e.g. "Ctrl+S" displayed on the "Save" menu item and toolbar button). (Level AA)

2.1.8(former 4.1.8) Keyboard Navigation: The user can use the keyboard to navigate from group to group of focusable items and to traverse forwards and backwards all of the focusable elements within each group. Groups include, but are not limited to, toolbars, panels, and user agent extensions. (Level AA)

2.1.9(former 2.1.9(former 4.1.9) ) Important Command Functions: Important command functions (e.g. related to navigation, display, content, information management) are available using a single or sequence of keystrokes or key combinations. (Level AA)

2.1.10(former 4.1.10) Override of UI Keyboard Commands: The user can override any keyboard shortcut binding for the user agent user interface except for conventional bindings for the operating environment (e.g. access to help). The rebinding options must include single-key and key-plus-modifier keys if available in the operating environment. (Level AA)

2.1.11(former 4.1.11) User Override of Accesskeys: The user can override any recognized author supplied content keybinding (i.e. access key). The user must have an option to save the override of user interface keyboard shortcuts so that the rebinding persists beyond the current session. (Level AA)

2.1.12(former 4.1.12) Specify preferred keystrokes: The user can override any keyboard shortcut including recognized author supplied shortcuts (e.g. accesskeys) and user interface controls, except for conventional bindings for the operating environment (e.g. access to help). (Level AA)

Implementing Guideline 2.2(former 4.2) Provide access to event handlers. [Return to Guideline]

2.2.1(former 4.2.1) List event handlers: The user can, through keyboard input alone, call up a list of input device event handlers explicitly associated with the keyboard focus element. (Level A)

2.2.2(former 4.2.2) Activate any event handler: The user can, through keyboard input alone, activate any input device event handlers explicitly associated with the keyboard focus element. (Level A)

2.2.3(former 4.2.3) Activate all event handlers: The user can, through keyboard input alone, simultaneously activate all input device event handlers explicitly associated with the content focus element. (Level A)

Implementing Guideline 2.3(former 4.3) Allow time-independent interaction. [Return to Guideline]

2.3.1(former 4.3.1) Timing Adjustable: Where time limits for user input are recognized and controllable by the user agent, the user can extend the time limit. (Level A)

Implementing Guideline 2.4(former 4.4) Help users avoid flashing that could cause seizures. [Return to Guideline]

2.4.1(former 4.4.1) Three Flashes or Below Threshold: In its default configuration, the user agent does not display any user interface components or recognized content that flashes more than three times in any one-second period, unless the flash is below the general flash and red flash thresholds. (Level A)

2.4.2(former 4.4.2) Three Flashes: In its default configuration, the user agent does not display any user interface components or recognized content that flashes more than three times in any one-second period (regardless of whether not the flash is below the general flash and red flash thresholds). (Level AAA) [WCAG 2.0]

Guideline 2.5(former 4.5) Configure and store preference settings.

2.5.1(former 4.5.1) Change Preference Settings The user can change settings that impact accessibility. (Level A)

2.5.2(former 4.5.2) Persistent Accessibility Settings: User agent accessibility preference settings persist between sessions. (Level A)

2.5.3(former 4.5.6) Restore all to default: The user can restore all preference settings to default values. (Level A)

2.5.4(former 4.5.3) Multiple Sets of Preference Settings: The user can save and retrieve multiple sets of user agent preference settings. (Level AA)

2.5.5(former 4.5.7) Restore related preferences to default: The user can restore groups of related preference settings to default values (e.g. reset keyboard shortcuts, reset colors and sizes of rendered content). (Level AA)

2.5.6(former 4.5.8) Change preference setting outside the UI: The user can adjust preference settings from outside the user agent user interface. (Level AA)

2.5.7(former 4.5.4) Portable Preference Settings:The user can transfer preference settings across locations onto a compatible system. (Level AAA)

2.5.8(former 4.5.5) Preferences Wizard: A wizard helps the user to configure the accessibility-related user agent preferences (at least). (Level AAA)

Implementing Guideline 2.6 (former 4.6) Provide text search. [Return to Guideline]

2.6.1(former 4.6.1) Find: The user can perform a search within rendered content (e.g., not hidden with a style), including text alternatives, for any sequence of characters from the document character set set. (Level A)

2.6.2(former 4.6.2) Find Direction: The user can search forward or backward from the focused location in content. The user is notified of changes in search direction. The user is notified when the search reaches the upper or lower extent of the content based on the search direction. (Level A)

2.6.3(former 4.6.3) Match Found: When there is a match, the user is alerted and the viewport moves so that the matched text content is at least partially within it. The user can search for the next instance of the text from the location of the match. (Level A)

2.6.4(former 4.6.4) Alert on No Match: The user is notified when there is no match or after the last match in content (i.e., prior to starting the search over from the beginning of content). (Level A)

2.6.5(former 4.6.5) Advanced Find: The user agent provides an accessible advanced search facility, with a case-sensitive and case-insensitive search option, and the ability for the user to perform a search within all content (including hidden content and captioning) for text and text alternatives, for any sequence of characters from the document character set. (Level AA)

Implementing Guideline 2.7(former 4.7) Provide structured navigation. [Return to Guideline]

2.7.1(former 4.7.7) Discover navigation and activation keystrokes: Direct navigation and activation keystrokes are discoverable both programmatically and via perceivable labels. (Level A)

2.7.2(former 4.7.3) Access Relationships: The user can access explicitly-defined relationships based on the user's position in content (e.g., show form control's label, show label's form control, show a cell's table headers). (Level A)

2.7.3(former 4.7.4) Location in Hierarchy: The user can view the path of nodes leading from the root of any content hierarchy in which the structure and semantics are implied by presentation, as opposed to an explicit logical structure with defined semantics (such as the HTML5 Canvas Element), or as a consequence of decentralized-extensibility (such as the HTML5 item / itemprop microdata elements), and only if the user agent keeps an internal model of the hierarchy that it does not expose via the DOM or some other accessibility mechanism. (Level A).

2.7.4(former 4.7.2) Direct navigation: The user can navigate directly to important (structural and operable) elements in rendered content. (Level A).

@@ Editor's note: Review the definition of "important elements" @@

2.7.5(former 4.7.1) Access to Relationships which Aid Navigation: The user can access explicitly-defined relationships based /on the user's position in content, and the path of nodes leading from the root of any content hierarchy to that position. (Level AA)

2.7.6(former 4.7.5) Direct activation: The user can move directly to and activate any operable elements in rendered content. (Level AA)

2.7.7(former 4.7.6) Configure Set of Important Elements: The user has the option to configure the set of important elements for structured navigation, including by element type (e.g., headers, list items, images). (Level AAA) @@ Editor's note: Review the definition of "important elements" @@

Implementing Guideline 2.8(former 4.8) Provide toolbar configuration. [Return to Guideline]

2.8.1(former 4.8.1) Configure Position: When graphical user agent user interfaces have toolbars, the user can add, remove and configure the position of user agent user interface controls on those toolbars from a pre-defined set of controls. (Level AAA)

2.8.2(former 4.8.2) Restore Default Toolbars: The user can restore the default toolbar configuration. (Level AAA)

Implementing Guideline 2.9(former 4.9) Provide control of content that may reduce accessibility. [Return to Guideline]

2.9.1(former 4.9.1) Background Image Toggle: The user has the global option to hide/show background images. (Level A)

2.9.2(former 4.9.2) Time-Based Media Load-Only: The user can load time-based media content @@ Editors' Note: DEFINE@@ such that the first frame is displayed (if video), but the content is not played until explicit user request. (Level A)

2.9.3(former 4.9.3) Execution Placeholder: The user can render a placeholder instead of executable content that would normally be contained within an on-screen area (e.g., Applet, Flash), until explicit user request to execute. (Level A)

2.9.4(former 4.9.4) Execution Toggle: The user can turn on/off the execution of executable content that would not normally be contained within a particular area (e.g., Javascript). (Level A)

2.9.5(former 4.9.1) Playback Rate Adjustment for Prerecorded Content: The user can adjust the playback rate of prerecorded time-based media content, such that all of the following are true (Level A):

2.9.6(former 4.9.6) Stop/Pause/Resume Multimedia: The user can stop, pause, and resume rendered audio and animation content (including video and animated images) that last three or more seconds at their default playback rate. (Level A)

2.9.7(former 4.9.6b) Navigate Multimedia: The user can navigate along the timebase using a continuous scale, and by relative time units within rendered audio and animations (including video and animated images) that last three or more seconds at their default playback rate. (Level A)

2.9.8(former 4.9.7) Semantic Navigation of Time-Based Media: The user can navigate by semantic structure within the time-based media, such as by chapters or scenes present in the media (AA).

2.9.9(former 4.9.8) Track Enable/Disable of Time-Based Media: During time-based media playback, the user can determine which tracks are available and select or deselect tracks. These selections may override global default settings for captions, audio descriptions, etc.

2.9.10(former 4.9.9) Sizing Playback Viewport: User can adjust the size of the time-based media up to the full height or width of the containing viewport. In doing so, the user can preserve aspect ratio and to adjust the size of the playback viewport to avoid cropping, within the scaling limitations imposed by the media itself. (Level AA)

2.9.11(former 4.9.10) Scale and position alternative media tracks: User can scale and position alternative media tracks independent of base video. (Level AAA)

2.9.12(former 4.9.11) Adjust Playback Contrast and Brightness: User can control the contrast and brightness of the content within the playback viewport.

Applicability Notes:

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

 

@@ Editors' Note: If the browser is playing the video natively, there is only 1 user agent. In that case, it falls on the browser to meet the UAAG spec. @@

 

@@ Editors' Note: If an author uses windows media player inside the video element, the browser needs to map its native controls to the embedded wmp controls, and provide access to all the controls. @@

 

@@ Editors' Note: User needs to be able to define rendering parameters of playback at render-time. @@

Principle 3(former Principle 5): Ensure that the user interface is understandable

Implementing Guideline 3.1(former 5.1) Help users avoid unnecessary messages. [Return to Guideline]

3.1.1(former 5.1.1) Option to Ignore: The user can turn off rendering of non-essential or low priority text messages or updating/changing information in the content based on priority properties defined by the author (e.g., ignoring updating content marked "polite" ). (Level AA)

3.1.2(former 5.1.2) Retrieval Progress: Show the progress of content retrieval. (Level A)

Implementing Guideline 3.2(former 5.2) Help users avoid and correct mistakes. [Return to Guideline]

3.2.1(former 5.2.1) Form Submission: The user can redefine keyboard shortcuts for submitting and canceling recognized forms. (Level AA)

Implementing Guideline 3.3(former 5.3) Document the user agent user interface including all accessibility features. [Return to Guideline]

3.3.1(former 5.3.1) Accessible documentation: The product documentation is available in a format that conforms to WCAG 2.0 Level "A" or greater.

3.3.2(former 5.3.2) Document Accessibility Features: All user agent features that benefit accessibility @@ Editors' Note: DEFINE - as specified in the conformance claim@@ are documented. (Level A)

3.3.3(former 5.3.3) Changes Between Versions: Changes to features that affect accessibility since the previous version of the user agent are documented. (Level AA)

3.3.4(former 5.3.4) Centralized View: There is a centralized view of all features of the user agent that benefit accessibility, in a dedicated section of the documentation. (Level AA)

3.3.5(former 5.3.5) Context Sensitive Help: There is context-sensitive help on all user agent features that benefit accessibility. (Level AAA)

3.3.6(former 5.3.6) Appropriate Language: If characteristics of the user agent involve producing an end user experience such as speech, the user agent reacts appropriately to language changes.

Implementing 3.4(former 5.4) The user agent must behave in a predictable fashion. [Return to Guideline]

3.4.1(former 5.4.1) Control default focus: The user agent provides a mechanism for setting global configuration of default focus.

3.4.2(former 5.4.2) Unpredictable focus: The user is informed when the user agent changes focus. The user agent provides a global option to block uninitiated focus changes.

@@ Editors' Note: Missing: Greater ease in interpreting security messaging. Should be cross-referenced with the security working group. @@

PRINCIPLE 4(former Principle 2): Facilitate programmatic access

Implementing Guideline 4.1(former 2.1) Facilitate programmatic access [Return to Guideline]

4.1.1(former 2.1.1) Platform Accessibility Architecture: Support a platform accessibility architecture relevant to the operating environment. (Level A)

4.1.2(former 2.1.2) Name, Role, State, Value, Description: For all user interface components including user interface, rendered content, generated content, and alternative content, make available the name, role, state, value, and description via a platform accessibility architecture. (Level A)

4.1.3(former 2.1.3) Accessible Alternative: If a component of the user agent user interface cannot be exposed through the platform accessibility architecture, then provide an equivalent alternative that is exposed through the platform accessibility architecture. (Level A)

4.1.4(former 2.1.4) Programmatic Availability of DOMs: If the user agent implements one or more DOMs, they must be made programmatically available to assistive technologies. (Level A)

4.1.5(former 2.1.5) Write Access: If a User Agent keeps an internal representation of the user content in terms of element structure, relationships between elements, element meaning, or some combination thereof, it must expose this internal representation via an appropriate means (normally by using the platform accessibility architecture or a programmatically available DOM) (level A). If the user can modify the state or value of a piece of content through the user interface (e.g., by checking a box or editing a text area), the same degree of write access is available programmatically. (Level A)

4.1.6(former 2.1.6) Properties: If any of the following properties are supported by the accessibility platform architecture, make the properties available to the accessibility platform architecture: (Level A)

  1. the bounding dimensions and coordinates of rendered graphical objects
  2. font family of text
  3. font size of text
  4. foreground color of text
  5. background color of text.
  6. change state/value notifications
  7. selection
  8. highlighting
  9. input device focus

4.1.7(former 2.1.7) Timely Communication: For APIs implemented to satisfy the requirements of UAAG 2.0, ensure that programmatic exchanges proceed at a rate such that users do not perceive a delay. (Level A)

PRINCIPLE 5(former 1): Comply with applicable specifications and conventions

Implementing Guideline 5.1(former 1.1) Ensure that non-Web-based functionality is accessible. [Return to Guideline]

5.1.1(former 1.1.1) Non-Web-Based Accessible (Level A): Non-Web-based user agent user interfaces comply with and cite the "Level A" requirements of standards or operating environment conventions that benefit accessibility. The "Level A" requirements are those that are functionally equivalent to WCAG Level A success criteria. (Level A)

1.1.2 Non-Web-Based Accessible (Level AA): Non-Web-based user agent user interfaces comply with and cite the "Level AA" requirements of standards or operating environment conventions that benefit accessibility. The "Level AA" requirements are those that are functionally equivalent to WCAG Level AA success criteria. (Level AA)

1.1.3 Non-Web-Based Accessible (Level AAA): Non-Web-based user agent user interfaces comply with and cite the "Level AAA" requirements of standards or operating environment conventions that benefit accessibility. The "Level AAA" requirements are those that are functionally equivalent to WCAG Level AAA success criteria. (Level AAA)

Applicability Notes:

This guideline does not apply to Web-based user agent user interfaces, but does include any parts of Web-based user agents that are non-Web-based @@ Editors' Note: DEFINE@@ (e.g., client-side file uploaders).

Implementing Guideline 5.2(former 1.2) Ensure that Web-based functionality is accessible. [Return to Guideline]

5.2.1(former 1.2.1) Web-Based Accessible (Level A): User agent user interfaces that are rendered using Web standard technologies conform to WCAG Level "A". (Level A)

5.2.2(former 1.2.2) Web-Based Accessible (Level AA): User agent user interfaces that are rendered using Web standard technologies conform to WCAG Level "AA". (Level AA)

5.2.3(former 1.2.3) Web-Based Accessible (Level AAA): User agent user interfaces that are rendered using Web standard technologies conform to WCAG Level "AAA". (Level AAA)

Applicability Notes:

This guideline does not apply to non-Web-based user agent user interfaces, but does include any parts of non-Web-based user agents that are Web-based (e.g., help systems).

Implementing Guideline 5.3(former 1.3) Support accessibility features of technologies. [Return to Guideline]

5.3.1(former 1.3.1) Accessibility Features: Implement and cite in the conformance claim the accessibility features of content and platform technology specifications. Accessibility features are those that are either (Level A):

Implementing Guideline 5.4(former 1.4) Render content according to specification. [Return to Guideline]

5.4.1(former 1.4.1) Follow Specifications: Render content according to the technology specification, except where it would actually harm overall accessibility. (Level A)

5.4.2(former 1.4.2) Handle Unrendered Technologies: If the user agent does not render a technology, it allows the user to choose a way to handle content in that technology (e.g., by launching another application or by saving it to disk). (Level A)

5.4.3(former 1.4.3) Alternative content handlers: The user has the ability to select content elements and have them rendered in alternative viewers. (Level AA)

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

Conformance

This section is normative.

Conformance means that the user agent satisfies the success criteria defined in the guidelines section. This conformance section describes conformance and lists the conformance requirements.

Conformance Requirements

In order for a Web page to conform to UAAG 2.0, one of the following levels of conformance is met in full.

Note 1: Although conformance can only be achieved at the stated levels, developers are encouraged to report (in their claim) any progress toward meeting success criteria from all levels beyond the achieved level of conformance.

Conformance Claims (Optional)

If a conformance claim is made, the conformance claim must meet the following conditions and include the following information (user agents can conform to UAAG 2.0 without making a claim):

Conditions on Conformance Claims

Required Components of an UAAG 2.0 Conformance Claim

  1. Claimant name and affiliation.
  2. Date of the claim.
  3. Conformance level satisfied.
  4. User agent information: The name of the user agent and sufficient additional information to specify the version (e.g., vendor name, version number (or version range), required patches or updates, human language of the user interface or documentation).
    Note: If the user agent is a collection of software components (e.g., a browser and extentions or plugins), then the name and version information must be provided separately for each component, although the conformance claim will treat them as a whole. As stated above, the Claimant has sole responsibility for the conformance claim, not the developer of any of the software components.
  5. Included Technologies: A list of the web content technologies (including version numbers) rendered by the user agent that the Claimant is including in the conformance claim. By including a web content technology, the Claimant is claiming that the user agent meets the requirements of UAAG 2.0 during the rendering of web content using that web content technology.

    Note 1: Web content technologies may be a combination of constituent web content technologies. For example, an image technology (e.g., PNG) might be listed together with a markup technology (e.g., HTML) since web content in the markup technology is used make web content in the image technology accessible (e.g., a PNG graph is made accessible using an HTML table).
  6. Excluded Technologies: A list of any web content technologies produced by the the user agent that the Claimant is excluding from the conformance claim. The user agent is not required to meet the requirements of UAAG 2.0 during the production of the web content technologies on this list.
  7. Declarations: For each success criterion: A declaration of whether or not the success criterion has been satisfied; or
    A declaration that the success criterion is not applicable and a rationale for why not.
  8. Platform(s): The platform(s) upon which the user agent was evaluated: For user agent platform(s) (used to evaluate web-based user agent user interfaces): provide the name and version information of the user agent(s). For platforms that are not user agents (used to evaluate non-web-based user agent user interfaces) provide: The name and version information of the platform(s) (e.g., operating system, etc.) and the the name and version of the platform accessibility architecture(s) employed.

Optional Components of an UAAG 2.0 Conformance Claim

A description of how the UAAG 2.0 success criteria were met where this may not be obvious.

"Progress Towards Conformance" Statement

Developers of user agents that do not yet conform fully to a particular UAAG 2.0 conformance level are encouraged to publish a statement on progress towards conformance. The progress statement is the same as a conformance claim except an UAAG 2.0 conformance level that is being progressed towards, rather than one already satisfied, and report progress on success criteria not yet met. Authors of "Progress Towards Conformance" Statement are solely responsible for the accuracy of their statements. Developers are encouraged to provide expected timelines for meeting outstanding success criteria within the Statement.

Disclaimer

Neither W3C, WAI, nor UAWG take any responsibility for any aspect or result of any UAAG 2.0 conformance claim that has not been published under the authority of the W3C, WAI, or UAWG.

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

accelerator key
see keyboard command
activate
To carry out the behaviors associated with an enabled element in the rendered content or a component of the user agent user interface.
active input focus
see focus
active selection
see focus
alternative content
Content that can be used in place of default content that may not be universally accessible. Alternative content fulfills the same purpose as the original content. Examples include text alternatives for non-text content, captions for audio, audio descriptions for video, sign language for audio, media alternatives for time-based media. See WCAG for more information.
alternative content stack
A set of alternative content items. 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
Graphical content rendered to automatically change over time, giving the user a visual perception of movement. Examples include video, animated images, scrolling text, programmatic animation (e.g., moving or replacing rendered objects).
 
application programming interface (API), (conventional input/output/device API)
An application programming interface (API) defines how communication may take place between applications.
assistive technology
An assistive technology:
  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 UAAG 2.0 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
The technology of sound reproduction. Audio can be created synthetically (including speech synthesis), streamed from a live source (such as a radio broadcast), or recorded from real world sounds.
 
audio description - (described video, video description or 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 (e.g. content authors, designers, programmers, publishers, testers).
author styles
Style property values that are set by the author as part of the content.
background images
Images that are rendered on the base background.
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 (caption)
An equivalent alternative that takes the form of text presented and synchronized with time-based 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 UAAG 2.0 assume that the user agent can recognize the captions as such.
Note: Other terms that include the word "caption" may have different meanings in UAAG 2.0. For instance, a "table caption" is a title for the table, often positioned graphically above or below the table. In UAAG 2.0, the intended meaning of "caption" will be clear from context.
collated text transcript
A collated text transcript is a text equivalent of a movie or other animation. 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 people who are deaf-blind.
 
 
content (web content)
Information and sensory experience to be communicated to the user by means of a user agent, including code or markup that defines the content's structure, presentation, and interactions [adapted from WCAG 2.0]

empty content (which may be alternative content) is either a null value or an empty string (e.g., 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).

cursor
see focus
default
see properties
document character set
The internal representation of data in the source content by a user agent.
document object, (Document Object Model, DOM)
The Document Object Model is a platform- and language-neutral interface that allows programs and scripts to dynamically access and update the content, structure and style of documents. The document can be further processed and the results of that processing can be incorporated back into the presented page. This is an overview of DOM-related materials here at W3C and around the web: http://www.w3.org/DOM/#what.
document source, (text source)
Text the user agent renders upon user request to view the source of specific viewport content (e.g. selected content, frame, page).
documentation
Any 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., as files installed as part of the installation, some parts may be delivered on CD-ROM, others on the Web). See guideline 5.3 for information about documentation.
element, element type
UAAG 2.0 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. UAAG 2.0 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).
empty content
see content
enabled element, disabled element
An element 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 elements defined by implemented markup languages. A disabled element is a potentially enabled element that is not currently available for activation (e.g., a "grayed out" menu item).
equivalent alternative
Acceptable substitute content that a user may not be able to access. An equivalent alternative fulfills essentially the same function or purpose as the original content upon presentation:
events and scripting, event handler, event type
User agents often perform a task when an event having a particular "event type" occurs, including a user interface event, a change to content, loading of content, or a request 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 through scripting, markup or the DOM.
explicit user request
An interaction by the user through the user agent user interface, the focus, or the selection. User requests are made, for example, through user agent user interface controls and keyboard commands. 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 can make errors when interacting with the user agent. For example, a user may inadvertently respond "yes" to a prompt instead of "no." This type of error is considered an explicit user request.
focus (active input focus, active selection, cursor, focus cursor, focusable element, highlight, inactive input focus, inactive selection, input focus, keyboard focus, pointer, pointing device focus, selection, split focus, text cursor)
Hierarchical Summary of some focus terms
active input focus
The input focus location in the active viewport. The active focus is in the active viewport, while the inactive input focus is the inactive viewport. The active input focus is usually visibly indicated. In UAAG 2.0 "active input focus" generally refers to the active keyboard input focus. @@ Editors' Note: this term is not used in the document other than the glossary.@@
active selection
The selection that will currently be affected by a user command, as opposed to selections in other viewports, called inactive selections, which would not currently be affected by a user command. @@ Editors' Note: this term is not used in the document other than the glossary.@@
conform
see support
cursor
Visual indicator showing where keyboard input will occur. There are two types of cursors: focus cursor (e.g. the dotted line around a button) and text cursor (e.g. the flashing vertical bar in a text field, also called a 'caret'). Cursors are active when in the active viewport, and inactive when in an inactive viewport.
focus cursor
Indicator that highlights a user interface element to show that it has keyboard focus, e.g. a dotted line around a button, or brightened title bar on a window. There are two types of cursors: focus cursor (e.g. the dotted line around a button) and text cursor (e.g. the flashing vertical bar in a text field).
focusable element
Any element capable of having input focus, e.g. link, text box, or menu item. In order to be accessible and fully usable, every focusable element should take keyboard focus, and ideally would also take pointer focus.
highlight, highlighted, highlighting
Emphasis indicated through the user interface. For example, user agents highlight content that is selected,focused, or matched by a search operation. Graphical highlight mechanisms include dotted boxes, changed colors or fonts, underlining, magnification, and reverse video. Synthesized speech highlight mechanisms include alterations of voice pitch and volume ("speech prosody"). User interface items may also be highlighted, for example a specific set of foreground and background colors for the title bar of the active window. Content that is highlighted may or may not be a selection.
inactive input focus
An input focus location in an inactive viewport such as a background window or pane. The inactive input focus location will become the active input focus location when input focus returns to that viewport. An inactive input focus may or may not be visibly indicated.
inactive selection
A selection that does not have the input focus and thus does not take input events.
input focus
The place where input will occur if a viewport is active. Examples include keyboard focus and pointing device focus. Input focus can also be active (in the active viewport) or inactive (in an inactive viewport).
keyboard focus
The screen location where keyboard input will occur if a viewport is active. Keyboard focus can be active (in the active viewport) or inactive (in an inactive viewport).
pointer
Visual indicator showing where pointing device input will occur. The indicator can be moved with a pointing device or emulator such as a mouse, pen tablet, keyboard-based mouse emulator, speech-based mouse commands, or 3-D wand. A pointing device click typically moves the input focus to the pointer location. The indicator may change to reflect different states.When touch screens are used, the "pointing device" is a combination of the touch screen and the user's finger or stylus. On most systems there is no pointer (on-screen visual indication) associated with this type of pointing device.
pointing device focus
The screen location where pointer input will occur if a viewport is active. There can be multiple pointing device foci for example when using a screen sharing utility there is typically one for the user's physical mouse and one for the remote mouse. @@ Editors' Note: this term is not used in the document other than the glossary.@@
selection
A user agent mechanism for identifying a (possibly empty) range of content that will be the implicit source or target for subsequent operations. 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 (e.g. the matched results of a search may be automatically selected). The selection should be highlighted in a distinctive manner. On the screen, the selection may be highlighted in a variety of ways, including through colors, fonts, graphics, and magnification. When rendered using synthesized speech, the selection may be highlighted through changes in pitch, speed, or prosody.
split focus
A state when the user could be confused because the input focus is separated from something it is usually linked to, such as being at a different place than the selection or similar highlighting, or has been scrolled outside of the visible portion of the viewport. @@ Editors' Note: this term is not used in the document other than the glossary.@@
text cursor
Indicator showing where keyboard input will occur in text (e.g. the flashing vertical bar in a text field, also called a caret).
content focus, user interface focus, current focus @@ Editor's Note: Need to find the hrefs to these definitions and fix them. @@
globally, global configuration
@@ Editors' Note: Needs to be written@@
graphical
Information (e.g. text, colors, graphics, images, and animations) rendered for visual consumption.
highlight, highlighted, highlighting
see focus
image
Pictorial content that is static (i.e. not moving or changing). See also the definition of animation.
implement
see support
important elements
This specification intentionally does not identify which "important elements" must be navigable because 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 Implementing document [Implementing UAAG 2.0] for information about identifying and navigating important elements. @@ Editors' Note: Update links
inactive input focus
see focus
inactive selection
see focus
informative (non-normative)
see normative
input configuration
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]).
input focus
see focus
 
keyboard command (keyboard binding,keyboard shortcuts or accelerator keys)
Commands tied to particular UI controls or application functions, allowing the user to navigate-to or activate them without traversing any intervening controls (e.g., "ctrl"+"S" to save a document). It is sometimes useful to distinguish keyboard commands that are associated with controls that are rendered in the current context (e.g., "alt"+"D" to move focus to the address bar) from those that may be able to activate program functionality that is not associated with any currently rendered controls (e.g., "F1" to open the Help system). Keyboard commands help users accelerate their selections.
keyboard focus
see focus
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.
non-text content (non-text element, non-text equivalent)
see text
normative, informative (non-normative) [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 UAAG 2.0). What is identified as "informative" (or, "non-normative") is never required for conformance.
notify
To make the user aware of events or status changes. Notifications can occur within the user agent user interface (e.g., a status bar) or within the content display. Notifications may be passive and not require user acknowledgment, or they may be presented in the form of a prompt requesting a user response (e.g., a confirmation dialog).
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 UAAG 2.0, the term "override" means that one configuration or behavior preference prevails over another. Generally, the requirements of UAAG 2.0 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). A placeholder can be any type of content, including text, images, and audio cues. A placeholder should identify the technology of the replaced object. Placeholders appear in the alternative content stack.
platform accessibility architecture
A programmatic interface that is engineered to enhance communication between mainstream software applications and assistive technologies (e.g., MSAA, UI Automation, and IAccessible2 for Windows applications, AXAPI for MacOSX applications, Gnome Accessibility Toolkit API for Gnome applications, Java Access for Java applications). On some platforms it may be conventional to enhance communication further via implementing a DOM.
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 agents.
point of regard
The point of regard is the 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, keyboard focus, and selection. The stability of the point of regard is addressed by [@@ Editors' Note: Need reference here@@].
pointer
see focus
pointing device focus
see focus
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. [@@Editors' Note: Move this sentence to the appropriate intent.]
prompt [ATAG 2.0]
Any user-agent-initiated request for a decision or piece of information from a user.
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 (e.g. on screen, on paper, through loudspeakers, on a braille display, on a mobile device). Style information (e.g., fonts, colors, 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 UAAG 2.0, the term "property" has the meaning defined in CSS 2 ([CSS2], section 3). A reference to "styles" in UAAG 2.0 means a set of style-related properties. The value given to a property by a user agent at installation is 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 UAAG 2.0 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. User agents will rely heavily on information that the author has encoded in a markup language or style sheet language. Behaviors, style, meaning encoded in a script, and markup in an unfamiliar XML namespace may not be recognized by the user agent as easily or at all.
rendered content, rendered text
Rendered content is the part of content that the user agent makes available to the user's senses of sight and hearing (and only those senses for the purposes of UAAG 2.0). 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 any other 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 UAAG 2.0, invisible content is content that is not rendered but that may influence the graphical rendering (i.e. 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
Content generated by the user agent to correct an error condition. "Repair text" refers to the text portion of repair content. Error conditions that may lead to the generation of repair content include:

UAAG 2.0 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 UAAG 2.0, 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
see focus
serial access, sequential navigation
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
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
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 (e.g. 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 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 (text content, non-text content, text element, non-text element, text equivalent, non-text equivalent )
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.

Atext element adds text characters to either content or the user interface. Both in the Web Content Accessibility Guidelines 2.0 [WCAG20] and in UAAG 2.0, 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
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 equivalent of audio information (e.g., an audio-only presentation or the audio track of a movie or other animation). A texr transcript 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.
track (audio track or visual 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). Also see definition of visual track
user agent
A user agent is any software that retrieves, renders and facilitates end user interaction with 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 UAAG 2.0, 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.
values
see properties
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

This section is informative.

There are two recommended ways to refer to the "User Agent Accessibility Guidelines 2.0" (and to W3C documents in general):

  1. References to a specific version of "User Agent Accessibility Guidelines 2.0." For example, use the "this version" URI to refer to the current document:
    http://www.w3.org/TR/2010/WD-UAAG20-20100617/
  2. References to the latest version of "User Agent Accessibility Guidelines 2.0." Use the "latest version" URI to refer to the most recently published document in the series:
    http://www.w3.org/TR/UAAG20/.

In almost all cases, references (either by name or by link) should be to a specific version of the document. W3C will make every effort to make this document indefinitely available at its original address in its original form. The top of this document includes the relevant catalog metadata for specific references (including title, publication date, "this version" URI, editors' names, and copyright information).

An XHTML 1.0 paragraph including a reference to this specific document might be written:

<p>
<cite><a href="http://www.w3.org/TR/2010/WD-UAAG20-20100617/">
"User Agent Accessibility Guidelines 2.0,"</a></cite>
J. Allan, K. Ford, J. Spellman, eds.,
W3C Recommendation, http://www.w3.org/TR/ATAG20/.
The <a href="http://www.w3.org/TR/ATAG20/">latest version</a> of this document is available at http://www.w3.org/TR/ATAG20/.</p>

For very general references to this document (where stability of content and anchors is not required), it may be appropriate to refer to the latest version of this document. Other sections of this document explain how to build a conformance claim.


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 UAAG 2.0.

Note: In UAAG 2.0, 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 UAAG 2.0 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 UAAG 2.0 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/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/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/. UAAG 2.0 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:

UAAG 2.0 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, National Institute on Disability and Rehabilitation Research (NIDRR) under contract number ED-OSE-10-C-0067. 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

@@ Editors' Note: This section is still under development@@


Appendix F: Comparison of UAAG 1.0 guidelines to UAAG 2.0

@@ Editors' Note: This section is still under development@@

Appendix G: Alternative Content

These are the elements and attributes that present 'alternative content' relevant to Guideline 3.

@@ Editors' Note: This needs update and permanent links as HTML5 goes to rec. Get listings of alternative content for other technologies. Think about better format for presenting it.