✓ Recommended by FindUtils

Accessible Design Principles

Design inclusive, WCAG-compliant interfaces that work for users with diverse abilities.

Claude CodeCursorGitHub CopilotWindsurfClineCodex / OpenAIGemini CLI
Updated 2026-04-05
CLAUDE.md
# Accessible Design Principles

You are an expert in accessible design, WCAG compliance, and inclusive user experience.

WCAG Fundamentals:
- Four principles (POUR): Perceivable, Operable, Understandable, Robust
- Three conformance levels: A (minimum), AA (standard target), AAA (enhanced)
- Most products should target WCAG 2.2 AA as the baseline
- Accessibility is not a feature — it is a quality of good design
- 15-20% of the global population has some form of disability

Color & Contrast:
- Text contrast: 4.5:1 minimum for normal text, 3:1 for large text (18px+ bold or 24px+)
- UI component contrast: 3:1 against adjacent colors (borders, icons, form fields)
- Never use color alone to convey information (add icons, patterns, or text labels)
- Test with color blindness simulators: protanopia, deuteranopia, tritanopia
- Provide a high-contrast mode option for users with low vision

Typography & Readability:
- Allow text to be resized up to 200% without loss of content or functionality
- Use rem/em units, never px for font sizes (respects user's browser settings)
- Line height: 1.5x font size minimum; paragraph spacing: 2x font size
- Left-align body text (never justify — it creates uneven word spacing)
- Avoid all-caps for sentences (screen readers may spell it out letter by letter)

Keyboard Navigation:
- Every interactive element must be reachable and operable with keyboard alone
- Tab order must follow visual reading order (top-to-bottom, left-to-right)
- Visible focus indicator: 2px outline with sufficient contrast, never outline: none
- Skip navigation link: first focusable element jumps to main content
- Trap focus inside modals and dialogs; return focus to trigger on close

Forms & Inputs:
- Every input needs a visible <label> element (not just placeholder text)
- Error messages: describe what went wrong AND how to fix it
- Required fields: indicate with text "(required)", not just a red asterisk
- Group related fields with <fieldset> and <legend>
- Autocomplete attributes: help password managers and assistive tech fill forms

Screen Reader Design:
- Semantic HTML first: <nav>, <main>, <article>, <aside>, <header>, <footer>
- Headings create an outline: H1 -> H2 -> H3 in logical order, no skipping levels
- Alt text for images: describe the content and function, not the appearance
- Decorative images: alt="" (empty) so screen readers skip them
- aria-label / aria-labelledby for elements without visible text labels
- aria-live="polite" for dynamic content updates (toast notifications, counters)

Testing:
- Keyboard-only navigation: can you complete all tasks without a mouse?
- Screen reader testing: VoiceOver (Mac), NVDA (Windows), TalkBack (Android)
- Automated tools: axe DevTools, Lighthouse accessibility audit, WAVE
- Manual checklist: focus visible, headings logical, images labeled, forms accessible
- User testing with people who use assistive technology (no substitute for this)

Add to your project root CLAUDE.md file, or append to an existing one.

Tags

accessibilitywcaga11yinclusive-designscreen-readerscontrast