Appendix: The AA Conformance Checklist
Use this checklist as your repeatable indicator — a structured way to judge whether a page, post, document, or video actually meets WCAG Level AA, and to show donors and partners the evidence.
It is adapted into plain language from the global consensus: the W3C evaluation methodology (WCAG-EM), the WebAIM WCAG 2 Checklist, The A11y Project checklist, and Deque’s testing research. The marking scale (Supports / Partially Supports / Does Not Support) is the same one used in the international VPAT / Accessibility Conformance Report that vendors file.
How to use it
- Define the scope — pick what you are checking: one campaign post, a PDF report, a video, or a representative sample of your most-used page types.
- Check the whole thing — evaluate the complete page or process, not just part of it.
- Mark every applicable row S, PS, DNS, or N/A (scale below).
- Read the verdict, log anything that is not “Supports,” fix it, and re-check — accessibility is ongoing, not one-time.
Test in three layers — a green scan is not enough
No single method finds everything. Combine all three:
- Automated tools (axe, WAVE, Lighthouse) — fast, but partial. Deque’s study of 13,000 pages found automation identifies about 57% of issues (up to ~80% with guided testing). A useful first pass, never sufficient alone.
- Manual checks — work through this checklist by hand: keyboard-only use, contrast, headings, alt text, captions, link text.
- Real assistive technology and people — test with a screen reader (NVDA, VoiceOver) and, wherever possible, with people with disabilities. The only way to be sure.
Run the manual checks yourself
You do not need special software or training to catch the most common problems. These four checks take about ten minutes on any page, document, or post.
1. The keyboard test (about 2 minutes)
Put your mouse aside and use the keyboard alone:
- Tab moves forward, Shift + Tab moves back, Enter or Space activates a link or button, and the arrow keys move within menus and radio groups.
- Check you can reach and use every control — links, buttons, form fields, menus — in a logical order.
- Check the focus outline is always visible, so you can see where you are.
- Check you are never trapped — you can always Tab back out of a menu, dialog, or video player.
- Check a “skip to main content” link appears first, before the navigation.
2. Try a screen reader (about 15 minutes)
Free screen readers are built in or one download away:
- Windows: NVDA (free download) with Firefox or Chrome. Turn it on or off with the NVDA key — Insert or Caps Lock.
- Mac / iPhone: VoiceOver, built in. On a Mac, toggle it with Command + F5; it is driven with the Control + Option keys.
- Android: TalkBack, built in.
- Turn off your screen (or close your eyes) and try one task — read a page, or fill in a form. Listen: are images described? Do links make sense out of context? Are headings and form fields announced and labelled?
3. Two one-minute checks
- Zoom to 200% (Ctrl/Cmd and the + key). Is all the text still readable, with nothing cut off, overlapping, or needing sideways scrolling?
- Switch on high-contrast / forced-colours mode in your operating system. Does anything disappear — borders, icons, the focus outline, buttons?
Part A — Content checklist (your team controls this)
| Check | WCAG (level) | Result |
|---|---|---|
| Every informative image has clear alt text; decorative images are marked empty. | 1.1.1 (A) | |
| Audio-only content (podcast, voice note) has a transcript. | 1.2.1 (A) | |
| Every video has accurate captions (auto-captions reviewed and corrected). | 1.2.2 (A) | |
| Important visuals in video are described (audio description or text alternative). | 1.2.3 / 1.2.5 (A/AA) | |
| Live videos and webinars have live captions. | 1.2.4 (AA) | |
| Headings, lists, and tables use real styles — not just big or bold text. | 1.3.1 (A) | |
| The content still makes sense when read in order, top to bottom. | 1.3.2 (A) | |
| Instructions don’t depend on shape, size, or location alone (“the round button”). | 1.3.3 (A) | |
| Meaning is never shown by color alone (a label or icon is added too). | 1.4.1 (A) | |
| Text contrast is at least 4.5:1 (3:1 for large text). | 1.4.3 (AA) | |
| Important text is real text, not text baked into an image. | 1.4.5 (AA) | |
| Icons and graphics that carry meaning have at least 3:1 contrast. | 1.4.11 (AA) | |
| Nothing flashes more than three times per second. | 2.3.1 (A) | |
| Links make sense on their own (no bare “click here”). | 2.4.4 (A) | |
| Headings and labels are descriptive. | 2.4.6 (AA) | |
| The language of the content is set correctly. | 3.1.1 / 3.1.2 (A/AA) | |
| Forms have clear, visible labels and instructions. | 3.3.2 (A) | |
| Form errors are explained in words and easy to fix. | 3.3.1 / 3.3.3 (A/AA) | |
| Documents are exported as tagged (accessible) PDFs. | 1.3.1 (A) | |
| Slides use real layouts with unique titles and a correct reading order. | 1.3.1 / 1.3.2 | |
| Emails carry key information as text (not only images), with descriptive links. | 1.1.1 / 2.4.4 | |
| Any AI-generated alt text or captions were reviewed and corrected. | Best practice |
Part B — Website & app checklist (hand this to whoever builds your site)
These criteria are usually controlled by your website or app, not by the person writing a post — but they are part of a full AA claim, so share them with your developer or platform provider.
| Check | WCAG (level) | Result |
|---|---|---|
| Everything works with the keyboard alone; focus is never trapped. | 2.1.1 / 2.1.2 (A) | |
| The keyboard focus outline is always clearly visible. | 2.4.7 (AA) | |
| A “skip to main content” link is available. | 2.4.1 (A) | |
| Every page has a unique, descriptive title. | 2.4.2 (A) | |
| The keyboard focus order is logical. | 2.4.3 (A) | |
| Text can zoom to 200% and reflow at narrow widths with no loss. | 1.4.4 / 1.4.10 (AA) | |
| Content works in both portrait and landscape. | 1.3.4 (AA) | |
| Auto-playing audio or video can be paused or stopped. | 1.4.2 / 2.2.2 (A) | |
| Navigation and component names are consistent across pages. | 3.2.3 / 3.2.4 (AA) | |
| Buttons, fields, and controls expose a name, role, and value to assistive tech. | 4.1.2 (A) | |
| Important status messages are announced to assistive tech. | 4.1.3 (AA) | |
| (WCAG 2.2) Touch targets are large enough, focus isn’t hidden, and no action needs dragging only. | 2.5.8 / 2.4.11 / 2.5.7 (AA) |