Level A checklist
Does all dynamic visual information have a text equivalent (e.g. a visual progress-meter also shows a % figure)?
Does all interactive content have an associated label or short instructions about its behaviour?
Is there a mechanism for bypassing repeating blocks of content (e.g. site navigation has a button to expand and collapse it or a skip link)?
Is all interactive content accessible to the keyboard, using common keystrokes like ‘Tab’, ‘Enter’ and the Arrow Keys?
Is the click event used as the main activation event for on-demand functionality?
Is all mouse-controlled functionality also accessible to the keyboard, either by direct keyboard access to the same functionality, or by an alternative keyboard mechanism that achieves the same end-result?
Are all links, buttons and form fields accessible to the keyboard, and have visual indication when they’re focused?
If a time-limit is in use, is the user warned when the limit is about to expire, and provided with a mechanism for extending it?
Does automatically-scrolling content have a mechanism to pause it?
Does automatically-scrolling content provide an alternative static version?
Does all blinking or flashing animation stop with 5 seconds?
When content is dynamically inserted into the DOM, is it next in the tab-order (i.e. directly after the element that triggered it, or which has the current focus)?
If custom dialogs are used (e.g. an image lightbox), can they be activated and closed again with only the keyboard, and are they inserted into the DOM directly after their triggering element?
If drag-and-drop is used, is it keyboard accessible, or is there a keyboard-based means of achieving the same end-result?
Menus and Navigation
If a dynamic menu is used, is it fully accessible to the keyboard using ‘Tab’ and/or Arrow Keys?
If new windows are opened, are they triggered only by activation events (i.e. selecting a link), not by focus or load events?
If a SELECT element is used for navigation, does it have a separate “Go” button that must be selected to load the new page, rather than loading as soon as an option is selected?
If automatic page redirections are used, are they implemented only with server-side scripting?
If automatic page refreshes are used, is a mechanism provided that gives the user control over this, and defaults to not refreshing at all?
Is form validation triggered by submission of the form, not by individual field events?
Is form submission bound to the form’s submit event, not to the submit button’s click event?
Does form validation trigger an alert and then set focus on the first invalid field?
Are validation error messages inserted into the DOM directly after the field they relate to?
Is it possible to ‘Tab’ freely around a form without the focus being forced into invalid fields?
Level AA checklist
If form fields require a specific format or range of values, is contextual help-text available, either as help messages inserted into the DOM directly after the field they relate to or as default information in the field’s LABEL or title attribute?