Accessibility in the Design System
Ensuring accessibility is a core principle of our design system. This page outlines how to implement WCAG 2.1 Level AA guidelines in our components.
Why Accessibility Matters
- Legal Compliance: Meets global standards like EU Accessibility Act (2025) and ADA (US).
- Better Usability: Enhances UX for all users.
- SEO & Performance: Improves visibility in search engines.
- Wider Audience: Supports users with disabilities.
Implementing WCAG 2.1 AA
Accessibility-First Design System
Document accessibility rules for all components
- Each UI component must include accessibility guidelines (focus styles, semantic HTML, ARIA support).
- Ensure sufficient contrast ratios (4.5:1for text,3:1for UI elements).
Define Accessible Design Tokens
- Ensure color contrast meets WCAG requirements.
- Provide visible focus indicators (e.g., focus:ring-2).
- Ensure clickable areas are at least 48x48px.
Accessible Component Standards
Buttons
- Must be focusable and keyboard-accessible.
- Avoid <div>buttons; use<button>elements.
- Use aria-label="Close"for icon-only buttons.
- Add focus:ring-2 focus:ring-brand-500for visible focus.
Form Inputs
- Labels must be explicitly linked to inputs (<label for="id">).
- Error messages should use aria-live="assertive".
- Maintain a logical tab order.
Modals
- Use role="dialog"andaria-labelledby="modal-title".
- Ensure focus trapping inside the modal.
- Enable closing via Escape (esc) key.
Tables
- Use semantic <table>structure with<th>,<td>, and<caption>.
- Sortable columns should include aria-sort="ascending"or"descending".
Keyboard & ARIA Best Practices
Ensure all interactive elements are keyboard-accessible (tabindex="0").
Use correct role attributes (role="button", role="alert").
Live updates should be screen reader friendly (aria-live="polite").
Testing & Tools
Use the following tools to validate accessibility:
- Axe DevTools (Chrome/Firefox extension)
- Lighthouse (Google Chrome Audits)
- NVDA / VoiceOver Screen Readers
- Keyboard Navigation Testing
By implementing these practices, our design system ensures an inclusive and accessible experience for all users.