Overview
Accessibility is a core principle of Angular Material. All components are designed to work with assistive technologies and follow WAI-ARIA best practices to ensure your applications are usable by everyone.Angular Material components are tested with screen readers and keyboard navigation to ensure they provide an accessible experience out of the box.
Browser and Screen Reader Support
Angular Material supports the most recent two versions of all major browsers:Desktop Browsers
- Chrome
- Firefox
- Safari
- Edge
Mobile Browsers
- Chrome on Android
- Safari on iOS
Screen Reader Support
Angular Material aims for great user experience with the following screen readers:- Windows
- macOS
- iOS
- Android
- Chrome OS
NVDA and JAWS with Firefox or Chrome
- Use NVDA (free) or JAWS for testing
- Test with both Firefox and Chrome
- Verify keyboard navigation works correctly
- Check that ARIA labels are announced properly
Accessibility Features
Keyboard Navigation
All Angular Material components support full keyboard navigation:Tab Navigation
Tab Navigation
Arrow Key Navigation
Arrow Key Navigation
Action Keys
Action Keys
- Enter: Activate buttons and links
- Space: Toggle checkboxes and select options
- Escape: Close dialogs and overlays
- Home/End: Navigate to first/last items
ARIA Support
Angular Material components implement appropriate ARIA attributes:- Labels
- States
- Roles
- Live Regions
Components provide accessible labels:
Focus Management
The CDK provides powerful focus management tools:High Contrast Mode
Angular Material supports high contrast modes used by users with low vision:Strong Focus Indicators
Enable enhanced focus indicators to meet accessibility requirements like WCAG 2.4.7:theme.scss
Customize Focus Indicators
Accessibility Best Practices
Always Provide Labels
Always Provide Labels
Every interactive element needs an accessible label:
Use Semantic HTML
Use Semantic HTML
Use the correct HTML element for the job:
Maintain Heading Hierarchy
Maintain Heading Hierarchy
Use headings in order (h1, h2, h3…):
Provide Form Validation Feedback
Provide Form Validation Feedback
Make errors accessible to screen readers:
Ensure Sufficient Color Contrast
Ensure Sufficient Color Contrast
Text should have sufficient contrast ratio:
- Normal text: At least 4.5:1
- Large text (18pt+): At least 3:1
- UI components: At least 3:1
Support Keyboard-Only Users
Support Keyboard-Only Users
Test your application using only the keyboard:
- All interactive elements are reachable
- Focus indicators are clearly visible
- Logical tab order is maintained
- No keyboard traps exist
Avoid ALL CAPS in Content
Avoid ALL CAPS in Content
Screen readers may read capitalized text character-by-character:
Provide Alternative Text
Provide Alternative Text
Images and icons need alternatives:
Testing Accessibility
Keyboard Testing
Test your application using only the keyboard:
- Can you reach all interactive elements?
- Is the focus indicator always visible?
- Is the tab order logical?
- Can you activate all buttons and links?
Screen Reader Testing
Test with a screen reader:
- Are all elements properly announced?
- Do form fields have clear labels?
- Are error messages read aloud?
- Can you navigate by headings and landmarks?
CDK Accessibility Tools
The CDK provides utilities for building accessible custom components:Live Announcer
Announce messages to screen readers:
Focus Trap
Trap focus within a region:
Focus Monitor
Monitor focus origin:
List Key Manager
Manage keyboard navigation in lists:
Resources
WCAG Guidelines
Web Content Accessibility Guidelines
WAI-ARIA Practices
ARIA Authoring Practices Guide
MDN Accessibility
Learn about web accessibility
axe DevTools
Browser extension for accessibility testing
Next Steps
CDK a11y Module
Explore CDK accessibility utilities
Theming
Learn about color contrast in themes
Components
Explore accessible Material components