Prefers Reduced Motion
Lumidot automatically respects theprefers-reduced-motion media query, which indicates that users prefer reduced or minimal animation.
How It Works
- Wave Mode Patterns
- Sequence Mode Patterns
For patterns using wave mode (most patterns), animations continue normally even when
prefers-reduced-motion is enabled, as the wave animation is subtle and doesn’t involve rapid or jarring motion.Testing Reduced Motion
You can test the reduced motion behavior in several ways:Semantic HTML
Lumidot uses semantic HTML attributes to ensure screen readers and assistive technologies can properly interpret the loading state.ARIA Attributes
role="status"— Indicates this is a status update regionaria-label="Loading"— Provides a text alternative for screen readers
The
role="status" is a live region that announces changes politely, without interrupting the user.Screen Reader Announcements
When a Lumidot loader appears, screen readers will announce “Loading” to inform users that content is being loaded.Best Practices
- Inline Loading
- Full-Page Loading
- Dynamic Updates
For inline loading indicators, the default label is sufficient:Screen readers will announce: “Loading, Processing…, button, disabled”
Color Contrast
Ensure sufficient color contrast between the loader and its background for users with visual impairments.WCAG Guidelines
Contrast Examples
Checking Contrast
Use browser DevTools or online tools:- WebAIM Contrast Checker
- Chrome DevTools: Elements → Styles → Color picker shows contrast ratio
- Colour Contrast Analyser
Keyboard Navigation
Lumidot loaders are not interactive elements and do not receive keyboard focus, which is appropriate for loading indicators.Focus Management
- Modal Loaders
- Page Loaders
Timing Considerations
Minimum Display Time
For very fast operations, consider showing the loader for a minimum duration to avoid jarring flashes:Maximum Wait Time
For long operations, provide feedback or alternatives:Accessibility Checklist
Use this checklist to ensure your Lumidot implementation is accessible:Visual Accessibility
Visual Accessibility
- Sufficient color contrast (3:1 minimum)
- Loader is visible against background
- Glow effect is not overwhelming
- Animation is not too fast or jarring (consider
durationprop) - Loader does not flash for very short operations
Motion Accessibility
Motion Accessibility
-
prefers-reduced-motionis respected (automatic) - Sequence mode patterns show all dots when motion is reduced (automatic)
- Animation duration is reasonable (0.4-1.2s recommended)
- No rapid flashing or strobing effects
Screen Reader Accessibility
Screen Reader Accessibility
-
role="status"is present (automatic) -
aria-label="Loading"is present (automatic) - Additional context provided for complex loaders
- Progress updates announced for long operations
- Loading state is announced when it appears
Keyboard Accessibility
Keyboard Accessibility
- Interactive elements are disabled during loading
- Focus is managed appropriately
- Focus returns to appropriate element after loading
- No keyboard traps
Timing & Feedback
Timing & Feedback
- Minimum display time for fast operations (300-500ms)
- Maximum wait time before offering alternatives (10-15s)
- Progress indication for operations >3 seconds
- Cancel/retry options for long operations
Additional Resources
WCAG Guidelines
Web Content Accessibility Guidelines
MDN Accessibility
Accessibility documentation and guides
A11y Project
Community-driven accessibility resources
WebAIM
Web accessibility training and tools
Next Steps
Patterns
Explore all 36 animation patterns
Colors
Learn about color variants