Prepared by David MacDonald of E-Ramp Inc.
title
attribute on images."6.1 Link text
Checkpoints in this section:
- 13.1 Clearly identify the target of each link. [Priority 2]
Good link text should not be overly general; don't use "click here." Not only is this phrase device-dependent (it implies a pointing device) it says nothing about what is to be found if the link if followed. Instead of "click here", link text should indicate the nature of the link target, as in "more information about sea lions" or "text-only version of this page". Note that for the latter case (and other format- or language-specific documents), content developers are encouraged to use content negotiation instead, so that users who prefer text versions will have them served automatically.
In addition to clear link text, content developers may specify a value of the "title" attribute that clearly and accurately describes the target of the link.
If more than one link on a page shares the same link text, all those links should point to the same resource. Such consistency will help page design as well as accessibility.
If two or more links refer to different targets but share the same link text, distinguish the links by specifying a different value for the "title" attribute of each A element.
HTML Techniques for Web Content Accessibility Guidelines 2.0 |
Corresponding HTML Techniques for Web Content Accessibility Guidelines 1.0 |
---|---|
1 Uncategorized techniques |
|
1.2 Meta redirectTask:Avoid using
|
1.1.3 The
META element 7.5 Until user agents provide the ability to stop auto-redirect, do not use markup to redirect pages automatically. Instead, configure the server to perform redirects. [Priority 2] .
|
1.3 Meta refreshTask:Avoid using |
1.1.3 The META elementCheckpoints in this section:
|
2 Metadata |
1.1 MetadataCheckpoints in this section:
|
2.1 The
|
1.1.1 TITLE: The document title.
|
2.2 The
|
1.1.2 The ADDRESS elementThis element can be used to provide information about the creator of the page.
|
2.3 The
|
1.1.4 The !DOCTYPE statementCheckpoints in this section:
|
2.4 The
|
1.1.5 The LINK element and navigation toolsCheckpoints in this section:
|
2.5 The
|
1.1.6 The LINK element and alternative documentsCheckpoints in this section:
|
3.0 Structural Grouping |
1.2 Structural groupingCheckpoints in this section:
|
3.1 Section headingsTask:Use HTML header elements
|
1.2.1 Section headingsCheckpoints in this section:
|
3.2 Style headersTask:Use CSS, not HTML header elements, to create font effects. |
None |
4 Language |
2 Language information |
4.1 Identifying changes in languageTask:Use the |
2.1 Identifying changes in languageCheckpoints in this section:
|
4.2 Identifying the primary languageTask:Use the |
2.2 Identifying the primary languageCheckpoints in this section:
|
5 Text Markup |
3 Text markup |
5.1 EmphasisTask:Use the |
3.1 EmphasisCheckpoints in this section:
|
5.2 AbbreviationsTask:Use the |
3.2 Acronyms and abbreviationsCheckpoints in this section:
|
5.3 AcronymTask:Use the |
above |
5.4 Short Quotations (future)Task:Use the |
3.3 QuotationsCheckpoints in this section:
The Q and BLOCKQUOTE elements mark up inline and block quotations, respectively. |
5.5 Long QuotationsTask:Use the |
above |
5.6 Misuse of
|
3.3 QuotationsCheckpoints in this section:
|
5.7 Markup and style sheets rather than images: The example of mathTask:Wherever possible, use markup rather than images to convey information. |
3.4 Markup and style sheets rather than images: The example of mathCheckpoints in this section:
|
5.8 Eight other structural elements (to identify citations, code fragments, deleted text, and others)Task:Use structural elements as needed. The HTML 4.01 specification defines the following structural elements for miscellaneous markup needs:
|
3.5 Eight other structural elements (to identify citations, code fragments, deleted text, and others)The HTML 4.01 specification defines the following structural elements for miscellaneous markup needs:
|
6 Lists
|
4 Lists |
6.1 Ordered listsTask:Format ordered lists so their items can be followed logically. |
4 Lists |
6.2 Use style sheets to change list bulletsTask:Use CSS, not images, to change list bullets. |
4.1 Use style sheets to change list bulletsTo change the "bullet" style of unordered list items created with the LI element, use style sheets. In CSS, it is possible to specify a fallback bullet style (e.g., 'disc') if a bullet image cannot be loaded.
|
7 Data Tables |
5 Tables
|
7.1 The
|
5.1.1 Providing summary informationCheckpoints in this section:
|
7.2 The
|
5.1.1 If a CAPTION is not provided, use the "title" attribute on the TABLE element to describe the nature of the table in a few words.
|
7.3 Summarizing tablesTask:Use the |
5.1.1 Provide a summary via the "summary" attribute. Summaries are especially useful for non-visual readers. 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. |
7.4 Terse substitutes for header labelsTask:Use the |
5.1.1 Provide terse substitutes for header labels with the
"abbr" attribute on TH. These will be particularly useful for future
speaking technologies that can read row and column labels for each cell.
Abbreviations cut down on repetition and reading time. |
7.5 Identifying groups of rows |
5.1.2 Identifying rows and column informationCheckpoints in this section:
Identify structural groups of rows (THEAD for repeated table headers, TFOOT for repeated table footers, and TBODY for other groups of rows) and groups of columns (COLGROUP and COL). |
7.6 Identifying groups of columns |
5.1.2 Identifying rows and column informationCheckpoints in this section: |
7.7 Specifying the set of data cells for which each header cell provides header information.Task:Use the |
5.1.2 Identifying rows and column informationLabel table elements with the "scope", "headers", and "axis" attributes so that future browsers and assistive technologies will be able to select data from a table by filtering on categories. |
7.8 Associating header cells with data cells.Task:Use the |
5.1.2
Identifying rows and column information Label table elements with the "scope", "headers", and "axis" attributes so that future browsers and assistive technologies will be able to select data from a table by filtering on categories. |
7.9 Categorizing data cells.Task:Use the |
5.1.2
Identifying rows and column information Label table elements with the "scope", "headers", and "axis" attributes so that future browsers and assistive technologies will be able to select data from a table by filtering on categories. |
7.10 Misuse of the
|
5.1.2
Identifying rows and column information
|
7.11 Row and column headings.Task:Use the |
5.1.2
Identifying rows and column information Label table elements with the "scope", "headers", and "axis" attributes so that future browsers and assistive technologies will be able to select data from a table by filtering on categories.
|
8 Tables for Layout |
5.2 Tables for layout |
8.1 Table elements allowed in layout tablesTask:Only use the |
5.2 Tables for
layout Also, when using tables to create a layout, do not use structural markup to create visual formatting. For example, the TH (table header) element, is usually displayed visually as centered, and bold. If a cell is not actually a header for a row or column of data, use style sheets or formatting attributes of the element. |
8.2 Summaries of layout tablesTask:If the |
None |
8.3 Linear reading order of tablesTask:Create a logical reading order of cells in layout tables. |
5.3 Linearizing tablesCheckpoints in this section:
|
9 Links |
6 Links |
9.1 Supplement link text with the
|
6.1 Link textIn addition to clear link text, content developers may specify a value of the "title" attribute that clearly and accurately describes the target of the link. |
9.2 Text for images used as linksTask:Use text equivalents for images which are used as links. |
6.1.1 Text for images used as linksWhen an image is used as the content of a link, specify a text equivalent for the image. |
9.3 Image and text links side by sideTask:Combine adjacent image and text links that point to the same resource. |
6.1.1 Text for images used as linksOr, if you provide link text, use a space as the "alt" attribute value of the IMG element. Note that this text will appear on the page next to the image. |
9.4 Link GroupsTask:Group links structurally and identify the group with the |
6.2 Grouping and bypassing linksCheckpoints in this section: 13.6 Group related links, identify the group (for user agents), and, until user agents do so, provide a way to bypass the group. [Priority 3] 10.5 Until user agents (including assistive technologies) render adjacent links distinctly, include non-link, printable characters (surrounded by spaces) between adjacent links. [Priority 3] .....
Use the HTML 4.01 MAP element to group links, then identify the group with the "title" attribute.
|
9.5
|
None |
9.6 Skipping Link GroupsTask:Include a link that allows users to skip over grouped links. |
6.2 Grouping and bypassing linksInclude a link that allows users to skip over the set of navigation links. |
9.7 Hide link groupsTask:Provide a style sheet that allows users to hide the set of navigation links. |
none |
9.8 Keyboard accessTask:Use the |
6.3 Keyboard accessHTML 4.01 allows content developers to specify keyboard shortcuts in documents via the "accesskey" attribute. |
9.9 Anchors and targetsTask:Do not cause pop-ups or other windows to appear and do not change the current window without informing the user. |
6.4 Anchors and targetsCheckpoints in this section:
|
9.10 Using FRAME targets (deprecated)Task:Do not cause pop-ups or other windows to appear and do not change the current window without informing the user. |
10.5 Using FRAME targetsCheckpoints in this section:
Content developers should avoid specifying a new window as the target of a frame with target="_blank". |
10 ImagesThis section discusses accessibility of images (including simple animations such as GIF animations) and image maps. For information about math represented as images, refer to the section on using text markup and style sheets rather than images. |
7 Images and image maps |
10.1 Short text equivalents for
|
7.1 Short text equivalents for images ("alt-text")Checkpoints in this section: 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] . 7.6 Animated imagesCheckpoints in this section:
|
10.2 Image titlesTask:Do not use the |
none |
10.3 Short text equivalents for
|
7.1 Short text equivalents for images ("alt-text")Not an exact match Checkpoints in this section: 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, ... ...Note that OBJECT content, unlike "alt" text, can include markup. Thus, content developers can provide a link to additional information from within the OBJECT element: |
10.4 Long descriptions of imagesTask:For images using the |
7.2 Long descriptions of imagesCheckpoints in this section: 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] |
10.5 Long description of objectsTask:For images using the |
7.2 Long descriptions of imagesWhen using OBJECT, specify a text equivalent in the body of the OBJECT element:..... Note that OBJECT content, unlike "alt" text, can include markup. Thus, content developers can provide a link to additional information from within the OBJECT element: |
10.6 D links (deprecated)Task: .....no longer supporting this
For user agents that don't support
longdesc , provide a
description link as well next to the graphic. |
7.2.1 Invisible d-linksNote. Invisible d-links are deprecated in favor of the "longdesc" attribute. An invisible d-link is a small (1-pixel) or transparent image whose "alt" attribute value is "D-link" or "D" and is part of the content of an A element. Like other d-links, it refers to a text equivalent of the associated image. Like other links, users can tab to it. Invisible d-links thus provide a (temporary) solution for designers who wish to avoid visible d-links for stylistic reasons. |
10.7 Describe images without longdescTask:Describe images in document text as needed. |
none |
10.8 ASCII artTask:Provide a means to skip over multi-line ASCII art. Note:
Avoid ASCII art (character illustrations) and use real images instead
since it is easier to supply a
text
equivalent for images. However, if ASCII art must
be used provide a link to jump over the ASCII art.
If the ASCII art is complex, ensure that the text equivalent adequately describes it. |
7.3 Ascii artCheckpoints in this section:
Avoid ASCII art (character illustrations) and use real images instead since it is easier to supply a text equivalent for images. However, if ASCII art must be used provide a link to jump over the ASCII art, as follows... |
10.9 EmoticonsTask:Use emoticons and other ASCII symbols judiciously. Note:
Another way to replace ASCII art is to use human
language substitutes. For example,
<wink> might substitute for
a winking smiley: ;-). Or, the word "therefore" can
replace arrows consisting of dashes and greater than signs (e.g., -->),
and the word "great" for the uncommon abbreviation "gr8". |
None |
11 Image Maps |
7.4 Image maps |
11.1 Use Client Side Image MapTask:Provide client-side image maps instead of server-side image maps except where the regions cannot be defined with an available geometric shape.
|
7.4 Image mapsContent developers should create client-side image maps (with "usemap") rather than server-side image maps (with "ismap") because server-side image maps require a specific input device. If server-side image maps must be used (e.g., because the geometry of a region cannot be represented with values of the shape attribute), authors must provide the same functionality or information in an alternative accessible format... 7.4.3 Client-side versus server-side image mapsCheckpoints in this section:
|
11.2 Provide text links for server side image maps.Task:Provide redundant text links for each active region of a server-side image map. |
7.4. Image maps...One way to achieve this is to provide a textual link for each active region so that each link is navigable with the keyboard. If you must use a server-side image map, please consult the section on server-side image maps 7.4.4 Server-side image mapsCheckpoints in this section:
|
11.3 Provide redundant text links for client side image map.Task:Provide redundant text links for each active region of a client-side image map. |
7.4.1 Text equivalents for client-side image mapsFor all image maps, content developers must supply a text equivalent. |
11.4 Provide
|
7.4.1 Text equivalents for client-side image mapsCheckpoints in this section:
|
12 Programmatic objects and appletsThe |
8 Applets and other programmatic objects8.2 Directly accessible appletsCheckpoints in this section:
|
12.1 Text and non-text equivalents for applets and programmatic objectsTask:Provide a text equivalent inside the |
8.1 Text and non-text equivalents for applets and
programmatic objects Checkpoints in this section: 1.1 Provide a text equivalent for every non-text element (e.g., via "alt", "longdesc", or in element content). This includes: ...applets and programmatic objects, |
12.2 Alt content for
|
9.3 Embedding multimedia objectsOther objects, such as those requiring a plug-in, should also use the OBJECT element. However, for backward compatibility with Netscape browsers, use the proprietary EMBED element within the OBJECT element as follows: ....(example shows "noembed" element |
12.3 Alt text for
|
9.2 Text equivalents for multimediaCheckpoints in this section:
|
12.4 Embedding multimedia objectsTask:Use the |
9.3 Embedding multimedia objectsOther objects, such as those requiring a plug-in, should also use the OBJECT element. However, for backward compatibility with Netscape browsers, use the proprietary EMBED element within the OBJECT element as follows: ....(example shows "noembed" element |
13 Frames |
10 Frames |
13.1 Providing a frame titleTask:Use the |
10.1 Providing a frame titleCheckpoints in this section: 12.1 Title each frame to facilitate frame identification and navigation. [Priority 1] |
13.2 Describing frame relationships (deprecated)Task:Using the |
10.2 Describing frame relationships12.2 Describe the purpose of frames and how frames relate to each other if it is not obvious by frame titles alone. [Priority 2] |
13.3 Writing for browsers that do not support FRAMETask:Use the |
10.3 Writing for browsers that do not support FRAMEIn this example, if the user reads "top.html":...and the user agent is not displaying frames, the user will have access (via a link) to a non-frames version of the same information. |
13.4 Frame sourcesTask:Use only HTML documents as frame sources. |
10.4 Frame sourcesCheckpoints in this section: 6.2 Ensure that equivalents for dynamic content are updated when the dynamic content changes. [Priority 1] ...Thus, content developers should always make the source ("src") of a frame an HTML file. |
13.5 Descriptive links for inaccessible frame source.Task:Links to frames that load inaccessible formats are sufficiently descriptive. |
10.2
Describing frame relationships Also, links to descriptions of a frame should be provided along with other alternative content in the NOFRAMES element of a FRAMESET. |
13.6 Alternative content for
|
10 FramesFrames as implemented today (with the FRAMESET, FRAME, and IFRAME elements) are problematic for several reasons: |
13.7 Longdesc for
|
none |
14 Forms |
11 Forms |
14.1 Tab order in formsTask:Create a logical tab order through links, form controls, and objects. |
11.1 Keyboard access to formsCheckpoints in this section: 9.4 Create a logical tab order through links, form controls, and objects. [Priority 3] |
14.2 Grouping form controlsTask:Use the |
11.2 Grouping form controlsCheckpoints in this section:
Content developers should group information where natural and appropriate. When form controls can be grouped into logical units, use the FIELDSET element and label those units with the LEGEND element: |
14.3 Grouping options of select elementsTask:Use the |
11.2.1 Grouping menu optionsContent developers should group information where natural and appropriate. For long lists of menu selections (which may be difficult to track), content developers should group SELECT items (defined by OPTION) into a hierarchy using the OPTGROUP element. Specifies a label for the group of options with the label attribute on OPTGROUP. |
14.4 Labeling form controlsTask:Use the |
11.3 Labeling form controlsCheckpoints in this section: 12.4 Associate labels explicitly with their controls. [Priority 2] |
14.5 Place-holding characters in empty controls (deprecated)Task:Until user agents handle empty controls correctly, include default, place-holding characters in edit boxes and text areas. |
11.5 Techniques for specific controlsCheckpoints in this section:
|
14.6 Text equivalents for submit buttonsTask:Provide a text equivalent for images used as "submit" buttons. |
11.4 Graphical buttonsUsing images to decorate buttons allows developers to make their forms unique and easier to understand. Using an image for a button (e.g., with the INPUT element or BUTTON) is not inherently inaccessible - assuming a text equivalent is provided for the image. |