- From: Charles McCathieNevile <charles@w3.org>
- Date: Mon, 21 Feb 2000 00:36:45 -0500 (EST)
- To: WAI AU Guidelines <w3c-wai-au@w3.org>
I presume there are a number of people with comments on this one...
Charles
Checkpoints:
1.1 Provide a text equivalent for every non-text element (e.g., via
"alt", "longdesc", or in element content). This includes:
images, graphical representations of text (including symbols),
image map regions, animations (e.g., animated GIFs), applets
and programmatic objects, ascii art, frames, scripts, images
used as list bullets, spacers, graphical buttons, sounds
(played with or without user interaction), stand-alone audio
files, audio tracks of video, and video. [Priority 1]
For example, in HTML:
+ Use "alt" for the IMG, INPUT, and APPLET elements, or provide
a text equivalent in the content of the OBJECT and APPLET
elements.
+ For complex content (e.g., a chart) where the "alt" text does
not provide a complete text equivalent, provide an additional
description using, for example, "longdesc" with IMG or FRAME,
a link inside an OBJECT element, or a [1]description link.
+ For image maps, either use the "alt" attribute with AREA, or
use the MAP element with A elements (and other text) as
content.
Refer also to [2]checkpoint 9.1 and [3]checkpoint 13.10.
[4]Techniques for checkpoint 1.1
HTML
o check that img has alt and longdesc
o check that object has content (a link to the objects in
the cascade of content is good too)
o check that areas have alt
o Note that the user will have to check whether the
equivalent is appropriate. Cases of filesize, filename,
or standard defaults such as "īmage" or "insert alt
text" should be reported.
SVG
o Check that each g has a title and desc
SMIL
o Check that video elements have audio descriptions and
captions
o check that audio has captions (text or textstream
elements)
o Check that there are alt and longdesc for media elements
1.2 Provide redundant text links for each active region of a
server-side image map. [Priority 1]
Refer also to [5]checkpoint 1.5 and [6]checkpoint 9.1.
[7]Techniques for checkpoint 1.2
HTML
o Where the tool maintains information about the content
produced, include the fact that this has been done.
o Check for a replacement method of input
1.3 [8]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. [Priority 1]
Synchronize the [9]auditory description with the audio track as
per [10]checkpoint 1.4. Refer to [11]checkpoint 1.1 for
information about textual equivalents for visual information.
[12]Techniques for checkpoint 1.3
SMIL
o Check that video elements have audio descriptions and
captions
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. [Priority 1]
[13]Techniques for checkpoint 1.4
SMIL
o Where a media element has no clearly synchronised
alternatives, ask the author if it includes alternative
information (some formats allow this to be done in the
media object itself)
1.5 [14]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. [Priority 3]
Refer also to [15]checkpoint 1.2 and [16]checkpoint 9.1.
[17]Techniques for checkpoint 1.5
HTML
Ensure there is alt associated with each area element.
Check for a textual link for each area element.
2.1 Ensure that all information conveyed with color is also available
without color, for example from context or markup. [Priority 1]
[18]Techniques for checkpoint 2.1
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].
[19]Techniques for checkpoint 2.2
General
An algorithm is described in the ERT document. Does it
work?
CSS
Ensure that foreground and background colors have been
specified
3.1 When an appropriate markup language exists, use markup rather than
images to convey information. [Priority 2]
For example, use MathML to mark up mathematical equations, and
[20]style sheets to format text and control layout. Also, avoid
using images to represent text -- use text and style sheets
instead. Refer also to [21]guideline 6 and [22]guideline 11.
[23]Techniques for checkpoint 3.1
3.2 Create documents that validate to published formal grammars.
[Priority 2]
For example, include a document type declaration at the
beginning of a document that refers to a published DTD (e.g.,
the strict HTML 4.0 DTD).
[24]Techniques for checkpoint 3.2
General
Vaidate documents. HTML, XHTML, and XML validators are
readily available.
3.3 Use style sheets to control layout and presentation. [Priority 2]
For example, use the CSS 'font' property instead of the HTML
FONT element to control font styles.
[25]Techniques for checkpoint 3.3
HTML
Check for the presence of deprecated presentation markup.
3.4 Use relative rather than absolute units in markup language
attribute values and style sheet property values. [Priority 2]
For example, in CSS, use 'em' or percentage lengths rather than
'pt' or 'cm', which are absolute units. If absolute units are
used, validate that the rendered content is usable (refer to
the [26]section on validation).
[27]Techniques for checkpoint 3.4
HTML
Check for absolute units in table and frameset sizes.
CSS
check for absolute units in positioning, font and margin
sizes.
3.5 Use header elements to convey document structure and use them
according to specification. [Priority 2]
For example, in HTML, use H2 to indicate a subsection of H1. Do
not use headers for font effects.
[28]Techniques for checkpoint 3.5
HTML
Check for a pattern of paragraph elements which are short
and have enlarged or heavy font or decoration.
3.6 Mark up lists and list items properly. [Priority 2]
For example, in HTML, nest OL, UL, and DL lists properly.
[29]Techniques for checkpoint 3.6
HTML
Check for a number of items separated by a small image,
or a common seperator mark.
3.7 Mark up quotations. Do not use quotation markup for formatting
effects such as indentation. [Priority 2]
For example, in HTML, use the Q and BLOCKQUOTE elements to
markup short and longer quotations, respectively.
[30]Techniques for checkpoint 3.7
HTML
Check for nested blockquote elements, and for quotation
elements without a source citation such as the cite
attribute. Check for material appearing between quotation
marks (but note this could also be scripts, etc).
4.1 Clearly identify changes in the natural language of a document's
text and any [31]text equivalents (e.g., captions).
[Priority 1]
For example, in HTML use the "lang" attribute. In XML, use
"xml:lang".
[32]Techniques for checkpoint 4.1
General
Check for the presence of several words using a different
set of characters, or which cannot be found in a
spellcheck.
4.2 Specify the expansion of each abbreviation or acronym in a
document where it first occurs. [Priority 3]
For example, in HTML, use the "title" attribute of the ABBR and
ACRONYM elements. Providing the expansion in the main body of
the document also helps document usability.
[33]Techniques for checkpoint 4.2
HTML
o Check for words that are stored in a dictionary as
abbreviations.
o Check for collections of upper-case letters
o Check for repetiton of words or phrases that have been
marked up elsewhere in the page as abbreviations.
4.3 Identify the primary natural language of a document. [Priority 3]
For example, in HTML set the "lang" attribute on the HTML
element. In XML, use "xml:lang". Server operators should
configure servers to take advantage of HTTP content negotiation
mechanisms ([34][RFC2068], section 14.13) so that clients can
automatically retrieve documents of the preferred language.
[35]Techniques for checkpoint 4.3
General:
Check for the presence of language information.
5.1 For data tables, identify row and column headers. [Priority 1]
For example, in HTML, use TD to identify data cells and TH to
identify headers.
[36]Techniques for checkpoint 5.1
HTML
o Check for highlighted cell content, especially in cells
at the edge of the table
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. [Priority 1]
For example, in HTML, use THEAD, TFOOT, and TBODY to group
rows, COL and COLGROUP to group columns, and the "axis",
"scope", and "headers" attributes, to describe more complex
relationships among data.
[37]Techniques for checkpoint 5.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
[38]linearized version). [Priority 2]
Note. [39]Once user agents support style sheet positioning,
tables should not be used for layout. [40]Refer also to
checkpoint 3.3.
[41]Techniques for checkpoint 5.3
HTML
5.4 If a table is used for layout, do not use any structural markup
for the purpose of visual formatting. [Priority 2]
For example, in HTML do not use the TH element to cause the
content of a (non-table header) cell to be displayed centered
and in bold.
[42]Techniques for checkpoint 5.4
5.5 Provide summaries for tables. [Priority 3]
For example, in HTML, use the "summary" attribute of the TABLE
element.
[43]Techniques for checkpoint 5.5
HTML
Check for the presence of the summary attribute, or a
caption.
5.6 Provide abbreviations for header labels. [Priority 3]
For example, in HTML, use the "abbr" attribute on the TH
element.
[44]Techniques for checkpoint 5.6
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.
[Priority 1]
When content is organized logically, it will be rendered in a
meaningful order when style sheets are turned off or not
supported.
[45]Techniques for checkpoint 6.1
HTML
Check that style sheets do not change the presentation
flow of content (for example by placing a block of
content with absolute positioning). Where it does, check
if this is replicated content, such as a navigation bar
or heading.
6.2 Ensure that equivalents for dynamic content are updated when the
dynamic content changes. [Priority 1]
[46]Techniques for checkpoint 6.2
HTML
Check for the presence of noframes content in a frameset.
There should be links into the frameset (a tool which
manages sites rather than individual pages may be able to
automatically check whether there is a path to each page
from noframes content).
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. [Priority 1]
For example, ensure that links that trigger scripts work when
scripts are turned off or not supported (e.g., do not use
"javascript:" as the link target). If it is not possible to
make the page usable without scripts, provide a text equivalent
with the NOSCRIPT element, or use a server-side script instead
of a client-side script, or provide an alternative accessible
page as per [47]checkpoint 11.4. [48]Refer also to guideline 1.
[49]Techniques for checkpoint 6.3
HTML
o Check there are server-side alternatives for scripts and
applets.
o Check that links exist to all content that do not rely
on scripts.
6.4 For scripts and applets, ensure that event handlers are input
device-independent. [Priority 2]
Refer to the definition of [50]device independence.
[51]Techniques for checkpoint 6.4
HTML
o Check that there are redundant onfocus/onblur methods
for any onmouseover or onmouseout event triggers
o Check that there are redundant key-based methods for
onclick / ondblclick events
6.5 Ensure that dynamic content is accessible or provide an
alternative presentation or page. [Priority 2]
For example, in HTML, use NOFRAMES at the end of each frameset.
For some applications, server-side scripts may be more
accessible than client-side scripts.
[52]Techniques for checkpoint 6.5
HTML
Ask the author.
7.1 [53]Until user agents allow users to control flickering, avoid
causing the screen to flicker. [Priority 1]
Note. People with photosensitive epilepsy can have seizures
triggered by flickering or flashing in the 4 to 59 flashes per
second (Hertz) range with a peak sensitivity at 20 flashes per
second as well as quick changes from dark to light (like strobe
lights).
[54]Techniques for checkpoint 7.1
Applets and Scripts
Check for image replacement, or color replacement.
7.2 [55]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). [Priority 2]
[56]Techniques for checkpoint 7.2
HTML
Check for blink and marquee elements (not recognised in
any W3C recommendation)
7.3 [57]Until user agents allow users to freeze moving content, avoid
movement in pages. [Priority 2]
When a page includes moving content, provide a mechanism within
a script or applet to allow users to freeze motion or updates.
Using style sheets with scripting to create movement allows
users to turn off or override the effect more easily. [58]Refer
also to guideline 8.
[59]Techniques for checkpoint 7.3
7.4 [60]Until user agents provide the ability to stop the refresh, do
not create periodically auto-refreshing pages. [Priority 2]
For example, in HTML, don't cause pages to auto-refresh with
"HTTP-EQUIV=refresh" until user agents allow users to turn off
the feature.
[61]Techniques for checkpoint 7.4
7.5 [62]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. [Priority 2]
[63]Techniques for checkpoint 7.5
8.1 Make programmatic elements such as scripts and applets directly
accessible or compatible with assistive technologies
[Priority 1 if functionality is [64]important and not presented
elsewhere, otherwise Priority 2.]
[65]Refer also to guideline 6.
[66]Techniques for checkpoint 8.1
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. [Priority 1]
Refer also to [67]checkpoint 1.1, [68]checkpoint 1.2, and
[69]checkpoint 1.5.
[70]Techniques for checkpoint 9.1
HTML
where a server-side map is used, check for a client side
equivalent.
9.2 Ensure that any element that has its own interface can be operated
in a device-independent manner. [Priority 2]
Refer to the definition of [71]device independence.
[72]Refer also to guideline 8.
[73]Techniques for checkpoint 9.2
9.3 For scripts, specify logical event handlers rather than
device-dependent event handlers. [Priority 2]
[74]Techniques for checkpoint 9.3
9.4 Create a logical tab order through links, form controls, and
objects. [Priority 3]
For example, in HTML, specify tab order via the "tabindex"
attribute or ensure a logical page design.
[75]Techniques for checkpoint 9.4
HTML
Check if there are only a few links that change in each
page of a collection, ask the author if they should
receive focus first. If so, then give them a tabindex,
leaving the rest to after the tabindexed links have been
focussed.
9.5 Provide keyboard shortcuts to important links (including those in
[76]client-side image maps), form controls, and groups of form
controls. [Priority 3]
For example, in HTML, specify shortcuts via the "accesskey"
attribute.
[77]Techniques for checkpoint 9.5
HTML
Check for an accesskey on links that appear common to a
number of pages
10.1 [78]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. [Priority 2]
For example, in HTML, avoid using a frame whose target is a new
window.
[79]Techniques for checkpoint 10.1
HTML
Check for target attributes that do not specify existing
frames.
10.2 [80]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. [Priority 2]
The label must immediately precede its control on the same line
(allowing more than one control/label per line) or be in the
line preceding the control (with only one label and one control
per line). [81]Refer also to checkpoint 12.4.
[82]Techniques for checkpoint 10.2
HTML
See also checkpoint 12.4 - use the information to ensure
that label text is positioned appropriately.
10.3 [83]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. [Priority 3]
Note. Please consult the definition of [84]linearized table.
This checkpoint benefits people with [85]user agents (such as
some [86]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
[87]tabular information.
[88]Techniques for checkpoint 10.3
HTML
Check for tables that place large amounts of text in
side-by-side cells
10.4 [89]Until user agents handle empty controls correctly, include
default, place-holding characters in edit boxes and text areas.
[Priority 3]
For example, in HTML, do this for TEXTAREA and INPUT.
[90]Techniques for checkpoint 10.4
10.5 [91]Until user agents (including assistive technologies) render
adjacent links distinctly, include non-link, printable
characters (surrounded by spaces) between adjacent links.
[Priority 3]
[92]Techniques for checkpoint 10.5
11.1 Use W3C technologies when they are available and appropriate for
a task and use the latest versions when supported. [Priority 2]
Refer to the [93]list of references for information about where
to find the latest W3C specifications and [94][WAI-UA-SUPPORT]
for information about user agent support for W3C technologies.
[95]Techniques for checkpoint 11.1
11.2 Avoid deprecated features of W3C technologies. [Priority 2]
For example, in HTML, don't use the [96]deprecated FONT
element; use style sheets instead (e.g., the 'font' property in
CSS).
[97]Techniques for checkpoint 11.2
11.3 Provide information so that users may receive documents according
to their preferences (e.g., language, content type, etc.)
[Priority 3]
Note. Use content negotiation where possible.
[98]Techniques for checkpoint 11.3
11.4 If, [99]after best efforts, you cannot create an [100]accessible
page, provide a link to an alternative page that uses W3C
technologies, is accessible, has [101]equivalent information
(or functionality), and is updated as often as the inaccessible
(original) page. [Priority 1]
[102]Techniques for checkpoint 11.4
12.1 Title each frame to facilitate frame identification and
navigation. [Priority 1]
For example, in HTML use the "title" attribute on FRAME
elements.
[103]Techniques for checkpoint 12.1
HTML
Check for noframes, or failing that title and name
attributes in framesets
12.2 Describe the purpose of frames and how frames relate to each
other if it is not obvious by frame titles alone. [Priority 2]
For example, in HTML, use "longdesc," or a [104]description
link.
[105]Techniques for checkpoint 12.2
HTML
Ask the author to confirm content in a noframes element
gives access to the site. Check links to make sure the
site can be reached from the noframes content.
12.3 Divide large blocks of information into more manageable groups
where natural and appropriate. [Priority 2]
For example, in HTML, use OPTGROUP to group OPTION elements
inside a SELECT; group form controls with FIELDSET and LEGEND;
use nested lists where appropriate; use headings to structure
documents, etc. [106]Refer also to guideline 3.
[107]Techniques for checkpoint 12.3
HTML
Where there are more than 10 choices in a list (select,
checkbox or radio boxes) ask the author to identify
subgroups
12.4 Associate labels explicitly with their controls. [Priority 2]
For example, in HTML use LABEL and its "for" attribute.
[108]Techniques for checkpoint 12.4
HTML
Check that form inputs (input and textarea elements) have
labels.
13.1 Clearly identify the target of each link. [Priority 2]
[109]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.
For example, in HTML, write "Information about version 4.3"
instead of "click here". In addition to clear link text,
content developers may further clarify the target of a link
with an informative link title (e.g., in HTML, the "title"
attribute).
[110]Techniques for checkpoint 13.1
13.2 Provide metadata to add semantic information to pages and sites.
[Priority 2]
For example, use RDF ([111][RDF]) to indicate the document's
author, the type of content, etc.
Note. Some HTML [112]user agents can build navigation tools
from document relations described by the HTML LINK element and
"rel" or "rev" attributes (e.g., rel="next", rel="previous",
rel="index", etc.). [113]Refer also to checkpoint 13.5.
[114]Techniques for checkpoint 13.2
General
Check for the presence of metadata
13.3 Provide information about the general layout of a site (e.g., a
site map or table of contents). [Priority 2]
In describing site layout, highlight and explain available
accessibility features.
[115]Techniques for checkpoint 13.3
General
Check for a site map, or page describing the site that is
identified in metadata
13.4 Use navigation mechanisms in a consistent manner. [Priority 2]
[116]Techniques for checkpoint 13.4
General
Check that different links to common targets have common
content, especially where they are in groups
13.5 Provide navigation bars to highlight and give access to the
navigation mechanism. [Priority 3]
[117]Techniques for checkpoint 13.5
HTML
Check that links to common targets are grouped, for
example in a map.
13.6 Group related links, identify the group (for user agents), and,
[118]until user agents do so, provide a way to bypass the
group. [Priority 3]
[119]Techniques for checkpoint 13.6
13.7 If search functions are provided, enable different types of
searches for different skill levels and preferences.
[Priority 3]
[120]Techniques for checkpoint 13.7
13.8 Place distinguishing information at the beginning of headings,
paragraphs, lists, etc. [Priority 3]
Note. This is commonly referred to as "front-loading" and is
especially helpful for people accessing information with serial
devices such as speech synthesizers.
[121]Techniques for checkpoint 13.8
13.9 Provide information about document collections (i.e., documents
comprising multiple pages.). [Priority 3]
For example, in HTML specify document collections with the LINK
element and the "rel" and "rev" attributes. Another way to
create a collection is by building an archive (e.g., with zip,
tar and gzip, stuffit, etc.) of the multiple pages.
Note. The performance improvement gained by offline processing
can make browsing much less expensive for people with
disabilities who may be browsing slowly.
[122]Techniques for checkpoint 13.9
General
o Pattern-matching - ask authors to specify the role of
pages linked from a navigation bar.
o Where common names are used (search, home, map) as
links, ask the author to confirm these functions for use
in linking.
13.10 Provide a means to skip over multi-line ASCII art. [Priority 3]
Refer to [123]checkpoint 1.1 and [124]the example of ascii art
in the glossary.
[125]Techniques for checkpoint 13.10
HTML
Where a PRE element is used with substantial punctuation
and non-words, ask the author.
14.1 Use the clearest and simplest language appropriate for a site's
content. [Priority 1]
[126]Techniques for checkpoint 14.1
General
There are several algorithms for measuring legibility and
comprehensibility. The simplest is word count.
14.2 Supplement text with graphic or auditory presentations where they
will facilitate comprehension of the page. [Priority 3]
[127]Refer also to guideline 1.
[128]Techniques for checkpoint 14.2
14.3 Create a style of presentation that is consistent across pages.
[Priority 3]
[129]Techniques for checkpoint 14.3
General
Check for the presence of a common style sheet. Check for
consistency in presentation markup used.
References snipped
Received on Monday, 21 February 2000 00:36:45 UTC