@@ THIS IS NOT COMPLETE. I'VE GOTTEN DOWN TO "@@@ LRK GOT TO
HERE"
In case anyone wants to offer feedback for what I'm doing so far.
@@LRK Wendy, Chris: I put in some additional edits in addition to the wording
changes we talked about. I labeled them "@@LRK" which you will want
to edit out
This document describes techniques that may be used by software programs
in evaluating the conformance of HTML documents to
The Web Content Accessibility
Guidelines 1.0. It also describes methods that may be used in software
programs for modifying HTML documents so that they conform to these guidelines.
This is a W3C Working Draft for review by the Evaluation and Repair Tools
Working Group and other invited parties. It has not been reviewed by the
WAI Interest Group. 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". A list of current W3C Recommendations and other technical documents
can be found at http://www.w3.org/TR.
Please send comments on this document to
w3c-wai-er-ig@w3.org.
To do
-
Install publishing scripts. Primary benefit is to generate the table of contents
so we don't have to manage that by hand.
-
Clean up all of the @@'s (editor questions and comments).
-
Use numbers rather than letters to distinguish Techniques (e.g., convert
1.1.A into 1.1.1).
-
Check for consistent language usage.
-
Link to WCAG Techniques and EO Curriculum where appropriate.
-
Use WCAG notes or rationale as example language where possible, unless we
have something clearer.
-
Inherit all of the reference info between checkpoints from WCAG (e.g., at
the end of Checkpoint 10.1, "refer also to Checkpoint 12.4").
-
Determine if we want to use "author" or "user." Then check for consistent
usage.
-
Determine if we want to use "document" or "page." Then check for consistent
usage.
-
Clean up usage of capitalization and <strong> on HTML elements and
attributes. Use as WCAG does: elements are capitalized, no emphasis (e.g.,
IMG), attributes are lower-case and in quotes (e.g., "alt" or "longdesc").
-
Ensure that "Web" is capitalized consistently.
-
Resolve open
issues.
-
@@Table of contents to go here
The Web Accessibility Initiative (WAI) has produced a foundation document,
The WAI Web Content Accessibility
Guidelines (WCAG 1.0), that describes what must be done to make a Web
page accessible to all. Tools are needed to help authors determine if a web
site is accessible to everyone and to help repair it if it is not.
This document builds on the WCAG 1.0 foundation by outlining techniques that
evaluation and repair tools may use to uncover accessibility problems and
possibly repair them. These techniques may be used by those who create web
authoring tools or by anyone interested in creating accessible Web documents.
It is important that people with disabilities are included in the "anyone
interested in creating accessible Web content." Creating accessible Web content
is as important as accessing Web content. Therefore, evaluation and repair
tools themselves need to be accessible to people with disabilities. However,
this document does not describe how to make the user interface accessible.
Please refer to the
Authoring Tool
Accessibility Guidelines 1.0
@@LRK made that a link
for information on making the user interface accessible.
Many people using evaluation and repair tools may be new to the Web and will
not be familiar with the various markup languages that are used. Many others
will not know about Web accessibility. Tools should be intuitive and easy
to use and available at a minimal cost. Tools should not generate excessive
warnings or false positive accessibility errors.
Some of the web-content accessibility checkpoints cannot be checked successfully
by software algorithms alone. There will still be a dependence on the user's
ability to
use common sense exercise human judgment @@LRK
to determine conformance to the guidelines. It is imperative that any tool
have features that assist in reminding, without nagging; in helping, without
demeaning; in suggesting, without demanding. We hope that the techniques
in this document, implemented in software programs, will gently guide authors
along the path to more accessible documents.
Structure Of This Document
This document is based on The
WAI Web Content Accessibility Guidelines.
@@LRK rest of this section was edited.
It lists each guideline and checkpoint in in that document Under each checkpoint
it lists one or more techniques for evaluating and, in some cases, repair.
Each technique comrises the following subsections:
-
Discussion status
-
This tells whether this technique has been fully discussed by the WAI group.
@@LRK: delete"discussion status" when we publish?
-
Evaluation test condition:
-
The algorithic and heuristic tests that will be applied. consisting of
-
Elements - the elements to which this test applies, e.g.
<IMG> etc. If it only applies to an Element of a particular type, this
is noted (e.g. <INPUT TYPE="image">
-
Requirements - the conditions which will be tested for by
means of algorithms and heuristics.
Note: in a few cases, the warning is always presented.
-
Example of a message to be displayed:
-
Messages displayed to the author if the element is found and the requirement
is not satisfied.
-
Additional actions:
-
Further action to be taken if the element is found and the requirement is
not satisfied.
-
Test Files:
-
Used to test evaluation tools to see if they find the accessibility problem.
-
Discussion Files:
-
Discussion and comments on the technique.
Note. This document specifies only the function of evaluation
and repair tools. Nothing in this document should be taken to imply a particular
user interface.
Guideline 1. Provide equivalent
alternatives to auditory and visual content.
Checkpoint 1.1 - Provide a
text equivalent for every non-text element.
Technique 1.1.1 [priority
1] Check IMG elements for valid "alt" attribute
Discussion Status:
Evaluation:
-
Element: <IMG>
-
Requirements: ALT attribute is valid
Definition of valid ALT attribute:
Note: We're awaiting word from GL on null and blank alt text. See discussion
at
http://lists.w3.org/Archives/Public/w3c-wai-er-ig/1999Jun/0050.html
especially part about null or blank alt text for links.
-
ALT attribute must exist
-
Not allowed - NULL ALT value (ALT="")
-
Allowed - ALT value of 1 or more spaces (ALT=" ") but only if image is not
within an ANCHOR element
-
Suspicious - ALT attribute value could be file size (ends with "bytes")
-
Suspicious - ALT attribute value ends with image file
suffix.
-
Suspicious - ALT attribute value is placeholder ALT
text.
-
Suspicious - ALT attribute value is longer than 150 characters. Suggest that
a LONGDESC file be created.
Example of a message to be displayed:
-
Missing ALT text: Missing alternate text for image.
-
Suspicious ALT text: Suspicious alternate text for image: [current ALT text]
- [could be file size | could be file name | could be placeholder text |
alternate text should be short, perhaps this could be a LONGDESC].
-
Invalid ALT text: Invalid alternate text for image: [alternate text can not
be empty].
Additional actions:
-
Prompt the user for alternate text for the image.
-
If the document contains another instance of the image and that image contains
ALT text, suggest that ALT text.
-
If the image is assumed to be a bullet, suggested
text should be "bullet".
-
If the image is assumed to be a horizontal rule,
suggested text should be "horizontal rule".
-
Other suggestions by Dasniel
Dardailler
-
Suggestions by
Michael Vorburger
-
After user has entered ALT text for the image, check the site for other instances
of the image. If the site contains other images that are the same and they
do not have ALT text, suggest that all same images without ALT text use the
new ALT text.
Test Files and Discussion Files:
Technique 1.1.2 [priority
1] Verify that valid IMG element descriptions ("longdesc" attribute or d-link)
are provided where necessary
Discussion Status:
Evaluation:
-
Element: <IMG>
-
Requirements
-
valid LONDESC OR
-
"Simple" image
Images that are "simple" and therefore do not require a LONGDESC or
descriptive link:
Definition of Valid LONGDESC URI:
Example of a message to be displayed:
-
If the content of this image is complex and is not fully described in the
document in which it appears, you need to provide a descriptive text link
for it.
Additional actions:
-
Ask user if the image is complex. If the image is complex, ask if the document
adequately describes the image. If image is complex and there is not a
description in the document, allow the user to create or associate a LONGDESC
file with the IMG element.
-
Ask the user if the document adequately describes the image. If the image
is complex and there is not a description in the document, allow the user
to create or associate a descriptive file and descriptive link.
-
If another document on the same site uses the same image and has a LONGDESC,
suggest that LONGDESC file.
Test Files and Discussion Files:
Technique 1.1.3 [priority
1] Check INPUT elements of type="image" for valid "alt" attribute
Discussion Status:
Evaluation:
-
element: <INPUT TYPE="image">
-
Requirement: ALT attribute is valid.
Definition of valid vs. invalid value for ALT text:
-
ALT attribute must exist
-
Not valid - NULL ALT value (ALT="")
-
Not valid - ALT value of 1 or more spaces (ALT=" ")
-
Suspicious - ALT attribute value could be file size (ends with "bytes")
-
Suspicious - ALT attribute value ends with image file
suffix.
-
Suspicious - ALT attribute value is placeholder ALT
text.
Example of a message to be displayed:
-
Missing ALT text: Missing alternate text for this button.
-
Suspicious ALT text: Suspicious alternate text for button: [current ALT text]
- [could be file size | could be file name | could be placeholder text].
-
Invalid ALT text: Invalid alternate text for button: [alternate text can
not be empty | alternate text can not contain only 'spaces'].
Repair Technique:
-
Prompt the user for alternate text.
-
If another document on the same site has an INPUT element with the same TYPE
value, suggest that type value.
Test Files and Discussion Files:
Technique 1.1.4 [priority
1] Check APPLET elements for valid HTML equivalent
Discussion Status:
Evaluation:
-
Element: <APPLET>
-
Requirement:
-
Valid ALT attribute OR
-
accessible HTML within APPLET element @@LRK: changed text to
any accessible HTML
Valid ALT attribute text:
-
Not allowed - NULL "alt" attribute value (alt="")
-
Not allowed - "alt" attribute value of 1 or more spaces (ALT=" ")
-
Suspicious - "alt" attribute value could be file size (ends with "bytes")
-
Suspicious - "alt" attribute value ends with image file
suffix.
-
Suspicious - "alt" attribute value is placeholder ALT
text.
-
Suspicious - "alt" attribute ends with applet executable
suffix.
-
Allowed - no "alt" attribute if text is provided within the content of the
APPLET element.
Example of a message to be displayed:
-
Missing alt-text and alternative content: Applet must have valid ALT text
or accessible HTML content @@LRK changed from "Missing alternate text for
applet."
-
Suspicious alt-text: Suspicious alternate text for applet: [current alt-text]
- [could be file size | could be image file name | could be placeholder text
| could be applet executable name].
-
Invalid alt-text: Invalid alternate text for applet - [alternate text can
not be empty | alternate text can not be all 'spaces'].
Additional actions:
-
Prompt the user for alternate text.
-
If the same applet is used on the same site and has alt-text, suggest that
alt-text.
Test Files and Discussion Files:
@@LRK: deleted following since it's now redundant with 1.1.4
Technique 1.1.5
[priority 1] Verify that valid APPLET element descriptions are provided where
necessary
Discussion Status:
Evaluation:
-
Element: <APPLET>
-
Condition betweeen start element and APPLET end element must be a
valid text element or a valid link to a URI.
@@LRK ISSUE: isn't this redundant with 1.1.4?
Valid text element:
-
Must contain at least one word of text or a valid URI
-
Suspicious - alternative content is placeholder
ALT text.
-
Suspicious - alternative content could be file size (ends with
"bytes")
-
Suspicious - ALT attribute could be applet file name (ends with
applet executable suffix). The alternative content
text should not match the CODE attribute value of the APPLET.
Example of a message to be displayed:
-
Missing alternative content: Missing alternative content for
applet.
-
Suspicious alternative content: Suspicious alternative content for
applet: [current alternative content] - [could be placeholder text | could
be file size | could be applet file name].
Repair Technique:
-
Prompt user for alternative context text for applet.
-
If the site has a document that contains the same applet and that
applet has valid alternative content, suggest that alternative
content.
Test Files and Discussion Files:
Link to test files
for this technique.
Technique 1.1.6 [priority
1] Check OBJECT elements of type="<image MIME types>" for valid text
equivalents and descriptions (where necessary)
Discussion Status:
Evaluation:
-
Element: <OBJECT>
-
Condition: between start element and OBJECT end element must be a valid
alternative representation element.
Valid alternative representation element:
-
A text element with at least one word of text.
-
An IMG element with valid ALT text
-
A valid URI
-
Suspicious - ALT attribute value is placeholder OBJECT
ALT text
Example of a message to be displayed:
-
Missing alternative representation: Missing alternative representation for
this object.
-
Suspicious alternative representation: Suspicious alternative representation
for this object: [current alternative representation] - [could be placeholder
text]
Additional actions:
-
Prompt user for new alternative representation.
-
If the site contains a document that contains the same object and that object
contains a valid alternative representation, suggest that alternative
representation.
Test Files and Discussion Files:
Link to test files
for this technique.
@@LRK: divided 1.1.7 into two cases: "linked" and "embedded" audio
since the tests are Additional actions: are different.(is "linked" proper
terminology for object?)
Technique 1.1.7a [priority
1] Verify that text equivalents are provided for linked audio files
where necessary
Discussion Status:
Evaluation:
Example of a message to be displayed:
-
Audio files require a text equivalent. Is there an associated text equivalent
for this audio file: [audio file name]?
Additional actions:
-
Prompt user for text transcript of audio file.
Test Files and Discussion Files: @@LRK: if we leave 1.1.7a and 1.1.7b split
we'll have to split the files too.
Link to test files
for this technique.
Technique 1.1.7b [priority
1] Verify that text equivalents are provided for embedded audio
files where necessary
-
Elements: <OBJECT TYPE=Audio or Video MIME TYPE>
-
Condition: There must be text or other accessible HTML between the start
and end tag (recursively check embedded objects)
Example of a message to be displayed:
-
Embedded Audio files must provide accessible text or other accessible HTML.
@@LRK: changed from "Is there an associated text equivalent?"
Additional actions:
-
Prompt user for text transcript of audio file and embed it between start
and end tag. @@changed by LRK
Test Files and Discussion Files:
Technique 1.1.8a [priority
1] Check FRAME elements for valid "longdesc" attribute
Discussion Status:
Evaluation:
-
element: <FRAMESET>
-
condition:
-
Valid Title OR
-
Valid LONGDESC
-
If a FRAMESET has three or more frames and does not have a "longdesc" attribute,
ask the user if the relationships between frames are not apparent in the
titles for each frame.
@@LRK:: I don't understand why this is only for 3 or more frames. It
we omit that aspect, then this becomes identical to the <FRAME> test
and we can fold them back together
Valid "longdesc" file name:
-
Must not be NULL
-
Must be a valid URI
-
The file pointed to by the URI must be accessible HTML @@LRK:: Added
Example of a message to be displayed:
-
Missing "longdesc": Missing 'long description' file for this frameset.
-
Invalid "longdesc" file name: Invalid 'long description' file name for this
frameset: [current "longdesc" file name] - [can not be empty].
Additional actions:
-
If the relationships betweeen frames are not obvious then ask that they provide
a description of the relationships. Allow the user to create a "longdesc"
file or associate an existing "longdesc" file. It is suggested that each
FRAME in the FRAMESET reference the same "londesc" as the description of
the relationships should be available from each FRAME.
@@LRK see above comment about 3 frames
Test Files and Discussion Files:
Technique 1.1.8a [priority
1] Check FRAME elements for valid "longdesc" attribute
Discussion Status:
Evaluation:
-
element: <FRAME>
-
condition:
-
Valid Title OR
-
Valid LONGDESC
See Techniques for checkpoint 12.1
Valid "longdesc" file name:
-
Must not be NULL
-
Must be a valid URI
-
The file pointed to by the URI must be accessible HTML @@LRK:: Added
Example of a message to be displayed:
-
Missing "longdesc": Missing 'long description' file for this frame.
-
Invalid "longdesc" file name: Invalid 'long description' file name for this
frame: [current "longdesc" file name] - [can not be empty].
-
Inaccessible content pointed to by URI: (Recursively apply all tool checks
to pointed at file) @@LRK:: added
Additional actions:
-
Prompt user to enter URI.
-
Provide means to create page pointed to by URI, e.g. @@LRK addition
-
text field that will be placed in body of new file
-
bring up user-specified editor to create page.
Test Files and Discussion Files:
Technique 1.1.9b [priority
1] Check AREA elements for valid "alt" attribute
Discussion Status:
Evaluation:
-
element:<AREA>
-
requirement: elements must have a valid ALT attribute.
Valid ALT attribute:
-
Not allowed - NULL ALT value (ALT="")
-
Suspicious - ALT attribute value is placeholder ALT
text.
-
@@is this complete?
Example of a message to be displayed:
-
Missing ALT text: Missing ALT text for this image map area.
-
Suspicious LONGDESC: Suspicious ALT text for this image map area: [current
ALT text].
Additional actions:
Prompt user for ALT text for the area element.
Test Files and Discussion Files:
Technique 1.1.10 [priority
1] Check SCRIPT elements for valid equivalents where necessary
Discussion Status:
Evaluation:
-
element: <SCRIPT>
-
requirement:
-
<NOSCRIPT> element before end tag AND
-
Accessible HTML following the <NOSCRIPT>. "Accessible" means
apply all test in this document. @@LRK: changed "text" to "Accessible
HTML". I'm goint to continue doing that for the rest, but silently.
Example of a message to be displayed:
-
Language for missing NOSCRIPT: Missing NOSCRIPT element for this SCRIPT element.
-
If contained HTML not accessible: NOSCRIPT contains inaccessible HTML (followed
by messages corresponding to problems)
Additional actions:
-
Insert NOSCRIPT
-
Provide means to insert text, hand coded HTML, or HTML imported from specified
Editor @@LRK added
Test Files and Discussion Files:
Technique 1.1.11 [priority 1] Check A elements for valid text content
@@No information at this time.
Technique 1.1.12 [priority
1] Verify that valid text equivalents are provided for PRE and XMP elements
used to create ASCII art.
Discussion Status:
Evaluation:
-
Always generate except if the page is a frameset @@LRK changed
from <BODY> since HTML 4 doesn't require "BODY"
@@Note: We are still working on methods of determining if a document contains
ASCII art. If we can't find a suitable algorithm that finds ASCII art then
all pages will get a notification.
ASCII Art Discussion
Page
Example of a message to be displayed:
-
If there is any ASCII art in this document then please give it a textual
description.
Additional actions:
-
Prompt user for descriptions of any ASCII art contained in the document.
Test Files and Discussion Files:
Checkpoint 1.2 - Provide redundant
text links for each active region of a server-side image map.
Technique 1.2.1 [priority
1] Verify that a server-side image map has associated text links.
@@LRK: Issue: Text links only priority 3 if the same image also has a client
side map (images can have both). This is an issue I raised with WCAG.
Discussion Status:
Evaluation:
-
element: <IMG ISMAP>
-
Requirement: valid "usemap" attribute
Valid "ismap" usemap attribute: @@LRK
Example of a message to be displayed:
-
Server-side image maps should have associated text links in the document.
Additional actions:
-
Prompt the user for associated text links OR
-
help the user convert the server-side image map to a client-side image map
and provide text-equivalents for each link in the client-side image map.
-
If possible, check the text links against the links contained on the server-side
image map by @@LRK added
-
aking user to upload the server side definition file if it's a standard format
or
-
pinging the image map with random coordinates and seeing if all returned
pages correspond to the links.
Test Files and Discussion Files:
Checkpoint 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.
Technique 1.3.A [priority
1] User Notification for audio description.
Discussion Status:
Evaluation:
-
elements: <any_tag any_attribute=multimedia_uri>, <OBJECT
TYPE=any_multimedia_type> @@LRK: is this correct and complete?
@@
-
Multimedia presentations should have an associated audio description.
Additional actions:
Test Files and Discussion Files:
@@@ LRK GOT TO HERE 3/1/2000 5:19 PM
Checkpoint 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.
Technique 1.4.A [priority
1] User Notification for synchronized alternatives.
Discussion Status:
Evaluation:
-
Any multimedia object will generate a user notification
Example of a message to be displayed:
-
For any time-based multimedia presentation (e.g., a movie or animation),
synchronize equivalent alternatives
Additional actions:
Test Files and Discussion Files:
Technique 1.4.B [priority 1] Check SMIL files for synchronized media
Discussion Status:
Evaluation:
-
Check SMIL files for captions and auditory descriptions.
Example of a message to be displayed:
Actions:
Test Files and Discussion Files:
Checkpoint 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
Technique 1.5.A [priority
3] Prompt user for text links if USEMAP used.
Discussion Status:
Evaluation:
-
If an IMG element has a valid USEMAP attribute, prompt the
user for associated text links.
-
Associated text links may be found by searching the document for anchors
with HREF values that correspond to the AREA elements in the given USEMAP.
Valid USEMAP attribute:
Example of a message to be displayed:
-
Client-side image maps should have associated text links.
Additional actions:
-
Ask the user if there are associated text links for this image map.
-
If there are not associated text links, allow the user to create them.
Test Files and Discussion Files:
Guideline 2. Don't rely on color
alone.
Checkpoint 2.1 - Ensure that
all information conveyed with color is also available without color, for
example from context or markup.
Technique 2.1.1 [priority
1] User notification for color use
Discussion Status:
Evaluation:
Display a user notification if the document contains any of the following
elements:
-
IMG
-
APPLET
-
OBJECT
-
SCRIPT
-
INPUT
-
as well as the HTML elements and attributes listed in the next technique
(2.2.1).
Example of a message to be displayed:
-
Ensure that information is not conveyed through color alone. For example,
when asking for input from users, do not write "Please select an item from
those listed in green." Instead, ensure that information is available through
other style effects (e.g., a font effect) and through context (e.g,.
comprehensive text links).
Additional actions:
-
The user notification will be displayed if any of the color-possible elements
are in the document.
Test Files and Discussion Files:
Checkpoint 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.
Technique 2.2.1 [priority
3] Test the color attributes of the following elements for visibility:
Discussion Status:
Evaluation:
Test the following elements and attributes for color visibility
Color visibility can be determined according to the following algorithm:
(This is a suggested algorithm that is still open to change.)
Two colors provide good color visibility if the brightness difference and
the color difference between the two colors are greater than a set range.
Color brightness is determined by the following formula:
((Red value X 299) + (Green value X 587) + (Blue value X 114)) / 1000
Note: This algorithm is taken from a formula for converting RGB values to
YIQ values. This brightness value gives a perceived brightness for a color.
Color difference is determined by the following formula:
(maximum (Red value 1, Red value 2) - minimum (Red value 1, Red value 2))
+ (maximum (Green value 1, Green value 2) - minimum (Green value 1, Green
value 2)) + (maximum (Blue value 1, Blue value 2) - minimum (Blue value 1,
Blue value 2))
The rage for color brightness difference is 125. The range for color difference
is 500.
Example of a message to be displayed:
-
Poor visibility between text and background colors.
Additional actions:
-
Allow the user to change the offending colors.
-
Store any good color combinations entered by the user and use them as default
prompts in the future.
Test Files and Discussion Files:
Guideline 3. Use markup and style
sheets and do so properly
Checkpoint 3.1 - When an
appropriate markup language exists, use markup rather than images to convey
information
Technique 3.1.1 [priority
2] Verify that elements do not need to be converted to an appropriate markup
language
Discussion Status:
Evaluation:
Elements that will trigger this evaluation:
Example of a message to be displayed:
-
When an appropriate markup language exists, use markup rather than images
to convey information. For example, use MathML to mark up mathematical equations,
and style sheets to format text and control layout.
Additional actions:
-
The user notification will be generated for each document.
-
Help authors convert decorative ascii art in PRE elements to SVG or an image
format.
-
Help authors convert ascii art represeting tables of data in PRE elements
to TABLE elements.
-
Help authors convert images (IMG or OBJECT) used to format text to XHTML/XML
with style sheets.
-
Help authors convert images (IMG or OBJECT) used to format mathematical equations
to MathML.
Checkpoint 3.2 - Create documents
that validate to published formal grammars
Technique 3.2.1 [priority
2] Check document for public text identifier
Discussion Status:
-
awaiting discussion
-
@@reference BizTalk and OASIS catalogs?
Evaluation:
-
Check the document for a public text identifier.
From the HTML
4 spec, section 7.2: "A valid HTML document declares what version of
HTML is used in the document. The document type declaration names the document
type definition (DTD) in use for the document. " A
list of public text
identifiers is available from the W3C.
-
If a public text identifier is not present, check for an HTML element as
the outermost markup tag (excluding comments, processing instructions, etc.).
-
An error exists in the document If the markup language can not be determined.
Example of a message to be displayed:
-
Missing language identifier for this document.
Additional actions:
-
Prompt the user for a public text identifier.
Test Files and Discussion Files:
Checkpoint 3.3 - Use style
sheets to control layout and presentation
Technique 3.3.1 [priority
2] Check document for use of style sheets.
Discussion Status:
Evaluation:
-
Check the document for presence of STYLE or LINK
rel="stylesheet" elements within the HEAD element or use of "style" attributes
throughout the document.
-
Check for FONT and BASEFONT elements, and the "text," "vlink," "link," and
"alink" attributes on BODY.
-
If layout tables are identified (see technique 5.1.1), trigger this check
as well.
Example of a message to be displayed:
-
Use style sheets to control layout and presentation. For example, use the
CSS 'font' property instead of the HTML FONT and BASEFONT elements to control
font styles
Additional actions:
-
If none of these elements are identified, verify that the author has chosen
not to modify the presentation in any way.
-
If FONT or BASEFONT elements or "text," "vlink," "link," and "alink" attributes
on BODY, suggest or help the author convert the presentatin properties to
style sheets.
-
If the author chosses to convert deprecated markup to style sheets or add
style sheets, trigger technique 6.1 to verify that the document is readable
when style sheets are not applied.
Checkpoint 3.4 - Use relative
rather than absolute units in markup language attribute values and style
sheet property values
Technique 3.4.1 [priority
2] Check document for relative units of measure.
Discussion Status:
Evaluation:
-
For any HTML or CSS element defined to take a %LENGTH, %PIXELS, %MULTILENGTH,
or %MULTILENGTHS, a validated value should either end with "%" or begin with
"+" or "-" or use the "em" or "ex" units.
-
Exception: "width" and "height" attributes of IMG elements.
Example of a message to be displayed:
-
This element uses absolute units of measure rather than relative units of
measure.
Additional actions:
-
Allow user to change the units of measure.
Test Files and Discussion Files:
Checkpoint 3.5 - Use header
elements to convey document structure and use them according to specification
Technique 3.5.1 [priority
2] Check document for header nesting
Discussion Status:
Evaluation:
-
Header elements (H1-H6) should be checked to ensure they
are nested according to the following rules
-
Header levels must not increase by more than 1 level. Example: H2 following
H1 is good. H3 following H1 is bad.
-
Header elements can decrease by any level. Example: H2 following H5 is OK.
Example of a message to be displayed:
-
Improper header nesting: Header levels must not increase by more than one
level per heading. Do not use headings to create font effects; use style
sheets to change font styles.
Additional actions:
-
Allow user to modify the header numbering within the document.
Test Files and Discussion Files:
Technique 3.5.2 [priority
2] Check document for missing header markup
Discussion Status:
Evaluation:
-
Text elements within a paragraph should be checked to see
if they should be headings. Potential headings can be identified by:
-
Text elements occur within a paragraph and...
-
The paragraph is less than 10 words and...
-
The paragraph contains only text items or formatting elements and...
-
All text in the paragraph is formatted as bold and/or italics and/or underline.
Example of a message to be displayed:
-
Text has been identified that could possibly be a header. Is this text used
as a header: [potential header text]?
Additional actions:
-
Allow user to convert the text to a header.
Test Files and Discussion Files:
Technique 3.5.3 [priority
2] User notification of improper header use
Discussion Status:
Evaluation:
-
If the document contains any Header elements (H1- H6) that
contain a text string longer than 20 words then a user notification is presented.
Example of a message to be displayed:
-
Header elements (H1 - H6) should be used to define headers and should not
be used for formatting text.
Additional actions:
-
Allow the user to convert any header text to another type. Possible types
are:
-
Paragraph
-
Blockquote
Checkpoint 3.6 - Mark up lists
and list items properly
Technique 3.6.1 [priority 2] Check that list elements are within a list container
and well nested.
Discussion Status:
Evaluation:
-
Not allowed: LI element used outside of an OL, UL, DIR, or MENU element.
-
Not allowed: DT or DD element used outside of a DL element
-
Suspicious: excessive nesting of lists. The following example indicates that
list markup is creating a formatting effect rather than indicating a list
structure:
<UL> <UL> <UL> <UL>
<LI>
</UL> </UL> </UL> </UL>
-
Suspicous: single list items within lists might indicate formatting rather
than structure. For example:
<UL><LI>
</UL>
<UL><LI>
</UL>
Example of a message to be displayed:
-
List items should not be used for formatting text.
Additional actions:
-
Allow the user to format the text within the LI element to another element.
Test Files and Discussion Files:
Checkpoint 3.7 - Mark up
quotations. Do not use quotation markup for formatting effects such as
indentation
Technique 3.7.1 [priority
2] Check document for missing quote markup
Discussion Status:
-
Q is not supported in today's browsers, thus converting quotes marks to Q
will basically be deleting the quote marks for all users. what do we suggest
in the meantime?
Evaluation:
-
Text elements should be tested to find text that should
be marked as Q or BLOCKQUOTE. Potential quotes can be identified by:
-
Any text that is enclosed by quote marks (" " or ' ').
Example of a message to be displayed:
-
The following text may need to be marked using Q or BLOCKQUOTE: [potential
quote text].
Additional actions:
-
Allow the user to convert blocks of text to Q or BLOCKQUOTE.
Test Files and Discussion Files:
Technique 3.7.B [priority
2] Check Q and BLOCKQUOTE to ensure they are used properly
Discussion Status:
Evaluation:
-
Q and BLOCKQUOTE elements should be checked
to ensure they enclose the correct type of quote.
-
Inline quotes (marked with Q) have at least one word in front of, or behind,
the quote text and are less than 10 words
-
Long quotes (marked with BLOCKQUOTE) are greater than 10 words.
Example of a message to be displayed:
-
If a block of text is marked as BLOCKQUOTE when it should be marked as Q:
This text should be marked as Q not BLOCKQUOTE: [quote text].
-
If a block of text is marked as Q when it should be marked as BLOCKQUOTE:
This text should be marked as BLOCKQUOTE not Q: [quote text].
Additional actions:
-
Allow the user to convert blocks of text to Q or BLOCKQUOTE.
Test Files and Discussion Files:
Technique 3.7.C [priority
2] User notification of improper BLOCKQUOTE or Q use
Discussion Status:
Evaluation:
-
If any BLOCKQUOTE elements are used in a document a user
notification will be generated.
-
If the text enclosed by BLOCKQUOTE has quote marks ("" or '') then do not
present this notification.
Example of a message to be displayed:
BLOCKQUOTE or Q elements should be used to define quotes and should not be
used for formatting text.
Additional actions:
-
Allow the user to format blocks of text to any of the following types:
-
Paragraph
Checkpoint 4.1 - Clearly identify
changes in the natural language of a document's text and any text equivalents
(e.g., captions)
Discussion Status:
Evaluation:
-
The BODY element will generate this notification if there
are 2 or more words within the body.
Example of a message to be displayed:
-
Any words or phrases in a document that are not in the primary language of
the document should be identified.
Additional actions:
-
Display the above warning and provide the following suggestions: For blocks
of text that are not in the primary language and are already enclosed by
markup elements such as Paragraph, DIV or EM, set the LANG attribute of the
markup element. For words or phrases that are not in the primary language,
enclose them with a SPAN element and set the SPAN element's LANG attribute.
Ensure that all captions and other text equivalents are checked.
Test Files and Discussion Files:
Checkpoint 4.2 - Specify the
expansion of each abbreviation or acronym in a document where it first occurs
Technique 4.2.A [priority
3] User notification of abbreviation and acronym expansion.
Discussion Status:
Evaluation:
-
The BODY element will generate this user notification.
Example of a message to be displayed:
-
Specify the expansion of each abbreviation or acronym in a document where
it first occurs.
Additional actions:
Test Files and Discussion Files:
Technique 4.3.1 [priority
3] Verify the primary language of the document
Discussion Status:
Evaluation:
-
HTML element must contain a valid "lang" attribute
Allowed LANG attributes:
Example of a message to be displayed:
-
Missing "lang" attribute: The primary language of this document has not been
set.
-
Invalid "lang" attribute: The primary language of this document is invalid.
Additional actions:
-
Prompt the user for the primary language of the document.
-
Ensure that the language entered is one of the
ISO 639 language
codes.
Test Files and Discussion Files:
Technique 5.1.1 Determine
the purpose of the table
Discussion Status:
The purpose of the table must be determined before performing an accessibility
evaluation. To help the page author in making this assessment, the following
language may be used:
Example of a message to be displayed:
-
Data tables present relational data such as a bus schedule, a comparison
of regional sales figures, or a listing of employee contact information.
Cells in data tables are related to each other and usually must be perceived
as a group.
-
Layout tables visually format images, text, and other information on the
page such as a navigation bar, or a newspaper page with stories, links, and
images. Each cell in a layout table is normally independent and can be viewed
on its own.
Technique 5.1.2 [priority
1] Check the table for row and column headers
Discussion Status:
Evaluation:
-
A TABLE element will trigger this evaluation.
-
If the table has one complete row of headers and one complete column of headers
then assume the table has adequate headers.
-
This technique applies only to tables used for data, not to tables used for
layout purposes.
Example of a message to be displayed:
-
If both row and column headers are missing: Table is missing headers.
-
If either row or column headers are missing: Table has row/column headers
but may require column/row headers.
Additional actions:
-
Allow the user to modify the table to include row headers and/or column headers.
-
Allow the user to convert the top row and/or the left column to headers.
-
The user should create at least one complete row or one complete column of
headers.
Test Files and Discussion Files:
Technique 5.2.1 - [Priority
1] Check tables for multiple levels of row and column headers
Discussion Status:
Evaluation:
-
A TABLE element will trigger this evaluation.
-
The table must contain at least 4 rows or 4 columns.
-
This technique applies only to tables used for data, not tables used for
layout.
-
If the table contains TD or TH elements that have SCOPE, AXIS or HEADERS
attributes then assume that the page author has already dealt with this issue.
-
Ask the page author if the table has 2 or more logical levels of row or column
headers.
Example of a message to be displayed:
-
Your table should identify structural groups of rows and groups of columns.
Label table elements with the "scope", "headers", and "axis" attributes so
that future browsers and assistive technologies will be able to select data
from your table by filtering on categories.
Additional actions:
-
If the table does contain 2 or more logical levels of row or column headers,
use the
HTML 4 table algorithm to show the author how the headers are currently
associated with the cells. If the author determines that the current mark-up
is not sufficient, allow the author to markup the table TD or TH elements
with SCOPE, AXIS or HEADERS attributes.
Technique 5.3.1 [priority
2] Verify that layout tables make sense when linearized
Discussion Status:
Evaluation:
-
A TABLE element will trigger this evaluation.
-
This technique applies only to tables used for layout purposes, not to data
tables.
Example of a message to be displayed:
-
Tables used for layout should make sense when linearized.
-
When a table is 'linearized,' the cells are read in the order in which they
appear in the HTML source.
Additional actions:
-
Linearize the table and ask the author to verify that the result is
understandable.
Test Files and Discussion Files:
Technique 5.4.1 [priority
2] Check layout tables for structural markup
Discussion Status:
Evaluation:
-
A TABLE element will trigger this evaluation.
-
This technique applies only to tables used for layout purposes, not data
tables.
-
If the table is used for layout purposes, check table for any TH elements.
Example of a message to be displayed:
-
Tables used for layout should not use structural markup (TH elements).
Additional actions:
Test Files and Discussion Files:
Technique 5.5.1 [priority
3] Check TABLE elements for valid "summary" attribute
Discussion Status:
Evaluation:
-
TABLE elements should have a valid "summary" attribute for
table where it is difficult to determine the relationship among cells. A
summary is especially important for tables with nested headings, cells that
span multiple columns or rows, or other relationships that may not be obvious
from analyzing the structure of the table but that may be apparent in a visual
rendering of the table.
-
If a CAPTION element is not provided, providing a summary might be even more
critical, depending on how hard the table it to decipher.
Valid SUMMARY attributes:
-
Not allowed - NULL SUMMARY value ("")
-
Not allowed - SUMMARY value of spaces (" ")
-
Suspicious - SUMMARY value of placeholder SUMMARY
values
Example of a message to be displayed:
-
For missing summary - "Table is missing a summary."
-
Suggested prompt to user - "In the summary, describe the purpose of the table
(either layout or data). For example ''This table charts the number of cups
of coffee consumed by each senator, the type of coffee (decaf or regular),
and whether taken with sugar.
-
Additional help text: A summary of the relationships among cells is especially
important for tables with nested headings, cells that span multiple columns
or rows, or other relationships that may not be obvious from analyzing the
structure of the table but that may be apparent in a visual rendering of
the table. A summary may also describe how the table fits into the context
of the current document. If no caption is provided, it is even more critical
to provide a summary.
Additional actions:
-
Allow the user to enter a summary of the table.
Test Files and Discussion Files:
Technique 5.5.2 [priority 3] Check TABLE elements for valid CAPTION element
Discussion Status:
Evaluation:
-
Verify that the TABLE element should have a valid CAPTION element.
Example of a message to be displayed:
-
This TABLE does not have a CAPTION: A table caption describes the nature
of the table in one to three sentences. For example, "Cups of coffee consumed
by each senator."
Additional actions:
-
Allow the author to enter a CAPTION.
Technique 5.6.1 [priority
3] Check table for header abbreviations
Discussion Status:
-
under discussion
-
How determine if an abbreviation is pronounceable? ASCII characters only?
Evaluation:
-
TH elements should have a valid ABBR attribute if the header
name is greater than 15 characters.
Valid ABBR attributes:
-
Not allowed - NULL ABBR value ("")
-
Not allowed - ABBR value of spaces (" ")
-
Suspicious - ABBR value of placeholder ABBR values
-
ABBR values should be shorter than 15 characters, but still pronounceable.
Example of a message to be displayed:
-
Table header is missing an abbreviation.
Additional actions:
-
Allow user to enter abbreviations for table header elements.
Test Files and Discussion Files:
Guideline 6. Ensure that pages featuring
new technologies transform gracefully
Checkpoint 6.1 - Organize
documents so they may be read without style sheets
Technique 6.1.1 [priority
1] Verify that the document is readable when style sheets are not applied.
Discussion Status:
Evaluation:
Triggers:
-
LINK element with a REL attribute set to 'stylesheet,'
-
STYLE element,
-
At least one "style" attribute used on any element.
Example of a message to be displayed:
-
Ensure this document can be read without stylesheets.
Additional actions:
Test Files and Discussion Files:
Checkpoint 6.2 - Ensure that
equivalents for dynamic content are updated when the dynamic content changes
Technique 6.2.1 [priority
1] Check the source of FRAME and IFRAME elements for valid markup files.
Discussion Status:
Evaluation:
-
FRAME or IFRAME "src" attribute is not a valid markup file.
In other words it must be an HTML, XHTML, SMIL, MathML, or other valid markup.
-
Valid "src" attribute values must have a suffix of ".htm," ".html," ".shtm,"
".shtml," ".cfm," ".cfml," ".asp," ".cgi," ".pl" (what are the extensions
for SMIL and MathML files?) or have a known public identifier at the
top of file.
Example of a message to be displayed:
-
Frame source: [frame source file name] is not a valid markup file.
Additional actions:
Test Files and Discussion Files:
Technique 6.2.2 [priority
1] Verify that equivalents of dynamic content are updated and available as
often as the dynamic content.
@@Yikes, is that really what we want to say here? This gets into issues
related to Guideline 7. I guess we could tie them together in some way...?
Discussion Status:
Evaluation:
Triggers
-
SCRIPT elements
-
APPLET elements
-
OBJECT elements of type = (@@what are the type attribute values for Java,
etc.?)
-
Scripting events within any element, for example "onmouseover" on an IMG
element.
Example of a message to be displayed:
-
Ensure that the descriptions of dynamic content are updated with changes
in the dynamic content.
Additional actions:
Test Files and Discussion Files:
Checkpoint 6.3 - Ensure that
pages are usable when scripts, applets, or other programmatic objects are
turned off or not supported
Technique 6.3.1 [priority
1] Verify that the page is usable when programatic objects are disabled.
Discussion Status:
Evaluation:
Triggered by:
-
SCRIPT
-
OBJECT elements of type = (@@what are the type attribute values for Java,
etc.?)
-
EMBED
-
APPLET
Example of a message to be displayed:
-
Ensure that pages are usable when scripts, applets, or other programmatic
objects are turned off or not supported
Additional actions:
Test Files and Discussion Files:
Checkpoint 6.4 - For scripts
and applets, ensure that event handlers are input device-independent
Technique 6.4.1 [priority
2] User notification of device independent event handlers.
Discussion Status:
Evaluation:
-
Any programatic object will generate this user notification.
-
Programatic objects are: applets, scripts, objects, or embeds
Example of a message to be displayed:
-
For scripts and applets, ensure that event handlers are input device-independent.
Additional actions:
Test Files and Discussion Files:
Checkpoint 6.5 - Ensure that
dynamic content is accessible or provide an alternative presentation or page
Technique 6.5.1 [priority
2] Check that a NOFRAMES element exists within each FRAMESET.
Discussion Status:
Evaluation:
-
A valid NOFRAMES element should exist within each FRAMESET.
-
The contents of the NOFRAMEs element must allow the user access to the site.
-
Not allowed: Telling the user that they should upgrade to a browser that
supports frames is not allowed. Suspicious words within the text a NOFRAMES
element: "upgrade," "full advantage," supports frames," "missing" etc.
Example of a message to be displayed:
-
Does your page work if frames are not loaded?
Additional actions:
-
Allow user to construct a valid NOFRAMES.
Test Files and Discussion Files:
Technique 6.6.A [priority 2] Verify that programmatic objects are directly
accessible.
Discussion Status:
-
awaiting discussion
-
@@Relation to 8.1.A and 9.2??
Evaluation:
Triggered by:
-
SCRIPT
-
OBJECT elements of type = (@@what are the type attribute values for Java,
etc.?)
-
EMBED
-
APPLET
Example of a message to be displayed:
-
Ensure that scripts, applets, or other programmatic objects are directly
accessible.
Additional actions:
Test Files and Discussion Files:
Guideline 7. Ensure user control
of time-sensitive content changes
Checkpoint 7.1 - Until user
agents allow users to control flickering, avoid causing the screen to flicker
Technique 7.1.1 [priority
1] Verify that the page does not cause flicker.
Discussion Status:
-
awaiting discussion
-
It is desirable that a tool be able to measure flicker. This could be done
by software that renders, takes screenshots and compares.
[Len
Kasday, 23 January 2000]
Evaluation:
Triggered by:
-
SCRIPT
-
OBJECT elements of type = (@@what are the type attribute values for Java,
etc.?)
-
EMBED
-
APPLET
-
IMG elements of the type 'animated gif'.
Example of a message to be displayed:
-
Display flicker is distracting and may be dangerous to some users. Please
ensure this element does not cause the display to flicker.
Additional actions:
Test Files and Discussion Files:
Checkpoint 7.2 - Until user
agents allow users to control blinking, avoid causing content to blink
Discussion Status:
Evaluation:
-
Find any BLINK elements in the document.
Example of a message to be displayed:
-
BLINK elements are not defined in any W3C HTML specification and should not
be used.
Additional actions:
Test Files and Discussion Files:
Checkpoint 7.3 - Until user
agents allow users to freeze moving content, avoid movement in pages
Discussion Status:
Evaluation:
-
Find any MARQUEE elements in the document.
Example of a message to be displayed:
-
MARQUEE elements are not defined in any W3C HTML specification and should
not be used.
Additional actions:
Test Files and Discussion Files:
Discussion Status:
Evaluation:
Triggered by:
-
SCRIPT - distinguished by
(see discussion)??
-
OBJECT elements of type = (@@what are the type attribute values for Java,
etc.?)
-
EMBED
-
APPLET
Example of a message to be displayed:
-
Moving text may be difficult to read and is inaccessible for many viewers.
Additional actions:
-
Allow the user to remove the SCRIPT from the document or create a mechanism
to stop the movement.
Test Files and Discussion Files:
Checkpoint 7.4 - Until user
agents provide the ability to stop the refresh, do not create periodically
auto-refreshing pages
Technique 7.4.A [priority
2] Remove auto-refresh attributes from META elements
Discussion Status:
Evaluation:
This technique will be triggered by:
-
A META element with an "http-equiv=refresh" attribute value and a "content"
attribute integer value greater than 0.
-
If the "content" attribute is a URI this is an auto-redirect page. Refer
to technique 7.5.1
Example of a message to be displayed:
-
This page uses auto-refresh which can make the page difficult to read for
some people.
Additional actions:
-
Allow user to remove the auto-refresh from the document.
Test Files and Discussion Files:
Checkpoint 7.5 - Until user
agents provide the ability to stop auto-redirect, do not use markup to redirect
pages automatically
Technique 7.5.1 [priority
2] Check auto-redirect attributes on META elements
Discussion Status:
Evaluation:
This technique will be triggered by:
-
A META element with the an "http-equiv=refresh" attribute
value and a "content" attribute value of a URI.
Example of a message to be displayed:
-
This page uses auto-redirect which can make the page difficult to read for
some people.
Additional actions:
-
Allow the user to remove the auto-redirect from the document.
Test Files and Discussion Files:
Guideline 8. Ensure direct accessibility
of embedded user interfaces
Checkpoint 8.1 - Make programmatic
elements such as scripts and applets directly accessible or compatible with
assistive technologies
Technique 8.1.A [priority
1 if functionality is important and not presented elsewhere, otherwise Priority
2] User notification if programmatic elements used
Discussion Status:
-
awaiting discussion
-
@@ relation to 6.6.A and 9.2
-
Tools should include means to test the embedded technologies, e.g. java,
at least by running them, preferably by including any test software supplied
for the technology.
[Len
Kasday - 23 January 2000]
Evaluation:
-
Search the document for any of the following elements: OBJECT, APPLET,
EMBED or SCRIPT.
Example of a message to be displayed:
-
This element may not be accessible to all users. Please ensure there is an
accessible interface to this object.
Additional actions:
-
If any programmatic elements are found in the document, provide a user
notification:
Guideline 9. Design for
device-independence
Checkpoint 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
Technique 9.1.1 [priority
1] Check for use of server-side image maps
Discussion Status:
Evaluation:
-
IMG element is a server-side image map if it contains an
"ismap" attribute and no "usemap" attribute.
Example of a message to be displayed:
-
Use client-side image maps instead of server-side maps.
Additional actions:
-
Allow the user to convert the server-side image map to a client-side image
map.
Test Files and Discussion Files:
Checkpoint 9.2 - Ensure that
any element that has its own interface can be operated in a device-independent
manner
(Image map text links - checked in techniques
1.2.A and 1.5.A.
@@Programmatic objects check in 6.5 and 8.1.A Need clarification.
Checkpoint 9.3 - For scripts,
specify logical event handlers rather than device-dependent event handlers
Technique 9.3.A [priority
2] Check scripts for logical event handlers
Discussion Status:
Evaluation:
The following event handlers will trigger this technique:
-
onMouseDown
-
onMouseUp
-
onClick
-
onMouseOver
-
onMouseOut
-
onMouseMove
Example of a message to be displayed:
-
For scripts, specify logical event handlers rather than device-dependent
event handlers.
Additional actions:
-
"onMouseDown" add or replace with "onKeyDown"
-
"onMouseUp" add or replace with "onKeyUp"
-
"onClick" add or replace with "onKeyPress"
-
"onMouseOver" add or replace with "onFocus"
-
"onMouseOut" add or replace with "onBlur"
-
"onMouseMove" remove or replace with ??
Test Files and Discussion Files:
Checkpoint 9.4 - Create a
logical tab order through links, form controls, and objects
Technique 9.4.1 [priority 3] Check for "tabindex" attribute
Discussion Status:
Evaluation:
Check the following elements for a "tabindex" attribute:
-
A
-
AREA
-
BUTTON
-
INPUT
-
OBJECT
-
SELECT
-
TEXTAREA
Example of a message to be displayed:
-
Create a logical tabbing order through this page. Some people like to skip
over site navigation bars that appear at the top of each page in a site.
To allow someone to tab over it, set the tab order of the page such that
the navigation bar one of the last objects.
Additional actions:
-
Show the author a list of all of the active elements and their current tab
order. Allow them to change the order either by changing the number of the
tabindex or dragging and dropping an object to where it ought to appear in
the list.
Test Files and Discussion Files:
Checkpoint 9.5 - Provide keyboard
shortcuts to important links, form controls, and groups of form controls
Technique 9.5.1 [priority 3] Check for "accesskey" attribute
Discussion Status:
Evaluation:
Check the following elements for an "accesskey" attribute:
-
A
-
AREA
-
BUTTON
-
INPUT
-
LABEL
-
LEGEND
-
TEXTAREA
Example of a message to be displayed:
-
Create short keys to important active elements on this page.
Additional actions:
Test Files and Discussion Files:
Checkpoint 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
Technique 10.1.1 [priority
1] Check A and AREA elements for valid "target" attributes
Discussion Status:
-
awaiting discussion
-
@@ how do we handle the "until user agents" clause?
Evaluation:
-
A and AREA elements should not have "target" attributes
of "_blank" or "_new".
-
A and AREA elements may have other "target" attribute values if there is
another existing window with the target name.
Example of a message to be displayed:
-
This Anchor element [anchor text] will open a new window that can be disorienting
for some users.
Additional actions:
-
Allow the user to remove the "target" attribute or use an existing window
as the target.
Test Files and Discussion Files:
Technique 10.1.2 [priority 1] Verify that scripts do not spawn new windows.
Discussion Status:
Evaluation:
-
Check for a JavaScript call to window.open()
-
@@other embedded scripting languages?
-
If not found, ask the author to confirm if scripts spawn new windows or not.
Example of a message to be displayed:
-
This script will open a new window that can be disorienting for some users.
Additional actions:
-
Allow the user to remove the scripting call or to replace it with ??@@
Test Files and Discussion Files:
Checkpoint 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
Technique 10.2.1 [priority 2] Verify that label controls are properly positioned.
Refer also to checkpoint 12.4
Discussion Status:
Evaluation:
Triggered by the following elements:
Example of a message to be displayed:
-
A label for a text area, a text input control or group of controls (e.g.,
a group of checkboxes) must immediately precede its control (or group of
controls) on the same line (if there is only one control or group) or be
in the line preceding the control (or group of controls).
Additional actions:
-
Allow the user to reposition labels associated with form controls as follows:
-
Labels for radio buttons and checkboxes should appear after the radio button
or checkbox. For example: [checkbox] oranges, [checkbox] apples.
-
Labels for text fields appear before the text field. For example: last name
[text area].
-
Labels for groups of any form control should appear before the group. For
example: choose a city [radio button] Boston [radio button] Madison.
Test Files and Discussion Files:
Checkpoint 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
Technique 10.3.1 [priority 3] Generate a linear text alternative for all
TABLEs.
Discussion Status:
Evaluation:
-
All TABLE elements will trigger this technique.
Example of a message to be displayed:
-
Please consult the definition of linearized table. This checkpoint benefits
people with user agents (such as some screen readers) that are unable to
handle blocks of text presented side-by-side; the checkpoint should not
discourage content developers from using tables to represent tabular information.
Additional actions:
-
If it has been determined that the table is used for layout (see Technique
5.1.1) then create a linear version of the table by: [@@insert heuristics
from table linearizer - basically replace TABLE markup with text structural
markup]. The author will then need to check that it is readable.
-
If it has been determined that the table is used for data (see Technique
5.1.1) then create a linear version of the table by: [@@table linearizer
heuristics? basically, for each cell repeat the column and row headers associated
with it]. The author will then need to check that it is readable.
Test Files and Discussion Files:
-
Table linearizer
-
Trace "HelpDB"
-
other examples
Checkpoint 10.4 - Until
user agents handle empty controls correctly, include default, place-holding
characters in edit boxes and text areas
Technique 10.4.1 [priority 3] Check for valid default values of INPUT, TEXTAREA,
and SELECT elements.
Discussion Status:
Evaluation:
-
Check INPUT elements of type="text" for valid "value" attribute.
-
Check INPUT elements of type="checkbox" or "radio" with the same "name" attribute
for one of them to have a "selected" attribute.
-
Check TEXTAREA for valid text content.
-
Check all OPTIONs in a SELECT element for one of them to have a "selected"
attribute.
Example of a message to be displayed:
Additional actions:
-
For INPUT elements of type="text" and TEXTAREA elements, ask the user for
default text or suggest a space.
-
For groups of radio buttons, checkboxes, and selection boxes, ask the user
to pick one to be the default.
Test Files and Discussion Files:
Checkpoint 10.5 - Until
user agents (including assistive technologies) render adjacent links distinctly,
include non-link, printable characters (surrounded by spaces) between adjacent
links
Technique 10.5.1 [priority 3] Check for non-whitespace characters between
consecutive A elements.
Discussion Status:
Evaluation:
-
Check for at least one non-whitespace character surrounded by at least one
whitespace character between every </A> and every <A> element.
Whitespace is a space, tab, CR, or
Example of a message to be displayed:
Additional actions:
-
Suggest that the author select to use vertical bars "|" between A elements,
but allow them to choose another character if they prefer. Insert the selected
character surrounded by white space between each </A> and <A>
element.
Test Files and Discussion Files:
Guideline 11. Use W3C technologies
and guidelines
Checkpoint 11.1 - Use W3C
technologies when they are available and appropriate for a task and use the
latest versions when supported
Technique 11.1.1 [priority 2] Verify that W3C technologies are used, where
possible and appropriate.
Discussion Status:
Evaluation:
-
Check for uses of non-W3C technologies such as: PDF, Flash, GIF images, JPG
images, proprietary HTML elements (@@other major ones??).
-
@@See 1.1.1 for images used for mathematical equations.
-
Note. I left out JavaScript because there is not a W3C equivalent technology
yet.
Example of a message to be displayed:
-
Non-W3C technology used: W3C technologies have been reviewed for accessibility
issues throughout the design phase and have accessibility built-in. Many
non-W3C formats require specific applications (often called plug-ins) that
are inaccessible or do not work well with assistive technologies. Using W3C
technologies will tend to make pages more accessible to more people using
a wider variety of hardware and software. If inaccessible technologies
(proprietary or not) must be used, equivalent accessible pages must be provided.
Additional actions:
-
Suggest that where appropriate, the author:
-
convert quicktime movies (others?) into SMIL presentations.
-
convert GIF and JPG images with text to text with style sheets.
-
convert Flash animations to a combination of valid HTML, SMIL, and PNG or
SVG.
-
@@convert images of math equations to MathML.
-
@@Note: many of these W3C formats are not widely supported yet. Therefore,
how do we deal with this in the meantime? Present the info and let the author
decide?
-
Use a text-only page generator (such as Adobe's PDFtoText) to create an
equivalent accessible page.
Test Files and Discussion Files:
Checkpoint 11.2 - Avoid
deprecated features of W3C technologies
Technique 11.2.1 [priority 2] Check for deprecated features of W3C technologies
Discussion Status:
Evaluation:
-
Use W3C validation services to validate documents as per their public text
identifier.
-
See checkpoint 3.2 for more information on public text identifiers.
Example of a message to be displayed:
-
Use of deprecated HTML element: you are validating against [public text
identifier] and the following elements have been deprecated in favor of newer
elements. [insert list of deprecated elements used in the page with what
they should be replaced with].
Additional actions:
-
Help the author replace FONT with use of CSS.
-
Help the author replace IMG and APPLET with OBJECT.
Checkpoint 11.3 - Provide
information so that users may receive documents according to their preferences
Technique 11.3.1 [priority 3] Check that documents are served per user
preferences.
Discussion Status:
Evaluation:
Example of a message to be displayed:
Additional actions:
-
Prompt user to specify language of document in
technique 4.3.1.
-
Use CC/PP or XML/XSLT or other transformations on the server or gateway to
configure a page for various user preferences and device profiles.
-
Serve style sheets based on user preferences - use the media types.
-
Work with your server system administrator to provide content negotiation.
-
Use browser sniffing on the client to request documents on the server.
-
Use cookies to remember user preferences between sessions and server documents
per those preferences.
-
Link to other versions of the document (other formats and languages).
-
If not possible to use content negotiation, indicate content type or language
through markup (e.g., in HTML use "type" and "hreflang").
Checkpoint 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
Technique 11.4.1 [priority 1] Verify that the page has passed all checkpoints
of the desired conformance level.
Discussion Status:
Evaluation:
-
For each page, keep track of which checkpoints the author has passed, either
through automatic evaluation or confirmed through prompting the author. Ask
what level of conformance the author is trying to reach. If checkpoints for
that level have not yet been met, ask the author if they would like to continue
working to make the page accessible. If they do not, ask them if they would
like to provide an alternative, accessible page.
Example of a message to be displayed:
-
Before resorting to an alternative page, reconsider the design of the original
page; making it accessible is likely to improve it for all users.
Additional actions:
-
Dynamically generated alternative pages [references@@].
-
Tools to generate alternative pages [references@@].
Guideline 12. Provide context
and orientation information
Checkpoint 12.1 - Title
each frame to facilitate frame identification and navigation
Technique 12.1.A [priority
1] Check frames for title
Discussion Status:
Evaluation:
-
FRAME element must have a valid TITLE attribute
Valid title text for frame:
Example of a message to be displayed:
-
Missing title for this frame: [frame file name].
Additional actions:
-
Prompt user for frame title.
Test Files and Discussion Files:
Checkpoint 12.2 - Describe
the purpose of frames and how frames relate to each other if it is not obvious
by frame titles alone
(Suggest that if the frame title does not describe the frame that a LONGDESC
is needed?)
Checkpoint 12.3 - Divide
large blocks of information into more manageable groups where natural and
appropriate
(Any suggestions??)
Checkpoint 12.4 - Associate
labels explicitly with their controls
Technique 12.4.1 [priority 2] Check LABEL elements for valid "for" attribute
values.
Discussion Status:
Evaluation:
-
Check that the "for" attribute value of a LABEL element matches the "id"
value of a form control on the current page.
Example of a message to be displayed:
-
Form controls are not explicitly labeled.
Additional actions:
-
If a LABEL does not have a valid "for" attribute, list all of the controls
without explicitly associated labels and let the author pick one.
-
If a form control does not have a LABEL, verify that the author has implicitly
associated text with the form control then help the author convert associated
text into a LABEL element.
Test Files and Discussion Files:
Guideline 13. Provide clear navigation
mechanisms
Checkpoint 13.1 - Clearly
identify the target of each link
Technique 13.1.1 [priority 2] Verify that the target of each link is clearly
identified.
Discussion Status:
Evaluation:
-
Check for commonly used non-meaningful phrases such as "click here" and "more"
as link text.
-
Check that if link text is not unique, duplicates link to the same place.
Example of a message to be displayed:
-
Link text should be meaningful enough to make sense when read out of context
-- either on its own or as part of a sequence of links. Link text should
also be terse.
Additional actions:
-
Retrieve the TITLE of the target page and suggest that as link text.
-
If the author is trying to make a Level Triple A site, Ask the author to
provide supplemental information about the link in the "title" attribute.
Related resources
Harper, S., Stevens, R., and Goble, C. (1999). Towel: Real World Mobility
on the Web. In Vanderdonckt, J. and Puerta, A., eds.: Computer-Aided Design
of User Interfaces II. Dordrecht, Netherlands: Kluwer Academic Publishers.
Checkpoint 13.2 - Provide
metadata to add semantic information to pages and sites
Checkpoint 13.2.1 [priority 2] Check for use of RDF, META, ADDRESS, TITLE
and LINK elements.
Discussion Status:
Evaluation:
-
Check for RDF, META, ADDRESS, TITLE and LINK elements in the HEAD element
of HTML/XHTML files.
Example of a message to be displayed:
Additional actions:
-
If no RDF, META, ADDRESS, TITLE or LINK elements are found, request information
from the author to be stored as meta information. Examples of content to
prompt for:
-
title of the page (required for frames, see checkpoint 12.1),
-
type of content,
-
descriptions of the content of the page,
-
conformance claims,
-
author information,
-
next page in a series (e.g., LINK rel="next").
-
If a LINK element is found, check if it is used for style sheets. If it is,
then proceed as if no LINK element were found.
-
If a META element is found, check if it is used to create a redirect. If
it is, then proceed as if no META element were found (refer also to checkpoints
7.4 and 7.5).
Checkpoint 13.3 - Provide
information about the general layout of a site
(Can't be machine checked. User notification?)
Checkpoint 13.4 - Use navigation
mechanisms in a consistent manner
(Can't be machine checked. User notification?)
Checkpoint 13.5 - Provide
navigation bars to highlight and give access to the navigation mechanism
(Can't be machine checked. User notification?)
Checkpoint 13.6 - Group
related links, identify the group (for user agents), and, until user agents
do so, provide a way to bypass the group
Technique 13.6.1 [Priority 3] Verify if links should be grouped.
Discussion Status:
Evaluation:
-
Check for lists of links: Several A elements separated only by spaces, bullets,
or a few characters such as "] [" or " | ".
-
Check for groups of links: grouped with DIV, P, MAP.
Example of a message to be displayed:
Additional actions:
-
Ask the user if an identified list of links should be grouped.
-
If the user wants to group the links, use a MAP element (@@still outstanding
issues in WCAG w/this technique?)
-
Suggest that the user provide a link to bypass the group or that they move
the group to the bottom of the page or that they use a high "tabindex" attribute
value.
Checkpoint 13.7 - If search
functions are provided, enable different types of searches for different
skill levels and preferences
Technique 13.7.1 [priority 3] Verify that search functions enable a variety
of skill levels and preferences.
Discussion Status:
Evaluation:
-
Check if a FORM is used to submit a search.
Example of a message to be displayed:
-
When providing search functionality, content developers should offer search
mechanisms that satisfy varying skill levels and preferences. Most search
facilities require the user to enter keywords for search terms. Users with
spelling disabilities and users unfamiliar with the language of your site
will have a difficult time finding what they need if the search requires
perfect spelling. Search engines might include a spell checker, offer "best
guess" alternatives, query-by-example searches, similarity searches, etc.
Additional actions:
Checkpoint 13.8 - Place
distinguishing information at the beginning of headings, paragraphs, lists,
etc
(Can't be machine checked. User notification?)
Checkpoint 13.9 - Provide
information about document collections
Technique 13.9.1 [priority 3] Verify that information about document collections
is provided.
Discussion Status:
-
awaiting discussion
-
@@Way to use RDF to describe document collections?
Evaluation:
-
Ask the user if this page is part of a collection, such as a slide show,
or a chapter in a book.
Example of a message to be displayed:
-
Bundled documents can facilitate reading offline.
Additional actions:
-
In HTML/XHTML specify document collections with the LINK element and the
"rel" and "rev" attributes.
-
Suggest that that the author create a collection by building an archive (e.g.,
with zip, tar and gzip, stuffit, etc.) of the multiple pages.
Checkpoint 13.10 - Provide
a means to skip over multi-line ASCII art
(Can't be machine checked - this sort of ASCII art is larger than just emoticons.
User notification?)
Guideline 14. Ensure that documents
are clear and simple
Checkpoint 14.1 - Use the
clearest and simplest language appropriate for a site's content
(Check document using fog index? User notification?)
Checkpoint 14.2 - Supplement
text with graphic or auditory presentations where they will facilitate
comprehension of the page
(Can't be machine checked. User notification?)
Checkpoint 14.3 - Create
a style of presentation that is consistent across pages
Technique 14.3.1 [priority 3] Verify that a consistent style of presentation
is used across pages.
Discussion Status:
-
awaiting discussion
-
@@this requires looking at pages throughout the site. Need two levels of
checking: page vs site?
Evaluation:
-
Compare the properties of STYLE elements between pages.
-
Compare the names of external style sheets (referenced with LINK elements).
Example of a message to be displayed:
-
Consistent page layout and recognizable graphics benefit all users. In
particular, they help people with cognitive disabilities or who have difficulty
reading.
Additional actions:
-
If STYLE properties vary between pages, or various external style sheets
are used, suggest the author consolidate style properties into external style
sheets and use consistently.
After evaluating a document, an evaluation and/or repair tool should provide
the user with a document rating. The rating is based on conformance to the
W3C Web Content
Accessibility Guidelines and will be:
-
Level "A": all Priority 1 checkpoints are satisfied;
-
Level "Double-A": all Priority 1 and 2 checkpoints are
satisfied;
-
Level "Triple-A": all Priority 1, 2, and 3 checkpoints are
satisfied;
Some checkpoints can not be checked by a software program and will require
user evaluation. The user must be informed of the items that they must check.
Refer to the Rating Algorithm
for Evaluation of Web Pages by Len Kasday.
Appendix A - Placeholder ALT text
-
any ALT text containing an image file suffix (see Appendix B)
-
ALT text consisting of the single word "Image", "Photo"
-
ALT text containing the word "images" (e.g. as in "turn on imges").
Appendix B - Image File Suffixes
Appendix C - Placeholder OBJECT ALT
text
Appendix D - Sound File Suffixes
-
.wav
-
.au
-
.snd
-
.dwd
-
.iff
-
.svx
-
.sam
-
.smp
-
.vce
-
.voc
-
.pcm
-
.aif
Appendix E - Placeholder NOSCRIPT
text
-
{NOSCRIPT text goes here}
Appendix F - Placeholder TABLE SUMMARY
text
-
Summary
-
Table
-
Table Summary
Appendix G - Placeholder table header
ABBR text
Appendix H - Placeholder FRAME TITLE
text
Appendix I - Applet Executable Suffix
Appendix J - Bullet Identification
An image will be identified as a bullet if it has the following characteristics:
Identifying Bullets
page
Appendix K - Horizontal Rule
Identification
An image will be identified as a horizontal rule if it has the following
characteristics:
Identifying HRs page
Appendix L - Links To Associated Sites
-
Bobby - Accessibility evaluator
tool
-
Lynx Viewer - Displays
a text-only view of web pages
-
A-Prompt - Accessibility evaluator
and repair tool
Glossary
-
Programmatic object
-
An object that is embedded in a document with the SCRIPT or APPLET elements,
and sometimes with the OBJECT or EMBED elements. @@need to clarify the definition
and then use it.
-