- 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