Techniques for User Agent Accessibility Guidelines

W3C Working Draft     10-Feb-1999

This version:
Latest version:
Latest public version:
Previous version:
Latest "User Agent Accessibility Guidelines":
Latest public version of "User Agent Accessibility Guidelines":
Jon Gunderson <jongund@uiuc.edu>
Ian Jacobs <ij@w3.org>

Copyright © 1999 W3C (MIT, INRIA, Keio), All Rights Reserved. W3C liability, trademark, document use and software licensing rules apply.


This document describes techniques that user agent developers may use to satisfy the checkpoints listed in "User Agent Accessibility Guidelines." Techniques relate to the accessibility of user interfaces, content rendering, program interfaces, and accessibility features of languages such as HTML, CSS and SMIL. Like "User Agent Accessibility Guidelines", the current document emphasizes the accessibility of interoperability between two important classes of user agents - graphical desktop browsers and dependent assistive technologies (including screen readers, screen magnifiers, and voice input software). However, it is meant to be applicable to user agents in general, including text and voice browsers, and multimedia players.

While "User Agent Accessibility Guidelines" has been designed to be a stable document of principles, the current document will continue to evolve as technologies change and user agent manufacturers discover more effective techniques for designing accessible user agents.

This document is part of a series of accessibility documents published by the W3C Web Accessibility Initiative.

Status of this document

This is a W3C Working Draft for review by W3C Members and other interested parties. It is a draft document and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to use W3C Working Drafts as reference material or to cite them as other than "work in progress". This is work in progress and does not imply endorsement by, or the consensus of, either W3C or Members of the WAI User Agent (UA) Working Group.

Although the organization of this document has begun to stabilize, the Working Group has not yet filled in the details of all the techniques. This draft does not distinguish those techniques that mainstream user agents are expected to implement natively from those that may be satisfied by providing information through an interface.

This document has been produced as part of the W3C WAI Activity and intends to improve user agent accessibility for all users. The goals of the WAI-UA Working Group are discussed in the WAI UA charter. A list of the current Working Group members is available.

Available formats

This document is available in the following formats:

A plain text file:
HTML as a gzip'ed tar file:
HTML as a zip file (this is a '.zip' file not an '.exe'):
A PostScript file:
A PDF file:

In case of a discrepancy between the various formats of the specification, http://www.w3.org/WAI/UA/WD-WAI-USERAGENT-19990210/wai-useragent-tech.html is considered the definitive version.


Please send comments about this document to the public mailing list: w3c-wai-ua@w3.org.

Table of Contents

1 Guidelines, Checkpoints, and Techniques

The guidelines documents have been organized to address readers seeking abstract principles of accessible user agent design and readers seeking concrete solutions. The guidelines documents define three terms for different levels of abstraction:

A guideline is a general principle of accessible design. A guideline addresses the question "What accessibility issues should I be aware of?"
A checkpoint is a specific way of satisfying one or more guidelines. While checkpoints describe verifiable actions that may be carried out by the user agent developer, implementation details are described elsewhere. A checkpoint answers the question "What should I do to improve accessibility?"
A technique is an implementation of one or more checkpoints in a given language (e.g., HTML, XML, CSS, DOM, ...). A technique answers the question "How do I do that in HTML or SMIL or CSS...?"

The current document contains techniques, according to different interfaces between the user agent and the operating system, the document, the user, and other software. Note that each technique in this document is numbered according to its number in the guidelines document.

2 The User Agent and the Operating System

4.1.4 Follow operating system conventions for user interface design, user agent configuration (including configuration profiles), product installation and documentation, and accessibility flags and interfaces. [Priority 2]

The operating system application programming interfaces (APIs) that support accessibility are designed to provide a bridge between the standard user interface supported by the operating system and alternative user interfaces developed by third-party assistive technology vendors to provide access to persons with disabilities. Applications supporting these APIs are therefore generally more compatible with third-party assistive technology.

The WAI Working Group strongly recommends using and supporting APIs that improve accessibility and compatibility with 3rd party assistive technology. Third-party assistive technology can use the accessibility information provided by the APIs to provide an alternative user interface for various disabilities.

The following is an informative list of currently public APIs that support accessibility:

Many major operating systems have built-in accessibility features for improving the usability of the standard operating system by persons with disabilities. When designing software that runs above an underlying operating system, developers should ensure that the application:

  1. Makes use of operating system level features. See the appendix of accessibility features for some comment operating systems.
  2. Inherits operating system settings related to accessibility. Pertinent settings include font and color information as well as other pieces of information discussed in this document.

[Ed. We Should put a more exhaustive list here.]

4.1.1 Ensure that the software may be installed in a device-independent manner for all supported input and output devices. [Priority 1]

Ensure that software may be installed, when possible, according to the conventions of the operating system.

3 The User Agent and the Document

3.1 Identification

In order for the user agent to satisfy many of the techniques in this document (related to rendering, notification, navigation, etc.), it must be able to identify certain types of information in addition to recognizing object types such as images, video, sound, and elements of the document language.

Sources of alternative representations of information

User agents must be able to recognize sources of alternative representations of content.

The "alt", "title", "longdesc", and "abstract" attributes. To be completed..

Sources of blinking text and animation

User agents that recognize the following sources of blinking text and animations must enable users to freeze that text.

In GIF animated images.
To be completed.

Sources of event handlers

Certain elements of the document language may have associated event handlers that are triggered when certain events occur. User agents must be able to identify those elements with event handlers statically associated (i.e., associated in the document source, not in a script).

All of the attributes beginning with the prefix "on": "onblur", "onchange", "onclick", "ondblclick", "onkeydown", "onkeypress", "onkeyup", "onload", "onmousedown", "onmousemove", "onmouseout", "onmouseover", "onmouseup", "onreset", "onselect", "onsubmit", and "onunload".
[Ed. Other sources? ]
[Ed. To be completed.]

Information about the document

User agents must be able to compute the following information about a document:

3.2 Rendering alternative representations of content

Alternative representations of information for images, video, applets

See the section on sources of alternative information

5.2.1 Ensure that the user has access to alternative representations of content (e.g., the value of "alt" in HTML or SMIL, the resource designated by "longdesc", or the content of OBJECT in HTML 4.0, the "summary" attribute for tables in HTML, etc.). [Priority 1]

5.2.2 When no alternative text representation is available, indicate what type of object is present. [Priority 2]

5.2.3 When null alternative text has been defined, suppress the rendering of the alternative representation. [Priority 3]

Textual equivalents for audio and video

5.2.5 Allow the user specify that captions for audio be rendered at the same time as the audio. [Priority 2]

5.2.6 Allow the user specify that captions for video be rendered at the same time as the video. [Priority 1]

5.1.10 Allow the user to control the position of captions. [Priority 1]

Audio equivalents for video

5.2.7 Allow the user specify that audio descriptions of video be rendered at the same time as the video. [Priority 2]

Alternative representations for scripts

In HTML, content of NOSCRIPT.

Alternative representations for frames

[Ed. See Scott's suggestions]

  1. In HTML, content of NOFRAMES.
  2. Otherwise, list of frames. Use "title" as name of frame, otherwise "name".

Alternative representations for tables

In HTML, "summary" attribute. Also, the "abbr" attribute for headers (see the section on table cells and headers).

Generated content

Generated content specified through style sheets can help orient the user. For instance, if, through style sheets, the user can insert the word "Link" before every link, this text may be used by a speech synthesizer or Braille devices. See the section on the support for CSS2 accessibility features below.

3.3 Styles and formatting

[Ed. Based on comments from Jason, add information about UAs allowing users to suppress the rendering of certain elements (e.g., for audio browsers). This can be done with the CSS1 property 'display: none'.]


5.4.1 Provide access to the contents of a specific cell. [Priority 1]

5.4.2 Provide access to header information for a specific table cell. [Priority 1]

Possible solutions:

[Ed. Define algorithm for finding "header information" here. Does it come from THEAD, TH, attributes, HTML 4.0 algorithm for finding header information, etc. Allow the user to choose either "abbr" or what is calculated by the header algorithm.]

[Ed. Discuss repair strategies for finding header information?]


Possible solutions:


5.3.6 Provide a mechanism (e.g., through style sheets) to distinguish visited links from unvisited links. [Priority 3]

5.3.7 Allow the user to specify (e.g., through style sheets) that images used in links must have borders. [Priority 3]

[Ed. Talk about CSS pseudo-classes for :hover]

[Ed. Talk about using :before to clearly indicate that something is a link (e.g., 'A:before { content : "LINK:" }')]


Audio and video

[Ed. Talk about EMBED? Charles recommends that it be put inside an OBJECT if used.]


6.1.1 Provide a mechanism for highlighting and identifying (through a standard interface where available) the current view. [Priority 1]

6.1.2 Provide a mechanism for highlighting and identifying (through a standard interface where available) the user selection. [Priority 1]

6.1.3 Provide a mechanism for highlighting and identifying (through a standard interface where available) the current focus. [Priority 1]


6.2.1 Allow the user to view a document outline constructed from its structural elements (e.g., from header and list elements). [Priority 2]

4 Functionality offered by the User Agent to allow the User to work with the Document

4.1 Access to all functionality

In general, this requirement may be met by providing keyboard access to all functionality and by exposing that functionality to third party technology.

4.2 Selection and focus

6.1.4 Ensure that when the selection changes, it is in the viewport after the change. [Priority 2]

6.1.5 Ensure that when the focus changes, it is in the viewport after the change. [Priority 2]

6.1.7 Keep track of the user's point of regard in each view and restore it when the user returns to the view. [Priority 1]

4.3 Navigation

There are different ways a user may want to navigate while browsing the Web, including:

[Ed. Describe tabbing navigation here.]

Document navigation

6.1.6 Allow the user to navigate views (notably those with frame viewports). Navigating into a view makes it the current view. [Priority 1]

6.2.2 Allow the user to navigate the document tree. [Priority 2]

Document object navigation

[Ed. Discuss tabbing navigation here. How tabbing navigation is specified in HTML: "tabindex".]

5.3.1 Allow the user to navigate sequentially among links. [Priority 1]

5.5.2 Allow the user to navigate among forms in a document. [Priority 1]

5.5.1 Allow the user to navigate among form controls within a form. [Priority 1]

6.3.1 Allow the user to navigate among elements with associated event handlers. [Priority 1]

6.2.3 Allow the user to navigate sequentially among headers. [Priority 2]

6.2.4 Allow the user to navigate sequentially among block elements (e.g., paragraphs, lists and list items, etc.) [Priority 2]

5.3.8 Allow the user to navigate among elements with associated long descriptions. [Priority 1]

5.4.3 Allow the user to navigate among tables in a document. [Priority 1]

5.4.4 Allow the user to navigate among table cells of a table (notably left/right within a row and up/down within a column). [Priority 1]

4.4 Searching

5.3.2 Allow the user to search for a link in the current document based on its link text. [Priority 1]

5.3.3 Allow the user to search for a link based on its attribute values. [Priority 1]

5.3.4 Allow the user to move the focus to a link based on its integer (tabbing-order) position. [Priority 1]

5.5.3 Allow the user to search for a form control based on its text content. [Priority 1]

5.5.4 Allow the user to search for a form control based on its attribute values. [Priority 1]

6.2.5 Allow the user to search for an element in the current document based on its text content. In case of a match, the selection should be moved to the element. [Priority 2]

5.3.9 Allow the user to search linked long description text (i.e., in another document). In case of a match, the focus should be moved to the link in the current document. [Priority 2]

5.4.5 Allow the user to search for a table cell based on its contents or header information. [Priority 2]

4.5 Querying

5.3.5 Provide the user with information about the number of links in a document. [Priority 2]

5.5.5 Provide the user with information about the number of forms in a document. [Priority 2]

5.5.6 Provide the user with information about the number of controls in a form. [Priority 2]

5.4.8 Allow the user to find out the number of tables in a document. [Priority 2]

5.4.6 Allow the user to select a table cell and find out its row/column coordinates in the table. [Priority 2]

5.4.7 Allow the user to find out the dimensions of a table. [Priority 2]

6.1.9 When a document is loaded or when requested by the user, make available document summary information. [Priority 2]

[Ed. What does summary information include?]

6.1.8 Provide the user with information about the number of viewports. [Priority 2]

6.1.10 Provide the user with information about how much of the document has been viewed (i.e., where the point of regard is with respect to the beginning of the document). [Priority 2]

4.3.2 Ensure that user can find out about all keyboard bindings. [Priority 2]

4.6 Activation

4.2.3 Ensure that the user can activate the links in a document in an input device-independent manner. [Priority 1]

4.2.4 Ensure that the user can activate the form controls in a document in an input device-independent manner. [Priority 1]

4.2.5 Ensure that the user can activate the event handlers in a document in an input device-independent manner. [Priority 1]

5 The User Agent and the User

5.1 Accessible user interface

4.2.1 Ensure that all functionalities offered by the user agent interface are available through all supported input devices. These include the installation procedure, access to product documentation and help, and software configuration. [Priority 1]

4.2.2 Ensure that all messages to the user (e.g., warnings, errors, etc.) are available in an output device-independent manner for all supported interactive output devices. [Priority 1]

5.2 Visibility of accessibility features

Universal design means that access to features that help accessibility should be integrated into normal menus. User agents should avoid regrouping access to accessibility features into specialized menus. However, documentation must include a section or chapter on accessibility where all available functionalities and mechanisms are described.

4.1.3 Describe product features known to promote accessibility in a section of the product documentation. [Priority 2]

Documentation includes installation documentation. Users must have access to installation information, either in electronic form (diskette, over the Web), by fax, or by telephone.

4.1.2 Ensure that product documentation is available in at least one accessible, open standard electronic format (e.g., HTML, XML, ASCII). [Priority 2]

Vendors should provide documentation in a format that may be tailored to a user's particular needs. Helpful formats include:

Vendors should provide several alternatives to hardcopy documentation when possible: electronic, large print, braille, audio cassette, etc.

4.3.3 Provide a mechanism to render the presence of a keyboard binding for an active element. [Priority 2]

5.3 Configuration

User control of style

To ensure accessibility, users must have final control over certain renderings.

For text and color:

5.1.1 Allow the user to override font family. [Priority 1]

5.1.2 Allow the user to override font size. [Priority 1]

5.1.3 Allow the user to override foreground color. [Priority 1]

5.1.4 Allow the user to override background color. [Priority 1]

5.1.5 Allow the user to override selection highlighting (e.g., foreground and background color). [Priority 1]

5.1.6 Allow the user to override focus highlighting (e.g., foreground and background color). [Priority 1]

[Ed. These may be rendered in a variety of ways. How do we specify rendering?]

For images, applets, and animations:

4.4.2 Allow the user to turn on and off rendering of background images. [Priority 1]

5.1.7 Allow the user to override animation rate. [Priority 2]

For user agents rendering video:

5.1.8 Allow the user to override video frame rates. [Priority 1]

5.1.9 Allow the user to start, stop, pause, and rewind video. [Priority 2]

For user agents rendering audio:

5.1.11 Allow the user to override audio playback rate. [Priority 1]

5.1.12 Allow the user to start, stop, pause, and rewind audio. [Priority 2]

5.1.13 Allow the user to override audio volume. [Priority 2]

5.2.4 Allow the user to choose from among available audio tracks. [Priority 1]

For user agents rendering speech:

5.1.15 Allow the user to override speech volume. [Priority 2]

5.1.14 Allow the user to override speech playback rate. [Priority 1]

User interface:

5.1.16 When new windows or user interface components are spawned, allow the user to control window size and position. [Priority 2]

User profiles

A configuration profile allows users to save their user agent settings and re-apply them easily, which is particularly valuable in an environment where several people may use the same machine.

4.1.5 Allow the user to configure the user agent in named profiles that may be shared (by other users or software). [Priority 2]

The user should be able to easily transfer their profiles between installations of the same user agent. One way to facilitate this is to follow operating system conventions for profiles where applicable.

Users should be able to switch rapidly between profiles (or the default settings). This is helpful when:

User agents may apply a profile when the user logs in. They may also allow users to apply settings interactively, for example by allowing them to choose from a list of named profiles in a menu.

Sample profiles (based on common usage scenarios) can assist users in the initial set up of the user agent. These profiles can serve as models and may be copied and fine-tuned to mean an individual's particular needs.

Feature control

[Ed. Add note here that while useful to turn off support, say for all images, it's also useful to be able to view one particular image.]

4.4.1 Allow the user to turn on and off rendering of images. [Priority 1]

4.4.3 Allow the user to turn on and off rendering of video. [Priority 1]

4.4.4 Allow the user to turn on and off rendering of sound. [Priority 1]

4.4.5 Allow the user to turn on and off rendering of captions. [Priority 1]

4.4.6 Allow the user to turn on and off animated or blinking text. [Priority 1]

4.4.7 Allow the user to turn on and off animations and blinking images. [Priority 1]

4.4.8 Allow the user to turn on and off support for scripts and applets. [Priority 1]

4.4.10 Allow the user to turn on and off support for author style sheets. [Priority 1]

4.4.9 Allow the user to turn on and off support for user style sheets. [Priority 1]

4.4.11 Allow the user to turn on and off rendering of frames. [Priority 2]

4.4.12 Allow the user to turn on and off support for spawned windows. [Priority 1]

User agents may:

For example, user agents may recognize the HTML construct target="_blank" and spawn the window according to the user's preference.

4.4.13 Allow the user to turn on and off automatic page forwarding. [Priority 3]

Although no HTML specification defines this behavior formally, some user agents support the use of the META element to refresh the current page after a specified number of seconds, with the option of replacing it by a different URI.

Keyboard configuration

4.3.1 Allow the user to configure keyboard access to user agent functionalities. Configuration includes the ability to specify single- as well as multi-key access. [Priority 2]

4.3.4 Display keyboard bindings in menus. [Priority 3]

[Ed. Discuss keyboard access here. How access is specified in HTML: "accesskey".]

[Ed. New section. Users must be allowed to control keyboard configuration based on specific needs. For poor motor control, keys far apart. For poor mobility, keys close together. General principle: fewest keystrokes, short distance to move.]

5.4 Notification of events and changes

6.1.11 Provide the user with information about document loading status (e.g., whether loading has stalled, whether enough of the page has loaded to begin navigating, whether following a link involves a fee, etc.) [Priority 3]

6.3.2 Alert the user when scripts or applets are executed. [Priority 2]

6.3.3 Provide information about document changes resulting from the execution of a script. [Priority 3]

5.5.7 Allow the user to request to be prompted before a form is submitted. [Priority 3]

6 The User Agent and Assistive Technologies

7.2.1 Implement DOM Level 1 and expose it to dependent user agents through a public interface. [Priority 1]

Use DOM Level 1 [DOM1] for access to HTML and XML document information. However, as the DOM specification indicates:

The DOM Level 1 does not include mechanisms to access and modify style specified through CSS 1. Furthermore, it does not define an event model for HTML documents. This functionality is planned to be specified in a future Level of this specification.

It is important for user agents to provide access to style and scripting information in a document, so the following techniques should be used to achieve this.

7.2.2 Support other accessibility application programming interfaces (APIs) (e.g., Microsoft Active Accessibility, Sun Microsystems Java Accessibility) [Priority 2]

7.2.3 Use standard interfaces defined for the operating system. [Priority 2]

Use standard rather than custom controls when designing user agents. Third-party assistive technology developers are more likely able to access standard controls than custom controls. If you must use custom controls, review them for accessibility and compatibility with third-party assistive technology.

7 Support for accessibility features of certain languages

7.1 HTML

[Ed. Integrate Charles' notes on accessibility features of HTML. Sort by priority. See his list of key elements.]

7.1.1 Support accessibility features defined by W3C Recommendations for HTML. [Priority 1]

7.2 CSS

7.1.2 Support accessibility features defined by W3C Recommendations for CSS. [Priority 1]

The following techniques apply to user agents that implement Cascading Style Sheets (see CSS, level 1 and CSS, level 2). Cascading Style Sheets may be part of a source document or linked externally.

Stand-alone style sheets are useful for implementing user profiles in public access computer environments where several people use the same computer. User profiles allow for convenient customization and may be shared by a group.

7.3 SMIL

7.1.3 Support accessibility features defined by W3C Recommendations for SMIL. [Priority 1]

[Ed. Ensure that in SMIL, users can stop temporal links. See proposal from Marja.]

8 Appendix: Accessibility features of some operating systems

Several of the more popular mainstream operating systems now include a common suite of built-in accessibility features that are designed to assist individuals with varying abilities. Despite operating systems differences, the built-in accessibility features use a similar naming convention and offer similar functionalities, within the limits imposed by each operating system (or particular hardware platform).

The following is a list of built-in accessibility features from several platforms:

These allow users to perform a multiple simultaneous key sequence by pressing and releasing each key in sequential order. StickyKeys is designed to work with only those keys defined as modifier keys. Modifier keys are pressed in combination with other keys, to change the outcome of the second (or more) pressed keys. For example, the SHIFT key is defined as a modifier key, since it is commonly used to create upper case characters. Each operating system or hardware platform typically defines a set of keys which can act as modifier keys. The most common modifier keys include SHIFT, CONTROL, and ALTERNATE.
These allow users to move the mouse cursor and activate the mouse button(s) from the keyboard.
These allow users to set how fast a key repeats (e.g., sometimes referred to as typematic rate) when the key is held pressed (e.g., Repeat Rate), and also allows control over how quickly the key starts to repeat after the key has been pressed (e.g., delay Until Repeat). Key repeating may also be eliminated.
These instruct the computer not to accept a key as pressed until it has been pressed and held down for a specific user adjustable length of time.
These prevent extra characters from being typed if the user bounces (e.g., tremor) on the same key when pressing or releasing it.
These provide an audible indication for the status of keys that have a toggled state (e.g., keys that maintain status after being released). The most common toggling keys include Caps Lock, Num Lock, and Scroll Lock.
These monitor the operating system and applications for sounds, and attempt to provide a visual indication when a sound is being played. Older versions of Sound Sentry may have flashed the entire display screen for example, while newer versions of SoundSentry provide the user with a selection of options, such as flashing the active window or flashing the active window caption bar.

The next three built in accessibility features are not as commonly available as the above group of features, but are included here for definition, completeness, and future compatibility.

These are user setting or software switches that are available for the operating system and application (including user agents) APIs to read, to notify them that the user wishes audio information to also be presented in a visual format.
High Contrast
These automatically change the display fonts and colors to choices which should provide for easier reading.
These allow the built-in accessibility features to automatically turn off if the computer is unused for a specified length of time, and is intended for use when the computer is in a public setting (e.g., library). TimeOut might also be referred to as reset or automatic reset.

The next accessibility feature listed here is not considered to be a built in accessibility feature (since it only provides an alternate input channel) and is presented here only for definition, completeness, and future compatibility.

These allow a user to perform all keyboard and mouse functions from an external assistive device (such as communication aid) communicating with the computer via a serial character stream (e.g., serial port, IR port, etc.) rather than or in conjunction with, the keyboard, mouse, and other standard input devices/methods.

8.1 Microsoft Windows 95, Windows 98, and Window NT 4.0

The following accessibility features can be adjusted from the Accessibility Options Control Panel:

Additional accessibility features available in Windows 98:

This is a windowed, screen enlargement and enhancement program used by persons with low vision to magnify an area of the visual display (e.g., by tracking the text cursor, focus, etc.). Magnifier can also invert the colors used by the system within the magnification window.
Accessibility Wizard
This is a setup tool intended to assist a person with making choices which setting up the accessibility features on a workstation.

8.2 Apple Macintosh Operating System

The following accessibility features can be adjusted from the Easy Access Control panel (Note: Apple convention uses a space within the accessibility feature names.)

The following accessibility features can be adjusted from the Keyboard Control Panel.

The following accessibility feature can be adjusted from the Sound or Monitors and Sound Control Panel (depends upon which version of the OS).

Additional accessibility features available for the Macintosh OS:

This is a full screen, screen enlargement and enhancement program used by persons with low vision to magnify the information on the visual display, and it can also change the colors used by the system.
This is available as freeware from Apple and several other Web sites.

8.3 AccessX, X Keyboard Extension (XKB), and the X Window System

(Note: AccessX became a supported part of the X Window System X Server with the release of the X Keyboard Extension in version X11R6.1)

The following accessibility features can be adjusted from the AccessX graphical user interface X client on some DEC, SUN, and SGI operating systems. Other systems supporting XKB may require the user to manipulate the features via a command line parameter(s).

8.4 DOS (Disk Operating System)

The following accessibility features are available from a freeware program called AccessDOS, which is available from several Internet Web sites including IBM, Microsoft, and the Trace Center, for either PC-DOS or MS-DOS versions 3.3 or higher.

9 Acknowledgments

Many thanks to the following people who have contributed through review and comment: Paul Adelson, James Alan, Denis Anson, Kitch Barnicle, Harvey Bingham, Judy Brewer, Kevin Carey, Wendy Chisholm, David Clark, Chetz Colwell, Wilson Craig, Daniel Dardailler, Neal Ewers, Geoff Freed, Larry Goldberg, Markku Hakkinen, Earle Harrison, Chris Hasser, Kathy Hewitt, Phill Jenkins, Leonard Kasday, George Kerscher, Marja-Riitta Koivunen, Josh Krieger, Catherine Laws, Greg Lowney, Scott Luebking, William Loughborough, Napoleon Maou, Charles McCathieNevile, Masafumi Nakane, Charles Oppermann, Mike Paciello, David Pawson, Michael Pederson, Helen Petrie, David Poehlman, Michael Pieper, Jan Richards, Hans Riesebos, Joe Roeder, Greg Rosmaita, Liam Quinn, T.V. Raman, Robert Savellis, Constantine Stephanidis, Jim Thatcher, Jutta Treviranus, Claus Thøgersen, Steve Tyler, Gregg Vanderheiden, Jaap van Lelieveld, Jon S. von Tetzchner, Ben Weiss, Evan Wies, Chris Wilson, Henk Wittingen, and Tom Wlodkowski.

If you have contributed to the UA guidelines and your name does not appear please contact the editors to add your name to the list.

10 References

"CSS, level 1 Recommendation", B. Bos, H. Wium Lie, eds. The CSS1 Recommendation is available at:
"CSS, level 2 Recommendation", B. Bos, H. Wium Lie, C. Lilley, and I. Jacobs, eds. The CSS2 Recommendation is available at:
"WAI Resources: CSS2 Accessibility Improvements", I. Jacobs and J. Brewer, eds. This document, which describes accessibility features in CSS2, is available at:
"Document Object Model (DOM) Level 1 Specification", V. Apparao, S. Byrne, M. Champion, S. Isaacs, I. Jacobs, A. Le Hors, G. Nicol, J. Robie, R. Sutor, C. Wilson, and L. Wood, eds. The DOM Level 1 Recommendation is available at:
"HTML 4.0 Recommendation", D. Raggett, A. Le Hors, and I. Jacobs, eds. The HTML 4.0 Recommendation is available at:
http://www.w3.org/TR/REC-html 40/.
"WAI Resources: HTML 4.0 Accessibility Improvements", I. Jacobs, J. Brewer, and D. Dardailler, eds. This document, which describes accessibility features in HTML 4.0, is available at:
"Key words for use in RFCs to Indicate Requirement Levels", S. Bradner, March 1997. Available at http://www.ietf.org/rfc/rfc2119.txt
"Synchronized Multimedia Integration Language (SMIL) 1.0 Specification", P. Hoschka, editor. The SMIL 1.0 Recommendation is available at:
"Authoring Tool Accessibility Guidelines", J. Treviranus, J. Richards, I. Jacobs, and C. McCathieNevile, eds. These guidelines for designing accessible authoring tools are available at:
"Web Content Accessibility Guidelines", W. Chisholm, G. Vanderheiden, and I. Jacobs, eds. These guidelines for designing accessible documents are available at: