Free tool · runs in your browser
WCAG 2.1 AA checklist
WCAG 2.1 Level AA checklist
Website: · Printed · pillarscan.com/tools/wcag-checklist
0 of 50 reviewed · 0 pass · 0 fail · 0 not applicable
1. Perceivable
1.1.1Non-text Content
Level APartly automated
Every meaningful image, icon and image button has a text alternative that serves the same purpose; decorative images are hidden from screen readers (alt="").
Example: A flyer posted as an image has its date, time and place in the alt text or on the page.
Understanding 1.1.1 Non-text Content (W3C)1.2.1Audio-only and Video-only (Prerecorded)
Level AManual check
Recorded audio has a transcript; recorded video with no sound has a transcript or an audio track describing it.
Example: A podcast episode from the superintendent has a transcript.
Understanding 1.2.1 Audio-only and Video-only (Prerecorded) (W3C)1.2.2Captions (Prerecorded)
Level AManual check
Recorded videos with sound have accurate, synchronized captions (not unedited auto-captions).
Example: Board meeting recordings on YouTube have corrected captions.
Understanding 1.2.2 Captions (Prerecorded) (W3C)1.2.3Audio Description or Media Alternative (Prerecorded)
Level AManual check
Important visual information in recorded video is available as audio description or a full text alternative.
Example: A how-to video that shows steps on screen without saying them has a text version.
Understanding 1.2.3 Audio Description or Media Alternative (Prerecorded) (W3C)1.2.4Captions (Live)
Level AAManual check
Live-streamed video with audio has real-time captions.
Example: A livestreamed city council meeting has live captions (CART or a captioning service).
Understanding 1.2.4 Captions (Live) (W3C)1.2.5Audio Description (Prerecorded)
Level AAManual check
Recorded video has audio description for visual information not conveyed in the soundtrack.
Example: A campus tour video narrates what is shown, or offers a described version.
Understanding 1.2.5 Audio Description (Prerecorded) (W3C)1.3.1Info and Relationships
Level APartly automated
Headings, lists, tables, form labels and groups are marked up in code, not just styled to look that way.
Example: Bold text used as a heading is a real <h2>; a lunch menu table has header cells.
Understanding 1.3.1 Info and Relationships (W3C)1.3.2Meaningful Sequence
Level AManual check
The reading order in the code matches the order that makes sense visually.
Example: A two-column layout reads left column, then right, not alternating lines.
Understanding 1.3.2 Meaningful Sequence (W3C)1.3.3Sensory Characteristics
Level AManual check
Instructions do not rely only on shape, color, size, position or sound.
Example: "Click the green button on the right" also names the button: "Select Submit".
Understanding 1.3.3 Sensory Characteristics (W3C)1.3.4Orientation
Level AANew in 2.1Manual check
Content works in both portrait and landscape; it is not locked to one orientation.
Example: The mobile payment page does not force landscape.
Understanding 1.3.4 Orientation (W3C)1.3.5Identify Input Purpose
Level AANew in 2.1Partly automated
Fields that collect the user's own information use the right autocomplete attributes.
Example: Name, email, phone and address fields on an enrollment form have autocomplete="name", "email", etc.
Understanding 1.3.5 Identify Input Purpose (W3C)1.4.1Use of Color
Level APartly automated
Color is not the only way information is conveyed (links, errors, required fields, charts).
Example: Required fields have an asterisk and text, not only a red border; links in text are underlined.
Understanding 1.4.1 Use of Color (W3C)1.4.2Audio Control
Level AManual check
Audio that plays automatically for more than 3 seconds can be paused or stopped, or its volume controlled.
Example: A homepage welcome video does not auto-play with sound.
Understanding 1.4.2 Audio Control (W3C)1.4.3Contrast (Minimum)
Level AAPartly automated
Text has a contrast ratio of at least 4.5:1 (3:1 for large text).
Example: Gray text on a light hero image meets 4.5:1. Test with our contrast checker.
Understanding 1.4.3 Contrast (Minimum) (W3C)1.4.4Resize Text
Level AAPartly automated
Text can be zoomed to 200% without losing content or function; zoom is not disabled.
Example: At 200% browser zoom the menu and forms still work and nothing is cut off.
Understanding 1.4.4 Resize Text (W3C)1.4.5Images of Text
Level AAManual check
Text is real text, not a picture of text, except logos or where the image is essential.
Example: Event announcements are typed on the page, not uploaded as a JPG of a flyer.
Understanding 1.4.5 Images of Text (W3C)1.4.10Reflow
Level AANew in 2.1Manual check
At 320 CSS pixels wide (400% zoom on a 1280px screen) content fits without scrolling in two directions.
Example: At 400% zoom the news page becomes one column; only data tables and maps may scroll sideways.
Understanding 1.4.10 Reflow (W3C)1.4.11Non-text Contrast
Level AANew in 2.1Manual check
Form field borders, buttons, focus indicators and meaningful icons or chart parts have at least 3:1 contrast.
Example: A search box outline is visible against the white header.
Understanding 1.4.11 Non-text Contrast (W3C)1.4.12Text Spacing
Level AANew in 2.1Manual check
Nothing is lost when users increase line, paragraph, letter and word spacing.
Example: With a text-spacing bookmarklet, button labels do not overflow or get clipped.
Understanding 1.4.12 Text Spacing (W3C)1.4.13Content on Hover or Focus
Level AANew in 2.1Manual check
Tooltips and pop-ups that appear on hover or focus can be dismissed (Esc), can be hovered, and stay until dismissed.
Example: A dropdown menu does not vanish when the mouse moves onto it.
Understanding 1.4.13 Content on Hover or Focus (W3C)
2. Operable
2.1.1Keyboard
Level APartly automated
Everything can be done with a keyboard alone: menus, forms, sliders, pop-ups, maps, calendars.
Example: Tab through the homepage: every link and button can be reached and activated with Enter or Space.
Understanding 2.1.1 Keyboard (W3C)2.1.2No Keyboard Trap
Level AManual check
Keyboard focus never gets stuck in a component.
Example: You can tab into and back out of an embedded calendar or video player.
Understanding 2.1.2 No Keyboard Trap (W3C)2.1.4Character Key Shortcuts
Level ANew in 2.1Manual check
Single-key shortcuts (letters, numbers, punctuation) can be turned off or remapped, or only work when the component has focus.
Example: A document viewer's "s" shortcut does not fire while a speech-input user is dictating.
Understanding 2.1.4 Character Key Shortcuts (W3C)2.2.1Timing Adjustable
Level AManual check
Time limits can be turned off, adjusted or extended (with a warning), with limited exceptions.
Example: A payment session warns before timing out and lets the user ask for more time.
Understanding 2.2.1 Timing Adjustable (W3C)2.2.2Pause, Stop, Hide
Level APartly automated
Moving, blinking, scrolling or auto-updating content that lasts more than 5 seconds can be paused, stopped or hidden.
Example: The homepage photo carousel has a visible pause button.
Understanding 2.2.2 Pause, Stop, Hide (W3C)2.3.1Three Flashes or Below Threshold
Level AManual check
Nothing flashes more than three times in any one-second period.
Example: Animated alert banners do not strobe.
Understanding 2.3.1 Three Flashes or Below Threshold (W3C)2.4.1Bypass Blocks
Level APartly automated
There is a way to skip repeated blocks such as the header and menu (a skip link, landmarks, headings).
Example: The first Tab press shows a "Skip to main content" link.
Understanding 2.4.1 Bypass Blocks (W3C)2.4.2Page Titled
Level APartly automated
Each page has a unique, descriptive title.
Example: "Enrollment | Springfield School District", not "Home" on every page.
Understanding 2.4.2 Page Titled (W3C)2.4.3Focus Order
Level AManual check
Tab order follows a logical sequence that preserves meaning; dialogs move focus into themselves.
Example: Opening a modal puts focus inside it, and closing it returns focus to the button that opened it.
Understanding 2.4.3 Focus Order (W3C)2.4.4Link Purpose (In Context)
Level APartly automated
The purpose of each link is clear from its text or its surrounding sentence, list item or heading.
Example: "Read more about the bond election" instead of a row of "Click here" links.
Understanding 2.4.4 Link Purpose (In Context) (W3C)2.4.5Multiple Ways
Level AAManual check
There is more than one way to find a page: menu plus search, a site map or an A-Z index.
Example: The city site has site search in addition to its department menu.
Understanding 2.4.5 Multiple Ways (W3C)2.4.6Headings and Labels
Level AAManual check
Headings and form labels describe the topic or purpose.
Example: A form field labelled "Student's date of birth" rather than "Field 3".
Understanding 2.4.6 Headings and Labels (W3C)2.4.7Focus Visible
Level AAManual check
Keyboard focus is always visible.
Example: Tabbing through the menu shows a clear outline; CSS does not remove outlines without a replacement.
Understanding 2.4.7 Focus Visible (W3C)2.5.1Pointer Gestures
Level ANew in 2.1Manual check
Anything that uses multi-point or path-based gestures (pinch, swipe) also works with a single tap or click.
Example: A swipeable gallery also has previous and next buttons.
Understanding 2.5.1 Pointer Gestures (W3C)2.5.2Pointer Cancellation
Level ANew in 2.1Manual check
Actions fire on release (up-event), not on press, or can be aborted or undone.
Example: Pressing on a "Delete" button and sliding off does not delete.
Understanding 2.5.2 Pointer Cancellation (W3C)2.5.3Label in Name
Level ANew in 2.1Partly automated
The accessible name of a control includes its visible label text.
Example: A button that shows "Search" is not named "Go" for screen readers and voice control.
Understanding 2.5.3 Label in Name (W3C)2.5.4Motion Actuation
Level ANew in 2.1Manual check
Features triggered by shaking or tilting the device can also be operated with controls and can be turned off.
Example: "Shake to report a problem" in a city app also has a button.
Understanding 2.5.4 Motion Actuation (W3C)
3. Understandable
3.1.1Language of Page
Level APartly automated
Each page declares its main language in the code (lang attribute).
Example: <html lang="en">, and lang="es" on the Spanish version of the site.
Understanding 3.1.1 Language of Page (W3C)3.1.2Language of Parts
Level AAPartly automated
Passages in another language are marked with their own lang attribute.
Example: A Spanish paragraph on an English page has lang="es" so screen readers pronounce it correctly.
Understanding 3.1.2 Language of Parts (W3C)3.2.1On Focus
Level AManual check
Moving focus to a component does not by itself trigger a change of context.
Example: Tabbing onto a menu item does not open a new page.
Understanding 3.2.1 On Focus (W3C)3.2.2On Input
Level AManual check
Changing a form setting does not cause an unexpected change of context unless the user is warned first.
Example: Choosing a school in a dropdown does not immediately navigate away; there is a Go button.
Understanding 3.2.2 On Input (W3C)3.2.3Consistent Navigation
Level AAManual check
Navigation repeated across pages appears in the same relative order.
Example: Each school's subsite keeps the district menu in the same order.
Understanding 3.2.3 Consistent Navigation (W3C)3.2.4Consistent Identification
Level AAManual check
Components with the same function are labelled consistently across pages.
Example: The search button is "Search" everywhere, not "Find" on some pages.
Understanding 3.2.4 Consistent Identification (W3C)3.3.1Error Identification
Level AManual check
Input errors that are detected automatically are identified and described in text.
Example: "Enter a ZIP code with 5 digits" appears next to the field, not just a red outline.
Understanding 3.3.1 Error Identification (W3C)3.3.2Labels or Instructions
Level APartly automated
Form fields have visible labels or instructions, including required formats.
Example: Date fields show the expected format (MM/DD/YYYY); placeholders are not the only label.
Understanding 3.3.2 Labels or Instructions (W3C)3.3.3Error Suggestion
Level AAManual check
When an error is detected and a fix is known, the suggestion is given to the user.
Example: "Email address must include @" instead of "Invalid input".
Understanding 3.3.3 Error Suggestion (W3C)3.3.4Error Prevention (Legal, Financial, Data)
Level AAManual check
Submissions with legal or financial consequences can be reversed, are checked for errors, or can be reviewed and confirmed first.
Example: A utility payment shows a review screen before it is charged.
Understanding 3.3.4 Error Prevention (Legal, Financial, Data) (W3C)
4. Robust
4.1.1Parsing
Level APartly automated
Markup has no errors that break assistive technology. W3C now treats this criterion as always satisfied for HTML (errata, 2023); it was removed in WCAG 2.2.
Example: Duplicate IDs referenced by labels are still worth fixing because they break 1.3.1 and 4.1.2.
Understanding 4.1.1 Parsing (W3C)4.1.2Name, Role, Value
Level APartly automated
Custom controls (menus, tabs, toggles, accordions) expose their name, role and state to assistive technology.
Example: An accordion button has aria-expanded that changes between true and false.
Understanding 4.1.2 Name, Role, Value (W3C)4.1.3Status Messages
Level AANew in 2.1Partly automated
Status messages (results counts, "saved", errors after submit) are announced without moving focus.
Example: "12 results found" after a search is in a live region.
Understanding 4.1.3 Status Messages (W3C)
How to use this checklist
- Pick a sample of pages. The homepage, a page from each main template (news article, department page, calendar, staff directory), your most-used forms (enrollment, payments, permits, job applications) and a few documents such as board agendas. W3C's evaluation method, WCAG-EM, recommends a structured sample like this rather than testing every page by hand.
- Run an automated scan first. It finds the repetitive, machine-detectable problems (missing alt text, low contrast, unlabeled fields, missing page language) so your manual time goes to the criteria a tool cannot judge. PillarScan's free scan does this for your homepage.
- Test with a keyboard. Put the mouse away and use Tab, Shift+Tab, Enter, Space, the arrow keys and Esc. This alone covers 2.1.1, 2.1.2, 2.4.3, 2.4.7, 1.4.13 and much of 3.2.1.
- Zoom and resize. Zoom to 200% and 400% in the browser, turn your phone sideways, and apply a text-spacing bookmarklet (1.4.4, 1.4.10, 1.4.12, 1.3.4).
- Listen with a screen reader. NVDA (free, Windows) or VoiceOver (built into Mac and iPhone). Check headings, links, images, forms and error messages (1.1.1, 1.3.1, 2.4.4, 3.3.1, 4.1.2, 4.1.3).
- Check media and documents. Captions, transcripts and audio description for video (1.2.x); see our PDF accessibility guide for documents.
- Record and prioritize. Mark each criterion, write down the page and the problem in the notes, export to CSV and fix barriers that block a task (paying, enrolling, applying) first.
Level A and Level AA
WCAG groups success criteria into three levels. Level A is the minimum; Level AA adds requirements such as text contrast, visible focus and consistent navigation. The Title II rule requires Level AA, which means meeting every Level A and Level AA criterion: all 50 in this list. Level AAA is not required.
What this checklist does not cover
The rule also covers mobile apps, and it has specific exceptions and limits, for example for archived web content, preexisting conventional electronic documents and some third-party content, each with conditions. Those are legal questions, not testing questions; our ADA compliant website guide summarizes them with citations, and your counsel can apply them to your entity. This page is general information, not legal advice.
Sources
- W3C, Web Content Accessibility Guidelines (WCAG) 2.1 (success criteria names, numbers and levels)
- W3C, Understanding WCAG 2.1
- W3C, WCAG-EM: Website Accessibility Conformance Evaluation Methodology
- eCFR, 28 CFR part 35 subpart H (web content and mobile apps)
- W3C, What's new in WCAG 2.2 (removal of 4.1.1 Parsing)
Questions
Frequently asked
How many success criteria are in WCAG 2.1 AA?
50: 30 at Level A and 20 at Level AA. Conforming to Level AA means meeting all 50. WCAG 2.1 also has 28 Level AAA criteria, which the Title II rule does not require.
Which version does ADA Title II require?
WCAG 2.1 Level AA, under 28 CFR 35.200. Meeting WCAG 2.2 AA also covers 2.1 AA in practice, because 2.2 keeps every 2.1 criterion except 4.1.1 Parsing, which W3C now treats as always satisfied for HTML.
What is new in WCAG 2.1 compared with 2.0?
Twelve Level A and AA criteria, mostly for mobile, low vision and cognitive accessibility: orientation, input purpose, reflow, non-text contrast, text spacing, content on hover or focus, character key shortcuts, pointer gestures, pointer cancellation, label in name, motion actuation and status messages. Use the "New in 2.1" filter to see them.
Can an automated scanner check all of these?
No. Automated tools such as axe-core can detect some failures of about half of the criteria (marked "Partly automated"), but none of them can confirm a pass on their own. Keyboard testing, a screen reader check and human judgment are needed for the rest.
Is my data saved or sent anywhere?
Your results and notes are saved in this browser's local storage so you can come back later. Nothing is sent to PillarScan. Use Export CSV to keep a copy or share it with your team.
Does completing this checklist make our site compliant?
No checklist can certify compliance. It is a structured way to review a page or a site and record what you found. The rule's requirements, exceptions and limits are in 28 CFR 35.200 to 35.205; ask your counsel about your entity's obligations.