Accessibility Guide
Overview
Dashtray is committed to providing an accessible experience for all users, including those using assistive technologies. This guide outlines our accessibility standards and best practices.WCAG Compliance
We aim for WCAG 2.1 Level AA compliance across the application.Key Principles
- Perceivable: Information must be presentable to users in ways they can perceive
- Operable: UI components must be operable by all users
- Understandable: Information and UI operation must be understandable
- Robust: Content must be robust enough to work with assistive technologies
Keyboard Navigation
Global Shortcuts
- Tab: Navigate forward through interactive elements
- Shift + Tab: Navigate backward through interactive elements
- Enter/Space: Activate buttons and links
- Escape: Close dialogs and modals
- Arrow Keys: Navigate within lists, menus, and tabs
Skip to Content
A “Skip to main content” link appears when tabbing, allowing keyboard users to bypass navigation:Focus Management
- Focus is trapped within modals and dialogs
- Focus returns to trigger element when closing modals
- Focus indicators are visible and meet contrast requirements
- No positive tabindex values (disrupts natural tab order)
Screen Reader Support
ARIA Labels
All interactive elements have accessible names:ARIA Roles
Use semantic HTML first, ARIA roles when necessary:Live Regions
Announce dynamic content changes:ARIA States
Update ARIA states dynamically:Color and Contrast
Contrast Ratios
- Normal text: 4.5:1 minimum (WCAG AA)
- Large text (18pt+): 3:1 minimum (WCAG AA)
- UI components: 3:1 minimum
Testing Contrast
Color Independence
Never rely on color alone to convey information:Images and Media
Alternative Text
All images must have alt text:Video and Audio
- Provide captions for videos
- Provide transcripts for audio
- Don’t autoplay media
- Provide controls
Forms
Labels
Every input must have an associated label:Error Messages
Link error messages to inputs:Required Fields
Indicate required fields:Interactive Components
Buttons
Buttons must have accessible text:Links
Links must have descriptive text:Dialogs and Modals
Dialogs must be properly labeled and manage focus:Testing
Automated Testing
Run accessibility audit:Manual Testing
-
Keyboard Navigation
- Tab through entire application
- Verify all interactive elements are reachable
- Verify focus indicators are visible
- Test keyboard shortcuts
-
Screen Reader Testing
- Test with NVDA (Windows)
- Test with JAWS (Windows)
- Test with VoiceOver (macOS/iOS)
- Test with TalkBack (Android)
-
Zoom Testing
- Test at 200% zoom
- Verify no horizontal scrolling
- Verify text doesn’t overlap
-
Color Contrast
- Use browser DevTools contrast checker
- Test in high contrast mode
- Test with color blindness simulators
Browser Extensions
- axe DevTools: Automated accessibility testing
- WAVE: Web accessibility evaluation tool
- Lighthouse: Includes accessibility audit
- Color Contrast Analyzer: Check contrast ratios
Common Patterns
Loading States
Empty States
Tooltips
Data Tables
Checklist
- All images have alt text
- All inputs have labels
- All buttons have accessible text
- Color contrast meets WCAG AA
- Keyboard navigation works throughout
- Focus indicators are visible
- Skip to content link present
- ARIA labels on icon buttons
- Error messages linked to inputs
- Dialogs trap focus
- Live regions for dynamic content
- No positive tabindex values
- Semantic HTML used
- Screen reader tested
- Lighthouse accessibility score > 90