Accessibility
Accessibility is part of the system, not a last step. Strong contrast, semantic color, and intentional motion keep the experience usable for everyone.
Color Contrast
- Pulsar White 1000 on Void Charcoal 900 and 800.
- Singularity Black 1000 on Xevor Flare 1000 and Nexa Cluster 1000.
- Pulsar White 1000 on Quasar Red 1000 and Sirius Blue 1000.
- Avoid Nexa Cluster 1000 on white, low-contrast Signal Grey 1000 on grey, and Aurel Sand 1000 body text on light backgrounds.
Motion
- Honor prefers-reduced-motion with instant state changes.
- Do not use motion purely for decoration or to distract from tasks.
- Keep transitions short (150-400 ms) and direct.
Data Visualization
- Do not rely on color alone; use patterns, labels, or direct values.
- Provide data tables or tooltips for screen-reader users.
- Maintain 4.5:1 contrast for text labels.
Typography and Icons
- Minimum body size is 16 px with 1.5 line height.
- Pair icons with labels or aria-label attributes.
- Ensure visible focus rings use Nexa Cluster 1000.
PENDING Automated accessibility audit and screen-reader testing are pending. Color-blindness simulation is on the Data Viz Color page, and `prefers-reduced-motion` is now honored in base.css.