Please also see my current work at The Enabled Web.

Basic accessibility evaluation

This protocol can be used to quickly determine if a web page meets basic accessibility standards. It requires no knowledge of web coding languages, and uses only the Firefox browser (http://www.mozilla.com/en-US/) with version 1.4 of the Illinois accessibility extensions toolbar. (http://firefox.cita.uiuc.edu/)

The following steps check only the static aspects of a page, including Section 508 Part B paragraphs 1194.22 (a),(c)–(j),(n), and (o). Pages with a "text-only" version [paragraph (k)] are not checked since they cannot provide equally effective access to the content. In development is a separate protocol to evaluate the dynamic behavior of a page—JavaScript, plug-ins, applets, Flash, multimedia, and timed response [paragraphs (b),(l),(m), and (p)].

In performing each check, you are looking for truly equally effective access for all readers, not just rote compliance with Section 508 (or WCAG). This should be verified by testing with actual disabled readers using a variety of assistive technologies.

  1. Visual check: All text should be easily legible to fully-sighted readers. When text is enlarged in the browser, all text (except banner logos) should respond and nothing should overlap or be hidden. Make sure nothing is flickering or flashing.
  2. Color: Make sure that information is not conveyed by color alone. Verify that color contrast is sufficient for fully sighted and color-blind readers.
  3. Headings: Headings should match the actual semantic structure of the document and should be properly nested by level. Headings should also be used to identify and navigate between groups of related links. Proper use of headings is now more accessible than adding "skip navigation" links.
  4. Image maps: Each active area of an image map must have associated link text; identical redundant text links outside the image must also be provided (although they will be flagged with a warning in the links check below). The map title is optional if the purpose of the form can be determined from context. (The "title" shown in the map information box simply represents a heading immediately preceeding the image.) If an obvious image map is not identified by this check, it is a server-side map which should never be used.
  5. Links: All links must have text; each link's text should describe its destination clearly; if link titles are present, they should not duplicate the link text; duplicate link text should not point to different destinations, but links that point to the same destination should have the same text each time. If any link has "javascript" as the target, additional evaluation will be needed (protocol in development).
  6. Forms: Each form control must have an associated label that describes its purpose. Tab order between form controls must match the order in which a user would normally complete them. Complex forms benefit from grouping controls with the fieldset element. (Click a control name in the form list to identify these if present.) The form title is optional if the purpose of the form can be determined from context. "Placeholder" text inside text boxes is no longer needed for screen readers; it is redundant in a properly-labeled form. Many forms will also have to be evaluated separately for dynamic behavior such as error response (protocol in development).
  7. Frames: Frames should never be used in new development, since the same functionality can be achieved in more accessible ways. For legacy sites that do use them, each frame must have a descriptive title to facilitate navigation between them. Frames must be re-sizable to accommodate text enlargement for low-vision users, and scrollable where necessary. They must provide access to the same content for user agents that do not support frames.
  8. Images: With images replaced by their text equivalents, no information or navigation should be lost to any visitor to the page. Purely decorative images should have null (empty) text equivalents, although those will be flagged incorrectly as errors if you happen to look at the toolbar List of Images.
  9. Styles and layout: With styles (CSS and tag styling) off, the semantic structure of the page content should be readily understandable from the browser's default rendering (of headings, lists, and so on) and navigable by assistive technologies. No content should appear that was made visible by CSS solely with mouse action (hover) or otherwise hidden from sighted readers. With layout tables removed, the page should read in logical order from top to bottom.
  10. Data Tables: Layout tables (those with no heading elements) should never be used to contain truly tabular data, and should never have summary attributes. True data tables should have each data cell associated with its column (and row, if appropriate) header or headers.

To finish, select Options -> Reset styling and settings and reload the page.