[contents]
Copyright © 2009 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C liability, trademark and document use rules apply.
This document provides guidelines for designing user agents that lower barriers to Web accessibility for people with disabilities. User agents include browsers and other types of software that retrieve and render Web content. A user agent that conforms to these guidelines will promote accessibility through its own user interface and through other internal facilities, including its ability to communicate with other technologies (especially assistive technologies). Furthermore, all users, not just users with disabilities, should find conforming user agents to be more usable.
In addition to helping developers of browsers and media players, this document will also benefit developers of assistive technologies because it explains what types of information and control an assistive technology may expect from a conforming user agent. Technologies not addressed directly by this document (e.g., technologies for braille rendering) will be essential to ensuring Web access for some users with disabilities.
The "User Agent Accessibility Guidelines 2.0" (UAAG 2.0) is part of a series of accessibility guidelines published by the W3C Web Accessibility Initiative (WAI).
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/.
This is the W3C Working Draft of 11 March 2009. This draft integrates:
Substantial changes include:
The Working Group seeks feedback on the following points for this draft:
Comments on this draft should be sent to public-uaag2-comments@w3.org (Public Archive) by 22 April, 2009.
UAAG 2.0 is currently informative only. After the User Agent Working Group (UAWG) is rechartered to produce W3C Recommendations under the W3C Patent Policy, the group expects to advance UAAG 2.0 through the Recommendation track. Until that time User Agent Accessibility Guidelines 1.0 (UAAG 1.0) [UAAG10] is the stable, referenceable version. This Working Draft does not supersede UAAG 1.0.
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.
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.
This document was produced by a group operating under the 5 February 2004 W3C Patent Policy. 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.
This section is informative.
A user agent is any software that retrieves and presents Web content for end users. Examples include Web browsers, media players, plug-ins, and other programs including assistive technologies, that help in retrieving, rendering and interacting with Web content. This document specifies requirements that, if satisfied by user agent developers, will lower barriers to accessibility.
Accessibility involves a wide range of disabilities, including visual, auditory, physical, speech, cognitive, language, learning, neurological disabilities, and disabilities related to ageing. This document emphasizes the goal of ensuring that users, including users with disabilities, have control over their environment for accessing the Web. Key methods for achieving that goal include:
Some users may have more than one disability, and the needs of different disabilities may contradict. Thus, many of the requirements in this document involve configuration as one way to ensure that a functionality designed to improve accessibility for one user does not interfere with accessibility for another. A default user agent setting may be useful for one user but interfere with accessibility for another, therefore this document prefers configuration requirements rather than requirements for default settings. For some content, a feature required by this document may be ineffective or cause content to be less accessible, making it imperative that the user be able to turn off the feature. To avoid overwhelming users with an abundance of configuration options, this document includes requirements that promote ease of configuration and documentation of accessibility features.
This document also acknowledges the importance of author preferences, however, requirements are included to override certain author preferences when the user would not otherwise be able to access that content.
Some of the requirements of this document may have security implications, such as communication through APIs, and allowing programmatic read and write access to content and user interface control. This document assumes that features required by this document will be built on top of an underlying security architecture. Consequently, unless permitted explicitly in a success criterion, this document grants no conformance exemptions based on security issues.
The UAWG expects that software which satisfies the requirements of this document will be more flexible, manageable, extensible, and beneficial to all users.
In order to meet the varying needs of the different audiences using UAAG, several layers of guidance are provided including overall principles, general guidelines, testable success criteria, and a rich collection of sufficient techniques and resource links.
Principles - At the top are five principles that provide the foundation for accessible user agents. Three of the principles are congruent to Web Content Accessibility Guidelines (WCAG) 2.0: perceivable, operable, understandable. Two principles have been added which are specific to user agents: follows specifications and programmatic access.
Guidelines - Under the principles are guidelines. The guidelines provide the basic goals that authors should work toward in order to make user agents more accessible to users with different disabilities. The guidelines are not testable, but provide the framework and overall objectives to help authors understand the success criteria and better implement the techniques.
Success Criteria - For each guideline, testable success criteria are provided to allow UAAG 2.0 to be used where requirements and conformance testing are necessary such as in design specification, purchasing, regulation, and contractual agreements. In order to meet the needs of different groups and different situations, three levels of conformance are defined: A (lowest), AA, and AAA (highest). Additional information on UAAG levels can be found in the section on Conformance.
Sufficient and Advisory Techniques - For each of the guidelines and success criteria in the UAAG 2.0 document itself, the working group has also documented a wide variety of techniques. The techniques are informative and fall into two categories: those that are sufficient for meeting the success criteria and those that are advisory. The advisory techniques go beyond what is required by the individual success criteria and allow authors to better address the guidelines. Some advisory techniques address accessibility barriers that are not covered by the testable success criteria. Where common failures are known, these are also documented. See the section on UAAG Supporting Documents for more information on Techniques.
All of these layers of guidance (principles, guidelines, success criteria, and sufficient and advisory techniques) work together to provide guidance on how to make user agents more accessible. Developers are encouraged to view and apply all layers that they are able to, including the advisory techniques, in order to best address the needs of the widest possible range of users.
Note that even user agents that conform at the highest level (AAA) will not be accessible to individuals with all types, degrees, or combinations of disability, particularly in the cognitive, language, and learning areas. Developers are encouraged to consider the full range of techniques, including the advisory techniques, as well as to seek relevant advice about current best practice to ensure that their user agent is accessible, as far as possible, to this community.
A separate document, entitled "Techniques for User Agent Accessibility Guidelines 2.0" (the "Techniques document" from here on) will be produced at a later date. It will provide suggestions and examples of how each success criteria might be satisfied. It also includes references to other accessibility resources (such as platform-specific software accessibility guidelines) that provide additional information on how a user agent may satisfy each success criteria. The techniques in the Techniques document are informative examples only, and other strategies may be used or required to satisfy the success criteria. The UAWG expects to update the Techniques document more frequently than the current guidelines. Developers, W3C Working Groups, users, and others are encouraged to contribute techniques.
Web accessibility depends not only on accessible user agents, but also on the availability of accessible content, a factor that is greatly influenced by the accessibility of authoring tools. For an overview of how these components of Web development and interaction work together, see:
User Agents may claim conformance to UAAG 2.0 at one of three conformance levels. The level achieved depends on the level of the success criteria that have been satisfied. The conformance levels are:
A user agent is any software that retrieves, renders and facilitates end user interaction with Web content.
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 and/or platform 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 and/or platform 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 and/or platform conventions that benefit accessibility. The "Level AAA" requirements are those that are functionally equivalent to WCAG Level AAA success criteria. (Level AAA)
This guideline does not apply to Web-based user agent user interfaces, but does includes any parts of Web-based user agents that are non-Web-based (e.g., client-side file uploaders).
1.2.1 Web-Based Accessible (Level A): Web-based user agent user interfaces conform to WCAG Level "A". (Level A)
1.2.2 Web-Based Accessible (Level AA): Web-based user agent user interfaces conform to WCAG Level "AA". (Level AA)
1.2.3 Web-Based Accessible (Level AAA): Web-based user agent user interfaces conform to WCAG Level "AAA". (Level AAA)
This guideline does not apply to non-Web-based user agent user interfaces, but does includes any parts of non-Web-based user agents that are Web-based(e.g., help systems).
1.3.1 Accessibility Features: Implement and cite in the conformance claim the accessibility features of a technology specification. Accessibility features are those that are either (Level A):
1.4.1 Follow Specifications: Render content according to the technology specification. This includes any accessibility features of the technology (see Guideline 1.3). (Level A)
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)
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.
2.1.1 Accessibility Platform Architecture: Support an accessibility platform architecture relevant to the platform. (Level A)
2.1.2 Name, Role, State, Value, Description: For all user interface components including the user interface and rendered content, make available the name, role, state, value, and description via an accessibility platform architecture. (Level A)
2.1.3 Accessible Alternative: If a feature is not supported by the accessibility architecture(s), provide an equivalent feature that does support the accessibility architecture(s). Document the equivalent feature in the conformance claim. (Level A)
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)
2.1.5 Write Access: 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)
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)
2.1.7 Timely Communication: For APIs implemented to satisfy the requirements of this document, ensure that programmatic exchanges proceed at a rate such that users do not perceive a delay. (Level A).
Non-Web-based user agent interfaces only.
3.1.1 Notification of Alternative Content: Provide a global option for the user to be notified of alternatives to rendered content (e.g., short text alternatives, long descriptions, captions).
3.1.2 Configurable Default Rendering: Provide the user with the global option to set which type of alternative to render by default. If the alternative content has a different height and/or width, then the user agent will reflow the viewport. (Level A)
3.1.3 Browse and Render: The user can browse the alternatives and render them according to the following (Level A):
3.1.4 Available Programmatically: If an alternative is plain text (e.g., short text alternative), then it is available programmatically, even when not rendered. (Level A)
3.1.5 Rendering Alternative (Enhanced): Provide the user with the global option to 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 and/or width, then the user agent will reflow the viewport. (Level AA)
3.1.6 Unavailable Content: If a resource is unavailable, render the next item on the alternative content stack, if any. Otherwise render a placeholder. (Level A)
3.1.7 Retrieval Progress: Show the progress of content retrieval. (Level A)
Editors' Note: Success Criteria from 3.2 have been moved to 4.9
3.3.1 Access Relationships: Provide access to 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, etc.). (Level A)
3.3.2 Location in Hierarchy: For content in a hierarchy (e.g., tree node, nested frame), the user can view the path of nodes leading from the root to the content. (Level AA)
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)
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 for an enabled element. (Level AA)
3.5.1 Highlighted items: The user has the option to highlight the following classes of information (Level A):
3.5.2 Highlighting options: The highlighting options (with the same configurable range as the platform's conventional selection utilities) include at least (Level A):
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):
3.6.2 Preserve Distinctions: When rendered text is rescaled, distinctions in the size of rendered text are preserved (e.g., headers continue to be larger than body text). (Level A)
3.6.3 Option Range: The range of options for each text characteristic includes at least (Level A):
3.6.4 Maintain contrast: The user has the option to constrain the configuration of the default text foreground color, background color and highlighting colors, so that text contrast is maintained between them. (Level AAA)
3.7.1 Global Volume: The user can globally set the volume of all rendered audio tracks (including a "mute" setting) through available operating environment mechanisms. (Level A)
3.7.2 Speech Volume: If speech and non-speech audio tracks can be recognized, then the user can set the volume of these two types of audio tracks independently. (Level A)
3.8.1 Speech Characteristics: The user can set both of the following synthesized speech characteristics, overriding any values specified by the author (Level A):
3.8.2 Option Range: 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 A)
3.8.3 Speech Characteristics: The user can set all of the following synthesized speech characteristics, overriding any values specified by the author (Level AA):
3.8.4 Speech Features: The following speech features are provided (Level AA):
3.9.1 Author Style Sheets: If the author has supplied one or more style sheets, the user has the following options (Level A):
3.9.2 User Style Sheets: If the user has supplied one or more style sheets, the user has the following options (Level A):
3.10.1 Highlight Viewport: The viewport with the current focus is highlighted (including any frame that takes current focus) using a highlight mechanism that does not rely on rendered text foreground and background colors alone (e.g., a thick outline). (Level A)
3.10.2 Move Viewport to Selection: When a viewport's selection changes, the viewport moves as necessary to ensure that the new selection is at least partially in the viewport. (Level A)
3.10.3 Move Viewport to Focus: When a viewport's content focus changes, the viewport moves as necessary to ensure that the new content focus is at least partially in the viewport. (Level A)
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)
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)
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 point of regard and it restores the saved values when the user returns to a state in the history. (Level A)
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, alert 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)
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 that if a "top-level" viewport opens, neither its content focus nor its user interface focus automatically becomes the current focus. (Level AA)
3.10.9 Stay on Top: The user has the option of having the viewport with the current focus remain "on top" of all other viewports with which it overlaps. (Level AA)
3.10.10 Close Viewport: The user can close any "top-level" viewport. (Level AA)
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, including the same "chrome". (Level AA)
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 ). (Level AAA)
3.11.1 Content Focus: At least one content focus is provided for each viewport (including frames), where enabled elements are part of the rendered content. (Level A)
3.11.2 Current Focus: The user can make the content focus of each viewport the current focus. (Level A)
3.11.3 User Interface Focus: A user interface focus is provided. (Level A)
3.11.4 Extensions Focusable: The user interface focus can navigate within extensions to the user interface "chrome". (Level A)
3.11.5 Hand-Off Focus: The user agent programmatically notifies any nested user agent(s) (e.g., plug-ins) when focus moves to them. (Level A)
3.11.6 Retrieve Focus: At any time, the user agent is able to retrieve focus from a nested viewport (including nested viewports that are user agents). (Level A)
3.11.7 Return Focus: Embedded user agents are responsible for notifying embedding user agent that focus should move back to it. (Level A)
3.11.8 Bi-Directional: The user can move the content focus forward or backward to any enabled element in the viewport. (Level A)
3.11.9 Sequential Navigation: If the author has not specified a navigation order, the default is sequential navigation, in document order. (Level A)
3.11.10 Only on User Request: The user has the option of having the content focus of a viewport only change on explicit user request. (Level A)
3.11.11 On Focus: The user has the option of ensuring that moving the content focus to or from an enabled element does not cause the user agent to take any further action. (Level A)
3.12.1 Text View: For content authored in text formats, a view of the text source is provided. (Level A)
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).
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. (Level AA)
3.12.3 Configure Set of Important Elements: The user has the option to configure the set of important elements for the "outline" view, including by element type (e.g., headers). (Level AAA)
3.13.1 Basic Link Information: The following information is provided for each link (Level A):
3.13.2 Extended Link Information: The following information is provided for each link (Level AAA):
4.1.1 Keyboard Operation: All functionality can be operated via the keyboard using sequential and/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)
4.1.2 Keystroke Precedence: The user has the option to specify that keystrokes be processed in the following order: user agent user interface, user agent extensions, content keystroke operations administered by the user agent (e.g., access keys), and executable content (e.g., key press events in scripts, etc.). (Level A)
4.1.3 No Keyboard Trap (Minimum): The user agent prevents keyboard traps as follows (Level A):
4.1.4 Separate Selection from Activation: The user has the option to have selection separate from activation (e.g., navigating through the items in a dropdown menu without activating any of the items). (Level A)
4.1.5 Discovery of Keyboard Commands: User has the option to have any *recognized* direct keyboard commands displayed with their associated controls. (Level A)
4.1.6 Standard Text Area Navigation Conventions: Views that render text support the standard text area conventions for the platform 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, etc. (Level A)
4.1.7 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 items within each group. Groups include but are not limited to toolbars, panels, and user agent extensions. (Level AA)
4.1.8 Important Command Functions: Important command functions (e.g. related to navigation, display, content, information management, etc.) are available in a single keystroke. (Level AA)
4.1.9 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., for access to help). The rebinding options must include single-key and key-plus-modifier keys if available in the operating environment. (Level A)
4.1.10 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)
4.1.11 User Override of Accesskeys: The user can override any author supplied content keybinding (i.e. access key) that the user agent can *recognize*. 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)
4.2.1 All Available: The user can activate, through keyboard input alone, all input device event handlers (including those for pointing devices, voice, etc.) that are explicitly associated with the element designated by the content focus. (Level A)
4.2.2 Show All: For the element with content focus, the list of input device event types for which there are event handlers explicitly associated with the element are provided. (Level A)
4.2.3 Activate All: The user can activate, as a group, all event handlers of the same input device event type, for the same control. (Level A)
4.3.1 Timing Adjustable: Where time limits for user input are recognized and controllable by the user agent, an option is provided to extend the time limit. (Level A)
4.4.1 Below Threshold: The user interface "chrome" never violates the general flash or red flash thresholds. (Level A)
4.4.2 Three Flashes: No part of the user interface "chrome" ever flashes more than three times in any one second period. (Level AAA) [WCAG 2.0]
4.5.1 Save Settings: User agent preference settings are stored between sessions. (Level A)
4.5.2 User Profiles: The user can save and retrieve multiple sets of user agent preference settings. (Level AA)
4.5.3 Portable Profiles: Sets of preferences are stored as separate files (allowing them to be transmitted electronically). (Level AAA)
4.5.4 Preferences Wizard: A "wizard" helps the user to configure (at least) the accessibility-related user agent preferences. (Level AAA)
4.6.1 Search Rendered: The user can perform a search within rendered (e.g., not hidden with a style) content for text and text alternatives for a sequence of characters from the document character set. (Level AA)
4.6.2 Bi-Directional: The user has the option of searching forward or backward from any selected or focused location in content. (Level AA)
4.6.3 Match Found: When there is a match, both of the following are true (Level AA):
4.6.4 No Match: The user is alerted 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 AA)
4.6.5 Case Insensitive: There is a case-insensitive search option. (Level AA)
4.7.1 Structured Navigation: Forward and backward sequential navigation over important (structural) elements in rendered content is provided. (Level A)
4.7.2 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). (Level AAA)
Note: For example, allow the user to navigate only paragraphs, or only headings and paragraphs, or to suppress and restore navigation bars, or to navigate within and among tables and table cells
4.8.1 Configure Position: For graphical user agent user interfaces with tool bars, the user can add, remove and configure the position of user agent user interface controls on those tool bars from a pre-defined set of controls. (Level AAA)
4.8.2 Restore Default: The user can restore the default tool bar configuration. (Level AAA)
Editors' Note: These success criteria are being revised. They include success criteria moved from section 3.3.
4.9.A Change Rate of Time-Based Media:
4.9.B Track Enable/Disable of Time-Based Media:
4.9.C Visual Media Scaling
4.9.D Text Scaling
4.9.E Visual Media Brightness/Contrast
4.9.F Paused Time-Based Media
4.9.1 Background Image Toggle: The user has the global option to hide/show background images. (Level A)
4.9.3 Time-Based Media Load-Only: The user has the option to load time-based media content @@DEFINE@@ such that the first frame is displayed (if video), but the content is not played until explicit user request. (Level A)
4.9.4 Execution Toggle: The user has the option to turn on/off the execution of executable content that would not normally be contained within a particular area (e.g., Javascript). (Level A)
4.9.5 Execution Placeholder: The user has the option to 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)
4.9.6 Slow Multimedia: The user can slow the presentation rate of recognized prerecorded audio and animation content, such that all of the following are true (Level A):
4.9.7 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)
4.9.8 Navigate Multimedia: The user can navigate efficiently within rendered audio and animations (including video and animated images) that last three or more seconds at their default playback rate. (Level A)
The guideline only applies to images, animations, video, audio, etc. that the user agent can recognize.
5.1.1 Option to Ignore: The user has the option to turn off rendering of non-essential or low priority text messages, based on priority properties defined by the author (e.g., ignoring messages marked "polite" using ARIA ). (Level AA)
5.2.1 Form Submission: The user has the option to confirm (or cancel) any form submission made while content focus is not on the submitting control (e.g., forms that submit when Enter is pressed). (Level AA)
5.3.1 Accessible Format: At least one version of the documentation is either (Level A):
5.3.2 Document Accessibility Features: All user agent features that benefit accessibility @@DEFINE - as specified in the conformance claim@@ are documented. (Level A)
5.3.3 Changes Between Versions: Changes to features that benefit accessibility since the previous version of the user agent are documented. (Level AA)
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)
5.3.5 Context Sensitive Help: There is context-sensitive help on all user agent features that benefit accessibility. (Level AAA)
@@Ed. This section is still under development@@
This glossary is normative.
Implementing APIs that are independent of a particular operating environment (as are the W3C DOM Level 2 specifications) may reduce implementation costs for multi-platform user agents and promote the development of multi-platform assistive technologies. Implementing conventional APIs for a particular operating environment may reduce implementation costs for assistive technology developers who wish to interoperate with more than one piece of software running on that operating environment.
A "device API" defines how communication may take place with an input or output device such as a keyboard, mouse, or video card.
In this document, an "input/output API" defines how applications or devices communicate with a user agent. As used in this document, input and output APIs include, but are not limited to, device APIs. Input and output APIs also include more abstract communication interfaces than those specified by device APIs. A "conventional input/output API" is one that is expected to be implemented by software running on a particular operating environment. For example, the conventional input APIs of the user agent are for the mouse and keyboard. For touch screen devices or mobile devices, conventional input APIs may include stylus, buttons, and voice. The graphical display and sound card are considered conventional output devices for a graphical desktop computer environment, and each has an associated API.
Examples of assistive technologies that are important in the context of this document include the following:
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.
In order to be able to configure and control the user agent, the user needs to be able to "write" as well as "read" values for these parameters. Configuration settings may be stored in a profile. The range and granularity of the changes that can be controlled or configured by the user may depend on limitations of the operating environment or hardware.
Both configuration and control can apply at different "levels": across Web resources (i.e., at the user agent level, or inherited from the operating environment), to the entirety of a Web resource, or to components of a Web resource (e.g., on a per-element basis).
A global configuration is one that applies across elements of the same Web resource, as well as across Web resources.
User agents may allow users to choose configurations based on various parameters, such as hardware capabilities or natural language preferences.
Note: In this document, the noun "control" refers to a user interface control.
empty
content (which may be alternative content) is either a
null value or an empty string (i.e., one that is zero characters long). For
instance, in HTML, alt=""
sets the value of the alt
attribute to the empty string. In some markup languages, an element may have
empty content (e.g., the HR
element in HTML).
alt
, title
, and summary
). Other
parts of the document object are generally processed by the user agent without
user awareness, such as
DTD- or schema-defined
names of element types and attributes, and other attribute values such as
href
and id
. Most of the requirements of this
document apply to the document object after its construction. However, a few
guidelines (e.g., @@) may affect the construction of the document
object.Some elements may only be enabled elements for part of a user session. For instance, an element may be disabled by a script as the result of user interaction. Or, an element may only be enabled during a given time period (e.g., during part of a SMIL 1.0 [SMIL] presentation). Or, the user may be viewing content in "read-only" mode, which may disable some elements.
A disabled element is a piece of content that is potentially an enabled element, but is not in the current session. One example of a disabled element is a menu item that is unavailable in the current session; it might be "grayed out" to show that it is disabled. Generally, disabled elements will be interactive elements that are not enabled in the current session. This document distinguishes disabled elements (not currently enabled) from non-interactive elements (never enabled).
For the requirements of this document, user selection does not constitute user interaction with enabled elements. See the definition of content focus.
Note: Enabled and disabled elements come from content; they are not part of the user agent user interface.
Note: The term "active element" is not used in this
document since it may suggest several different concepts, including:
interactive element, enabled element, an element "in the process of being
activated" (which is the meaning of :active
in CSS2
[CSS2], for example).
Content is "equivalent" to other content when both fulfill essentially the same function or purpose upon presentation to the user. In the context of this document, the equivalent must fulfill essentially the same function for the person with a disability (at least insofar as is feasible, given the nature of the disability and the state of technology), as the primary content does for the person without any disability.
Equivalents include text equivalents (e.g., text equivalents for images, text transcripts for audio tracks, or collated text transcripts for a movie) and non-text equivalents (e.g., a prerecorded audio description of a visual track of a movie, or a sign language video rendition of a written text).
Each markup language defines its own mechanisms for specifying
alternative content, and these
mechanisms may be used by authors to provide text equivalents. For instance, in
HTML 4 [HTML4] or SMIL 1.0
[SMIL], authors may use the
alt
attribute to specify a text equivalent for some elements. In
HTML 4, authors may provide equivalents and other alternative content in
attribute values (e.g., the summary
attribute for the
TABLE
element), in element content (e.g., OBJECT
for
external content it specifies, NOFRAMES
for frame equivalents, and
NOSCRIPT
for script equivalents), and in prose. Please consult the
Web Content Accessibility Guidelines 1.0
[WCAG10] and its associated
Techniques document [WCAG10-TECHS] for more
information about equivalents.
Note: The combination of HTML, style sheets, the Document Object Model (DOM), and scripting is commonly referred to as "Dynamic HTML" or DHTML. However, as there is no W3C specification that formally defines DHTML, this document only refers to event handlers and scripts.
User interface mechanisms may resemble content focus, but do not satisfy all of the properties. For example, designers of word processing software often implement a "caret" that indicates the current location of text input or editing. The caret may have state and may respond to input device events, but it does not enable users to activate the behaviors associated with enabled elements.
The user interface focus shares the properties of the content focus except that, rather than designating pieces of content, it designates zero or one control of the user agent user interface that has associated behaviors (e.g., a radio button, text box, or menu).
On the screen, the user agent may highlight the content focus in a variety of ways, including through colors, fonts, graphics, and magnification. The user agent may also highlight the content focus when rendered as synthesized speech, for example through changes in speech prosody. The dimensions of the rendered content focus may exceed those of the viewport.
In this document, each viewport is expected to have at most one content focus and at most one user interface focus. This document includes requirements for content focus only, for user interface focus only, and for both. When a requirement refers to both, the term "focus" is used.
When several viewports coexist, at most one viewport's content focus or user interface focus responds to input events; this is called the current focus.
accesskey
attribute of HTML 4
[HTML4]).longdesc
attribute,
and elements with event handlers
explicitly associated with them (e.g., through the various "on" attributes).
The role of an element as an interactive element is subject to applicability. A non-interactive
element is an element that, by format specification, does not have associated
behaviors. The expectation of this document is that interactive elements become
enabled elements in some sessions,
and non-interactive elements never become enabled elements.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.H1
element, so a user agent that implements HTML can recognize that content as a
heading. If the author creates a heading using a visual effect alone (e.g.,
just by increasing the font size), then the author has encoded the heading in a
manner that does not allow the user agent to recognize it as a heading.
Some requirements of this document depend on content roles, content relationships, timing relationships, and other information supplied by the author. These requirements only apply when the author has encoded that information in a manner that the user agent can recognize. See the section on conformance for more information about applicability.
In practice, user agents will rely heavily on information that the author has encoded in a markup language or style sheet language. On the other hand, behaviors, style, meaning encoded in a script, and markup in an unfamiliar XML namespace may not be recognized by the user agent as easily or at all. The Techniques document [UAAG10-TECHS] lists some markup known to affect accessibility that user agents can recognize.
This document does not require user agents to include repair content in the document object. Repair content inserted in the document object should conform to the Web Content Accessibility Guidelines 1.0 [WCAG10]. For more information about repair techniques for Web content and software, refer to "Techniques for Authoring Tool Accessibility Guidelines 1.0" [ATAG10-TECHS].
On the screen, the selection may be highlighted in a variety of ways, including through colors, fonts, graphics, and magnification. The selection may also be highlighted when rendered as synthesized speech, for example through changes in speech prosody. The dimensions of the rendered selection may exceed those of the viewport.
The selection may be used for a variety of purposes, including for cut and paste operations, to designate a specific element in a document for the purposes of a query, and as an indication of point of regard.
The selection has state, i.e., it may be "set," programmatically or through the user interface.
In this document, each viewport is expected to have at most one selection. When several viewports coexist, at most one viewport's selection responds to input events; this is called the current selection.
Note: Some user agents may also implement a selection for designating a range of information in the user agent user interface. The current document only includes requirements for a content selection mechanism.
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.
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.
The term "user interface control" refers to a component of the user agent user interface or the content user interface, distinguished where necessary.
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.
@@Ed. This section is still under development@@
This section is informative.
For the latest version of any W3C specification please consult the list of W3C Technical Reports at http://www.w3.org/TR/. Some documents listed below may have been superseded since the publication of this document.
Note: In this document, bracketed labels such as "[WCAG20]" link to the corresponding entries in this section. These labels are also identified as references through markup.
This document would not have been possible without the work of those who contributed to UAAG 1.0.
This publication has been funded in part with Federal funds from the U.S. Department of Education, National Institute on Disability and Rehabilitation Research (NIDRR) under contract number ED05CO0039. The content of this publication does not necessarily reflect the views or policies of the U.S. Department of Education, nor does mention of trade names, commercial products, or organizations imply endorsement by the U.S. Government.
@@Ed. This section is still under development@@
@@Ed. This section is still under development@@