It’s extremely useful to have a WCAG checklist to hand when you’re working through the guidelines. A WCAG checklist helps you to check your web accessibility progress, record how far you’ve come and set your targets out for the future.
Wuhcag is all about holistic web accessibility – that means taking everything about your website into account. That’s why I don’t rush you to make every web accessibility change at once – it’s too much for you to do and so it’s bad for your users. I love a structured approach to everything in life, and your website is no exception.
I’ve created a three checklists for you below, with links to articles about each guideline. You can get three free PDFs checklists when you join my free newsletter, where the Wuhcag community focuses on one guideline every week.
Get Your Free WCAG Checklists
Join over 3,700 subscribers who've used my WCAG checklists to make their projects more accessible, plus get my weekly web accessibility newsletter.
Over 600 developers like you have learned more about the Web Content Accessibility Guidelines with my guidebook.
I’ve organised my WCAG checklists by level (read more about WCAG levels here). If you’re attacking the guidelines in order (and I suggest you do), you’ll move from Level A (Beginner) through Level AA (Intermediate) and on to Level AAA (Advanced).
WCAG Checklist Level A (Beginner)
Guideline | Summary |
1.1.1 – Non-text Content | Provide text alternatives for non-text content that serves the same purpose. |
1.2.1 – Audio-only and Video-only (Pre-recorded) | Provide an alternative to video-only and audio-only content. |
1.2.2 – Captions (Pre-recorded) | Provide captions for videos with audio. |
1.2.3 – Audio Description or Media Alternative (Pre-recorded) | Provide audio description or text transcript for videos with sound. |
1.3.1 – Info and Relationships | Content, structure and relationships can be programmatically determined. |
1.3.2 – Meaningful Sequence | Present content in a meaningful order. |
1.3.3 – Sensory Characteristics | Instructions don’t rely solely on sensory characteristics. |
1.4.1 – Use of Colour | Don’t use presentation that relies solely on colour. |
1.4.2 – Audio Control | Don’t play audio automatically. |
2.1.1 – Keyboard | All functionality is accessible by keyboard with no specific timings. |
2.1.2 – No Keyboard Trap | Users can navigate to and from all content using a keyboard. |
2.1.4 – Character Key Shortcuts | Allow users to turn off or remap single-key character shortcuts. |
2.2.1 – Timing Adjustable | Provide user controls to turn off, adjust or extend time limits. |
2.2.2 – Pause, Stop, Hide | Provide user controls to pause, stop and hide moving and auto-updating content. |
2.3.1 – Three Flashes or Below Threshold | No content flashes more than three times per second. |
2.4.1 – Bypass Blocks | Provide a way for users to skip repeated blocks of content. |
2.4.2 – Page Titled | Use helpful and clear page titles. |
2.4.3 – Focus Order | Components receive focus in a logical sequence. |
2.4.4 – Link Purpose (In Context) | Every link’s purpose is clear from its text or context. |
2.4.7 – Focus Visible | Keyboard focus is visible when used. |
3.1.1 – Language of Page | Page has a language assigned |
3.2.1 – On Focus | Elements do not change when they receive focus |
3.2.2 – On Input | Elements do not change when they receive input |
3.3.1 – Error Identification | Clearly identify input errors |
3.3.2 – Labels or Instructions | Label elements and give instructions |
4.1.1 – Parsing | No major code errors |
4.1.2 – Name, Role, Value | Build all elements for accessibility |
WCAG Checklist Level AA (Intermediate)
Guideline | Summary |
1.2.4 – Captions (Live) | Add captions to live videos. |
1.2.5 – Audio Description (Pre-recorded) | Provide audio descriptions for pre-recorded videos. |
1.3.4 – Orientation | Your website adapts to portrait and landscape views. |
1.3.5 – Identify Input Purpose | The purpose of input fields must be programmatically determinable. |
1.4.3 – Contrast (Minimum) | Contrast ratio between text and background is at least 4.5:1. |
1.4.4 – Resize Text | Text can be resized to 200% without loss of content or function. |
1.4.5 – Images of Text | Don’t use images of text. |
1.4.10 – Reflow | Content retains meaning and function without scrolling in two dimensions. |
1.4.11 – Non-Text Contrast | The contrast between user interface components, graphics and adjacent colours is at least 3:1. |
1.4.12 – Text Spacing | Content and function retain meaning when users change elements of text spacing. |
1.4.13 – Content on Hover or Focus | When hover or focus triggers content to appear, it is dismissible, hoverable and persistent. |
2.4.5 – Multiple Ways | Offer at least two ways to find pages on your website. |
2.4.6 – Headings and Labels | Headings and labels describe topic or purpose. |
3.1.2 – Language of Parts | Tell users when the language on a page changes |
3.2.3 – Consistent Navigation | Use menus consistently |
3.2.4 – Consistent Identification | Use icons and buttons consistently |
3.3.3 – Error Suggestion | Suggest fixes when users make errors |
3.3.4- Error Prevention (Legal, Financial, Data) | Reduce the risk of input errors for sensitive data |
WCAG Checklist Level AAA (Advanced)
Guideline | Summary |
1.2.6 – Sign Language (Pre-recorded) | Provide sign language translations for pre-recorded videos. |
1.2.7 – Extended Audio description (Pre-recorded) | Provide extended audio descriptions for pre-recorded videos. |
1.2.8 – Media Alternative (Pre-recorded) | Provide text alternatives for pre-recorded videos. |
1.2.9 – Audio Only (Live) | Provide alternatives for live audio. |
1.3.6 – Identify Purpose | The purpose of all components must be programmatically determinable. |
1.4.6 – Contrast (Enhanced) | Contrast ratio between text and background is at least 7:1. |
1.4.7 – Low or No Background Audio | Audio-only content is clear with no or minimal background noise. |
1.4.8 – Visual Presentation | Offer users a range of presentation options for blocks of text. |
1.4.9 – Images of Text (No Exception) | Don’t use images of text. |
2.1.3 – Keyboard (No Exception) | All functionality is accessible by keyboard with no exceptions. |
2.2.3 – No Timing | No time limits on your website. |
2.2.4 – Interruptions | Users can postpone or supress non-emergency interruptions. |
2.2.5 – Re-authenticating | Save user data when re-authenticating. |
2.2.6 – Timeouts | Warn users about timeouts that cause data loss. |
2.3.2 – Three Flashes | No content flashes more than three times per second. |
2.3.3 – Animation from Interactions | Users can disable motion animation. |
2.4.8 – Location | Let users know where they are on your website. |
2.4.9 – Link Purpose (Link Only) | Every link’s purpose is clear from its text. |
2.4.10 – Section Headings | Organise content with headings. |
3.1.3 – Unusual words | Explain any strange words |
3.1.4 – Abbreviations | Explain any abbreviations |
3.1.5 – Reading Level | Users with nine years of school can read your content |
3.1.6 – Pronunciation | Explain any words that are hard to pronounce |
3.2.5 – Change on Request | Don’t change elements on your website until users ask |
3.3.5 – Help | Provide detailed help and instructions |
3.3.6 – Error Prevention (All) | Reduce the risk of all input errors |