HTML 508 Checklist
Print this webpage to use as a checklist or keep at your desk for a handy reference.
If you are responsible for creating or signing off/clearing files, you can use this checklist as part of your process. You may find it helpful to review the checklist before you create your file, and also to print out the checklist and check off each item after you have created your file, or when you receive the file.
Last Updated: March 2013
Do images that convey contextual content have equivalent alternative text specified in the
Do images that are purely decorative, and not contextual, have empty, or null, alternative text specified, e.g.
Does the alternate text convey contextual relevance to the page it is on?
Do images that convey complex content have
Does text content contained in images disappear when images are not available, i.e. is there text contained in the images?
Do image map
Do form non-text controls, e.g. input type image, provide a text alternative that identifies the purpose of the non-text control?
Is a full text transcript provided for all prerecorded audio?
Is a full text transcript provided for all prerecorded video?
Are open or closed captions provided for all synchronized video?
Is fully synchronized text alternative or sound track provided for all video interaction that is not otherwise described?
Is information conveyed by color also conveyed by context, markup, graphic coding, or other means?
Does a contrast ratio of at least 4.5:1 exist between text, and images of text, and background behind the text?
Is a correct contrast ratio maintained when images are not available?
Is a correct contrast ratio maintained when CSS is disabled?
Are links distinguished from surrounding text with sufficient color contrast and is additional differentiation provided when the link receives focus, e.g. it becomes underlined?
With CSS disabled, is color and font information rendered in the browser's default CSS?
With CSS disabled, are headings, paragraphs, and lists obvious and sensible?
With CSS disabled, does the order of the page content make sense as read?
With CSS disabled, is most text, other than logos and banners, rendered in text rather than images?
With CSS disabled, does any content that was invisible before stay invisible?
With CSS disabled, is any content or functionality provided by the CSS through mouse action also provided through keyboard-triggered event handlers?
When tables are used for layout, does the content linearize properly when layout tables are turned off?
Are links in server-side image maps repeated elsewhere in the page that are non-graphical, e.g. a normal list of links?
Are client-side image maps used instead of server-side image maps?
Do client-side image maps have appropriate alternative text for the image, as well as each hot spot region?
For tables containing data, do
For tables containing data, do
For tables containing data, is the summary attribute used to explain the meaning of the table if it is not otherwise evident from context?
For tables that are used for layout, are
For complex tables, do
For complex tables, does each
For complex tables, does any
Does the page have equivalent content in a
Does any page element NOT flicker at an unhealthy rate, e.g. less than three flashes per second?
Does any page NOT contain the
Does a document have a text-only version? If so, does it meet all Section 508 criteria?
Does the text-only version contain the same exact information as the original document?
Does the text-only version provide the functionality equivalent to that of the original document?
Is an alternative provided for components, e.g. plug-ins & scripts, which are not directly accessible?
Are links provided to any special readers or plug-ins that are required to interpret page content?
Do special readers or plug-ins comply with the requirements of Section 508 paragraphs §1194.21(a)-(l)?
Does each appropriate
Are all cues for filling out the form available to users of assistive technology, e.g. mandatory fields, help boxes, error messages?
Is the tab order to reach the form and the tab order between form elements logical and consistent with the normal and visual order of entering form data?
Are logically-related groups of form elements identified with appropriate
Is placeholder text, if used, NOT redundant or distracting to users of assistive technology?
Do form error messages identify the error(s) to the user and describe them to the user in text?
If repetitive navigation links are at the beginning of the source of the HTML page, can a user navigate via a link, the “skip link”, at the top of each page directly to the main content area?
If a “skip link” is provided, does the anchor element contain text content that is visible with CSS disabled?
If a “skip link” is provided and it is hidden with CSS, is it available to users of assistive technology, e.g. not using the
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?
Are heading elements used to convey logical hierarchy and denote the beginning of each section of content?
Is enough time provided to allow users to read and interact with content?
Is the functionality of the content predictable, i.e. will a user experience contextual changes when unbeknownst to them?
Does the user have control over the timing of content changes?
If a page or application has a time limit, is the user given options to turn off, adjust, or extend that time limit?
Can automatically moving, blinking, or scrolling content that lasts longer than 3 seconds be paused, stopped, or hidden by the user?
Can automatically updating content be paused, stopped, or hidden by the user or the user can manually control the timing of the updates, e.g. automatically redirecting or refreshing a page, a news ticker, AJAX updated field, a notification alert, etcetera?
Can interruptions be postponed or suppressed by the user, e.g. alerts, page updates, etcetera?
If an authentication session expires, can the user re-authenticate and continue the activity without losing any data from the current page?