Accessibility
WCAG 2.1 AA Accessibility Checklist
April 12, 2026
8 min read
Most accessibility audits I've seen follow the same pattern: someone runs an automated tool, flags a handful of color contrast issues, and calls it done. That's not accessibility. That's checkbox theater.
Real WCAG 2.1 AA compliance is about designing for the full range of human ability — low vision, motor impairment, cognitive differences, screen reader users. It's one of the most under-invested areas in product design, and also one of the highest-leverage places a senior designer can add value.
After ten years building financial products, healthcare platforms, and consumer apps, here's the checklist I actually use.
1. Perceivable
Users must be able to perceive all content. Nothing should be invisible to their senses.
**Color Contrast**
**Images and Media**
**Text and Sizing**
2. Operable
Users must be able to operate the interface — keyboard, voice, switch access, whatever they use.
**Keyboard Navigation**
**Focus Indicators**
**Timing**
**Touch and Pointer**
3. Understandable
Interfaces need to make sense. Predictability and error prevention matter enormously.
**Language and Reading Level**
**Predictable Behavior**
**Error Handling**
**Forms**
4. Robust
Content must work reliably across different browsers, devices, and assistive technologies.
**Semantic HTML**
**ARIA When Necessary**
**Interactive Components**
5. Common Patterns Worth Getting Right
**Images of Text**: If you're rendering text as an SVG or image for visual reasons, provide a text alternative. Exception: logos.
**Link Text**: "Click here" and "read more" are meaningless out of context. Describe where the link goes. "Read the WCAG 2.1 guidelines" is correct. "Click here" is not.
**Icon Buttons**: A button that's just an icon needs aria-label. A magnifying glass icon button should have aria-label="Search", not nothing.
**Placeholder Text**: Placeholder disappears on input. It's not a label. Use both a visible label and placeholder if needed.
**Disabled States**: Disabled elements are typically excluded from the accessibility tree. If users need to understand why something is disabled, consider using aria-disabled instead, which keeps the element in focus order.
**Motion**: Respect prefers-reduced-motion. Any animation should pause or simplify when that media query is true.
6. Testing Stack
Automated tools catch about 30% of issues. The rest requires human judgment.
The Honest Take
Accessibility isn't a sprint at the end of a project. It's a design constraint that shapes decisions from the start — color palette, type scale, interaction patterns, component architecture.
When I'm starting a new project, I establish contrast ratios before I pick brand colors. I define focus styles before I write component CSS. That's the only way to make it stick.
The spec is dense. But in practice, 80% of issues come from five things: missing alt text, poor color contrast, unlabeled form inputs, no keyboard focus styles, and inaccessible custom components.
Get those right and you're most of the way there.