Analysis of WCAG support in UAGL

The following is a (quck) analysis of the Web Content Accessibility Guidelines checklist in light of the User Agent Guidelines. The goal is to ensure that the UAGL covers ground that the WCAG anticipates it will cover.

All UAGL checkpoints referenced here come from 31 March UAGL.

Priority 1 checkpoints

In General (Priority 1)

1.1 Provide a text equivalent for every non-text element (e.g., via "alt", "longdesc", or in element content).
UA must make alternative content available to the user. Covered by Guideline 5.2
2.1 Ensure that all information conveyed with color is also available without color, for example from context or markup.
No covered specially by UAGL.
4.1 Clearly identify changes in the natural language of a document's text and any text equivalents (e.g., captions).
User Agent should support language features of HTML/XML. But what functionality should be offered to user? Assistive technologies may support different language based on language tagging.
6.1 Organize documents so they may be read without style sheets. For example, when an HTML document is rendered without associated style sheets, it must still be possible to read the document.
No support required. Related to checkpoint 4.4.9.
6.2 Ensure that equivalents for dynamic content are updated when the dynamic content changes.
UA must also be sure to update access to the new text equivalents. Is this covered by guideline 5.2?
7.1 Until user agents allow users to control flickering, avoid causing the screen to flicker.
PROPOSED: Add a checkpoint for this. This is different from blinking text.
14.1 Use the clearest and simplest language appropriate for a site's content.
No support required.

And if you use images and image maps (Priority 1)

1.2 Provide redundant text links for each active region of a server-side image map.
No support required. Perhaps can allow users to suppress the redundant links, but if authored with OBJECT, not required (I think).
9.1 Provide client-side image maps instead of server-side image maps except where the regions cannot be defined with an available geometric shape.
No support required.

And if you use tables (Priority 1)

5.1 For data tables, identify row and column headers.
Covered by 5.4.2.
5.2 For data tables that have two or more logical levels of row or column headers, use markup to associate data cells and header cells.
Covered by 5.4.2. And support for HTML table attribs.

And if you use frames (Priority 1)

12.1 Title each frame to facilitate frame identification and navigation.
Covered by 6.1.1. I believe.

And if you use applets and scripts (Priority 1)

6.3 Ensure that pages are usable when scripts, applets, or other programmatic objects are turned off or not supported. If this is not possible, provide equivalent information on an alternative accessible page.

And if you use multimedia (Priority 1)

1.3 Until user agents can automatically read aloud the text equivalent of a visual track, provide an auditory description of the important information of the visual track of a multimedia presentation.
For ATs today.
1.4 For any time-based multimedia presentation (e.g., a movie or animation), synchronize equivalent alternatives (e.g., captions or auditory descriptions of the visual track) with the presentation.
Covered by coverage of SMIL.

And if all else fails (Priority 1)

11.4 If, after best efforts, you cannot create an accessible page, provide a link to an alternative page that uses W3C technologies, is accessible, has equivalent information (or functionality), and is updated as often as the inaccessible (original) page.
No support required.

Priority 2 checkpoints

In General (Priority 2)

2.2 Ensure that foreground and background color combinations provide sufficient contrast when viewed by someone having color deficits or when viewed on a black and white screen. [Priority 2 for images, Priority 3 for text].
Covered by 5.1.3, 5.1.4, 5.1.5., 5.1.6.
3.1 When an appropriate markup language exists, use markup rather than images to convey information.
No direct support required. However, covered in part by a (proposed) checkpoint to implement applicable languages such as MathML, SMIL, etc.
3.2 Create documents that validate to published formal grammars.
No direct support required. UA should conform to markup language Recommendations!
3.3 Use style sheets to control layout and presentation.
No direct support required. UA should conform to Style Sheet Recommendations!
3.4 Use relative rather than absolute units in markup language attribute values and style sheet property values.
No direct support required (other than support for Recs).
3.5 Use header elements to convey document structure and use them according to specification.
No direct support required (other than support for Recs).
3.6 Mark up lists and list items properly.
No direct support required (other than support for Recs).
3.7 Mark up quotations. Do not use quotation markup for formatting effects such as indentation.
No direct support required (other than support for Recs).
6.5 Ensure that dynamic content is accessible or provide an alternative presentation or page.
Covered by a number of checkpoints in 5.1, 5.2, 5.3, 6.3
7.2 Until user agents allow users to control blinking, avoid causing content to blink (i.e., change presentation at a regular rate, such as turning on and off).
Covered by 4.4.6 and 4.4.7
7.4 Until user agents provide the ability to stop the refresh, do not create periodically auto-refreshing pages.
Covered by 4.4.14.
7.5 Until user agents provide the ability to stop auto-redirect, do not use markup to redirect pages automatically. Instead, configure the server to perform redirects.
Covered by 4.4.13.
10.1 Until user agents allow users to turn off spawned windows, do not cause pop-ups or other windows to appear and do not change the current window without informing the user.
Covered by 4.4.12
11.1 Use W3C technologies when they are available and appropriate for a task and use the latest versions when supported.
Proposed Modify Guideline 7.1 to include these checkpoints:
11.2 Avoid deprecated features of W3C technologies.
See comments on previous checkpoint.
12.3 Divide large blocks of information into more manageable groups where natural and appropriate.
No special support required other than appropriate navigation features.
13.1 Clearly identify the target of each link.
Provide access to "title" in HTML? Is this covered by 5.2.1?
13.2 Provide metadata to add semantic information to pages and sites.
This is tricky. The UAs behavior depends on the type of metadata. For instance, LINK elements might be rendered as a navigation bar. What to do about META, PICS, RDF?
13.3 Provide information about the general layout of a site (e.g., a site map or table of contents).
No support required. However, UA could generate a site map based on metadata. Need a schema here?n
13.4 Use navigation mechanisms in a consistent manner.
No support required.

And if you use tables (Priority 2)

5.3 Do not use tables for layout unless the table makes sense when linearized. Otherwise, if the table does not make sense, provide an alternative equivalent (which may be a linearized version).
Need linearization tools (UA or AT). Covered by 5.4.3 adn 5.4.4
5.4 If a table is used for layout, do not use any structural markup for the purpose of visual formatting.
No support needed.

And if you use frames (Priority 2)

12.2 Describe the purpose of frames and how frames relate to each other if it is not obvious by frame titles alone.
No support needed. NOFRAMES covered by 7.1.1 and others.

And if you use forms (Priority 2)

10.2 Until user agents support explicit associations between labels and form controls, for all form controls with implicitly associated labels, ensure that the label is properly positioned.
Covered by 5.5.5
12.4 Associate labels explicitly with their controls.
Covered by 5.5.5

And if you use applets and scripts (Priority 2)

6.4 For scripts and applets, ensure that event handlers are input device-independent.
We talked of having UAs synthesize device-independent event handlers. Was this idea dropped?
7.3 Until user agents allow users to freeze moving content, avoid movement in pages.
Covered by several checkpoints in guideline 5.
8.1 Make programmatic elements such as scripts and applets directly accessible or compatible with assistive technologies [Priority 1 if functionality is important and not presented elsewhere, otherwise Priority 2.]
Plug-ins or ATs must ensure accessible user interface. Also, must have interface with AT (covered in 7.2).
9.2 Ensure that any element that has its own interface can be operated in a device-independent manner.
Plug-ins or ATs must ensure accessible user interface. Also, must have interface with AT (covered in 7.2).
9.3 For scripts, specify logical event handlers rather than device-dependent event handlers.
No direct support required.

Priority 3 checkpoints

In General (Priority 3)

4.2 Specify the expansion of each abbreviation or acronym in a document where it first occurs.
Need access to attribute values in HTML. Ok with CSS2.
4.3 Identify the primary natural language of a document.
Proposed Allow users to configure UA support for preferred language/list of languages.
9.4 Create a logical tab order through links, form controls, and objects.
Need support for "tabindex" in HTML. Covered by 5.3.4
9.5 Provide keyboard shortcuts to important links (including those in client-side image maps), form controls, and groups of form controls.
Need support for "accesskey" in HTML. Covered by 4.2.3 and 4.3.1.
10.5 Until user agents (including assistive technologies) render adjacent links distinctly, include non-link, printable characters (surrounded by spaces) between adjacent links.
Legacy AT problem.
11.3 Provide information so that users may receive documents according to their preferences (e.g., language, content type, etc.)
See proposal above to allow users to configure UA support for preferred language/list of languages.
13.5 Provide navigation bars to highlight and give access to the navigation mechanism.
No support required. Would be good to synthesize from LINK elements, headers, etc.
13.6 Group related links, identify the group (for user agents), and, until user agents do so, provide a way to bypass the group.
To properly identify a group, use a schema. This would be a technique for authors/user agents to recognize a specific schema.
13.7 If search functions are provided, enable different types of searches for different skill levels and preferences.
No support required.
13.8 Place distinguishing information at the beginning of headings, paragraphs, lists, etc.
No support required.
13.9 Provide information about document collections (i.e., documents comprising multiple pages.).
Could support metadata (schema, LINK).
13.10 Provide a means to skip over multi-line ASCII art.
No support required (unless marked up with a schema).
14.2 Supplement text with graphic or auditory presentations where they will facilitate comprehension of the page.
No support required. However, could render text as speech.
14.3 Create a style of presentation that is consistent across pages.
No support required.

And if you use images and image maps (Priority 3)

1.5 Until user agents render text equivalents for client-side image map links, provide redundant text links for each active region of a client-side image map.
Covered by 5.2.1.

And if you use tables (Priority 3)

5.5 Provide summaries for tables.
Covered by guideline 5.4 and support for HTML access features.
5.6 Provide abbreviations for header labels.
Covered by guideline 5.4 and support for HTML access features.
10.3 Until user agents (including assistive technologies) render side-by-side text correctly, provide a linear text alternative (on the current page or some other) for all tables that lay out text in parallel, word-wrapped columns.
Legacy issue. Support for CSS2 will help.

And if you use forms (Priority 3)

10.4 Until user agents handle empty controls correctly, include default, place-holding characters in edit boxes and text areas.
Legacy issue.
Ian Jacobs