Home -> (Resources) -> Manual evaluation
Please also see my current work at
The Enabled Web.
Section 508 manual evaluation
This procedure is designed to be used in parallel with an automated
accessibility evaluation report produced by HiSoftware® or similar tools; it
could also be used on its own without automated assistance. A companion
reference guide is linked from each section and
an evaluation tools page points to helpful
software for developers.
This document is also useful in a training program for developers
learning accessible techniques; please see our workshop
description on this site. Developers familiar with these techniques may often find that a simple
quick-check procedure is sufficient to identify most
barriers to accessibility on a page.
Automated evaluation tools only check things that can be
evaluated by a computer. These definitely do not include the human factors that
are contained here. Even looking at human factors cannot guarantee
accessibility for every possible user, but following this procedure will
certainly represent a good-faith effort to make a page or site as accessibile
as possible today.
The urgency of each question is identified as follows:
- "Must repair:" means just that, for immediate compliance with Section 508.
Where repairs are impractical and the page cannot be replaced immediately,
identify alternative means for providing equivalent content.
- "Best practice:" questions and comments should be applied in new construction
where development tools and
skills permit. Many of these items benefit developers as much as users!
- Questions not prefaced either way must be applied in new construction and
may be applied to older sites if practical, but are not "letter of the law"
immediate fixes.
Syntax validation
Syntax validation reference
- Is the page valid HTML? (fix if "no") Best practice: XHTML 1.0
Strict or Transitional.
- Does the page use valid CSS? (fix if "no") Best practice: CSS
should be entirely separate from HTML code.
Semantic validation
Semantic validation reference
- Must repair: Does the text of each link describe where the link goes? (fix if "no")
- Must repair: Do any links with the same text point to different places? (fix if "yes")
- Best practice: are headings properly nested by level? (fix if "no")
- Best practice: do headings accurately reflect the structure
of the document content? (fix if "no")
Checkpoint A, text equivalents
Checkpoint A reference
- Must repair: Do images that convey content have equivalent alt-text? (fix if "no")
Best practice: if you also use the title attribute, it should not duplicate
the alt text. (Updated November 2007)
- Must repair: Do purely decorative images have empty alt-text (alt="")? (fix if "no")
- Does alternate text make sense in the context of the page as spoken? (fix if "no")
- Do images that convey complex content have longdesc attributes or
equivalent text content elsewhere on the page? (fix if "no") May have to
be evaluated by a domain expert.
- Does text content contained in images disappear when images are
not available? (fix if "yes") Best practice: minimize the amount of text
contained in images; use CSS for typography instead.
- Must repair: Does image map area alt-text describe the link destination correctly? (fix if "no")
Best practice: if you also use the title attribute, it should not duplicate
the alt text. (Updated November 2007)
Checkpoint B, multimedia equivalents
Checkpoint B reference
- Is synchronized captioning provided for all spoken content? (fix if "no"; may require a temporary
alternate means of delivering the content)
- Additional review items may be provided later.
Checkpoint C, color
Checkpoint C reference
- Must repair: Is information conveyed by color also conveyed by context, markup,
graphic coding, or other means? (fix if "no")
- Does the contrast between foreground and background colors have a luminosity
contrast ratio of least 5:1 for both normal vision and color blindness?
(fix if "no") Best practice: 10:1. (see reference for this checkpoint)
- Is a correct contrast ratio maintained when images are not available? (fix if "no")
Checkpoint D, styles
Checkpoint D reference
- Must repair: Are styles used to simulate headings or other semantic markup? (fix if "yes")
- With all styles disabled, is color and font information rendered in the
browser's default style? (fix if "no")
- With all styles disabled, are headings, paragraphs, and lists obvious
and sensible? (fix if "no")
- With all styles disabled, does the order of the page content make
sense as read? (fix if "no")
- Best practice: With all styles disabled, is most text (other than logos
and banners) rendered in text rather than images? (fix if "no")
- Best practice: With all styles disabled, does any content appear that
was invisible before? (fix if "yes")
Checkpoint E, server-side image maps
Checkpoint E reference
- Does this page use server-side image maps? (fix if "yes") Comment:
there is no reason to use these today, despite the exception
allowed in checkpoint f.
Checkpoint F, client-side image maps
Checkpoint F reference
- See Checkpoint A for alt-text requirement.
- Best practice: Is there a non-graphic alternative to the image map,
for example a drop-down selection control? (fix if "no")
Checkpoint G, simple tables
Checkpoint G reference
- Must repair: For tables containing data, are <th> elements used in the first row (and first
column, if applicable)? (fix if "no")
- Must repair: Do <th> elements contain the scope (="col" or ="row") attribute? (fix if "no")
- Best practice: For tables containing data, is the summary attribute used to
explain the meaning of the table if it is not otherwise evident from context? (fix if "no")
- Must repair: For tables that are used for layout only, are <th> elements or the
summary attribute used at all? (fix if "yes")
Best practice: minimize use of tables for layout only, and avoid deeply-nested or complex layout
tables altogether.
- Must repair: If tables are used at all for layout, does the content linearize properly
when layout tables are turned off? (fix if "no")
Checkpoint H, complex tables
Checkpoint H reference
- Must repair: For tables containing data, are <th> elements used in all header rows (and
columns, if applicable)? (fix if "no")
- Must repair: Does each <th> element contain the id attribute? (fix if "no")
- Must repair: Does each <td> element contain a headers attribute that associates it with
its column and row headers? (fix if "no") Note: <id> and <headers> serve the same
function for complex tables that <scope> does for simple tables.
- Are the summary attribute and <thead> and <tbody> elements used to clarify the
table meaning and structure if needed? (fix if "no")
- Best practice: use complex tables only if the data really makes sense in this format; otherwise,
find a simpler way to present the data to all readers.
- Note: see Checkpoint G above for tables that are used for layout only. (Both checkpoints updated
December 2007.)
Checkpoint I, frames
Checkpoint I reference
- Must repair: Does each <frame> element have a meaningful title attribute? (fix if "no")
- Must repair: Does the page have equivalent content in a <noframes> element for user agents
that do not support frames? (fix if "no")
- Best practice: don't use frames.
Checkpoint J, flicker
Checkpoint J reference
- Must repair: Does any page element flicker at an unhealthy rate? (fix if "yes")
- Best practice: Does any element on the page move at all? (fix if "yes" unless the moving
element conveys information relevant to the page content, and then refer to
checkpoints B, L, and M)
Checkpoint K, text only
Checkpoint K reference
- Does this page have a text-only version? (fix if "yes" by making the page compliant
with the rest of the checkpoints) Comment: there is no reason today to have
separate versions, despite the grudging exception contained in this checkpoint. For
quick repair, a text version must contain the same information as the basic page.
Checkpoint L, scripts
Checkpoint L reference
- Must repair: Are HTML event handlers accessible to both mouse and keyboard users? (fix if "no"
unless mouseovers are purely decorative; e.g., changing color of a graphic
link.) Best practice: use CSS :hover in place of JavaScript and graphic links.
- Must repair: Is all content and functionality generated by scripts also provided to user
agents that do not support scripts?
(fix if "no" unless "functionality" is purely decorative).
Comment: Don't use href="javascript:..." for anything; it's not a URI!
- Best practice: Is modern "unobtrusive" JavaScript, compliant with W3C standards including WAI-ARIA,
used in place of older
coding techniques? (fix if "no") Comment: when done correctly, these coding techniques do not
require the <noscript> element.
Checkpoint M, applets and plug-ins
Checkpoint M reference
- Are links provided to any special readers or plug-ins that are required to
interpret page content? (fix if "no")
- Do special readers or plug-ins comply with the requirements of Section 508
paragraphs 1194.21(a)-(l), the Subpart B technical standards for software?
(fix if "no"; requires separate evaluation)
- Are documents that are presented in commonly-supported formats such as
PDF and Word constructed so as to be accessible? (fix if "no"; requires separate evaluation)
Checkpoint N, forms
Checkpoint N reference
- Must repair: Does each <input> element or control (except buttons) have an associated
and visible <label> element or title attribute? (fix if "no")
- Must repair: Are all cues for filling out the form (mandatory fields, help boxes,
error messages, and so on) available to users of assistive technology? (fix if "no")
- Is the tab order to reach the form and the tab order between form
elements consistent with the normal order of entering form data? (fix if "no")
- Are logically-related groups of form elements identified with appropriate
<fieldset>, <legend>, or <caption> elements? (fix if "no")
- Is placeholder text, if used, redundant or distracting to users of
assistive technology? (fix if "yes") Comment: most properly labeled form elements
no longer benefit from placeholder text.
Checkpoint O, skip links
Checkpoint O reference
- Must repair: Can a user navigate over groups of links, between multiple groups
of links, and between sections of the page content by means of section headings or visible and
audible local links? (fix if "no")
Best practice: headings are most helpful for users of modern assistive technology;
"skip" links and headings can be used in combination where appropriate.
Checkpoint P, timed response
Checkpoint P reference
- Must repair: If a timed response is required, is the user alerted and given sufficient time
to indicate that more time is required? (fix if "no"; see also next item)
- In a timed environment such as an examination, are users who need more time
accommodated in an appropriate alternative way? (fix if "no"; may be organizational
rather than technical solution)
User validation
User validation reference
- Does all text (except in banner graphics) enlarge or shrink in response to
changes in browser text size settings? (fix if "no")
- Does text enlarged with browser settings wrap within columns? (fix if "no")
- Do columns, page elements, or text lines overlap each other when text is
enlarged with browser settings? (fix if "yes")
- Do actual low vision users encounter any remaining barriers? (fix if "yes") Comment:
this and the following two items may be simulated, although actual users are best.
- Do actual blind users encounter any remaining barriers? (fix if "yes")
- Do actual users with other disabilities encounter any remaining barriers? (fix if "yes")