Designing forAccessibility
True accessibility isn't a patch—it's a fundamental design principle. Follow this guide to create experiences that work for everyone, regardless of ability.
The POUR Principles
Perceivable
Information and UI components must be presentable to users in ways they can perceive.
- Text Alternatives
- Captions
- Adaptable Content
- Distinguishable Colors
Operable
User interface components and navigation must be operable.
- Keyboard Accessible
- Enough Time
- Seizure Safe
- Navigable
Understandable
Information and the operation of user interface must be understandable.
- Readable Text
- Predictable UI
- Input Assistance
Robust
Content must be robust enough that it can be interpreted reliably by assistive technologies.
- Parsing
- Name, Role, Value
- Status Messages
Instant Fixer
Paste your inaccessible code snippet below. Our engine will apply WCAG 2.1 best practices to automatically repair common violations.
Waiting for code...
Paste your snippet on the left and hit fix to see the magic happen.
Verified Patterns
Common components done right.
Buttons & Links
WCAG 2.1.1, 2.4.4, 2.4.7Buttons trigger actions, links navigate. Ensure they are keyboard accessible and have clear labels.
Don't Do This
<div
onClick={submit}
className="btn"
>
Submit
</div>- Not keyboard accessible
- No semantic role
- No focus state
Do This
<button
type="button"
className="px-4 py-2 bg-blue-600 text-white rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2"
>
Save Changes
</button>- Explicit type="button"
- Focus ring with offset visible on all backgrounds
- Good contrast (7.5:1)
- Visible text is the accessible name
Developer's Quick Checklist
Structure
- Use semantic HTML5 elements (<main>, <nav>, <header>)
- Ensure logical heading hierarchy (h1 -> h2 -> h3)
- Use list elements (<ul>, <ol>) for grouped items
Interaction
- All interactive elements must be keyboard focusable
- Focus order matches visual order
- Focus indicators are clearly visible
- No keyboard traps
Visuals
- Text has 4.5:1 contrast ratio (3:1 for large text)
- Color is not the only way to convey information
- Support text resizing up to 200%
Media
- Images have descriptive alt text
- Videos have captions and transcripts
- Audio controls don't autoplay