2026-07-04 — v22 annotation lanes + dark-mode accessibility
This pass closes two UX gaps from the redesign workstream: annotation lanes now behave like a true contextual track (not a shell when no trace exists), and color/focus tokens are verified with measured contrast assertions instead of visual guesswork.
What changed
- Contextual annotation lanes: ORF/restriction lanes remain hidden until trace context exists, then render with exact fixture-backed chip values and jump behavior.
- Accessibility token hardening: introduced a dedicated
--color-focus-ringtoken with a visible 3px ring, strengthened border tokens for non-text contrast, and desaturated dark-mode blue accents while preserving hierarchy. - Measured contrast tests: added genuine computed-ratio assertions in E2E for helper text (≥4.5:1) and UI border/focus indicators (≥3.0:1) across both light and dark themes.
Validation
npm run typechecknpm run lintnpm run testnpm run test:e2e