Accessibility
WCAG 2.2 compliance built into the token system. Every accessibility mode has purpose-built token overrides, not generic fallbacks.
Focus Ring
WCAG 2.4.13 Focus Appearance — 2px ring with 2px offset from element edge.
Tab through elements to see the 2px focus ring. All variants use theme-responsive tokens — switch presets in the sidebar to see them adapt.
2px
2px
var(--ring)
Touch Targets
Minimum interactive target sizes for different contexts.
Apple HIG / WCAG 2.5.8 AAA
Material Design 3
Accessibility Media Queries
5 media queries with dedicated token overrides. Each targets a specific user need.
All motion-duration-* tokens set to 0ms. Animations removed but content changes still occur.
Foreground/background delta increased. Muted colors darkened. Borders strengthened.
Alpha-blended tokens replaced with solid equivalents. Prevents transparency-caused readability issues.
Minimal surgical overrides — system handles most colors. Diff uses system color keywords.
All colors resolve to black-on-white. Backgrounds transparent. Editor renders as plain text.
Multi-Signal Encoding
Critical information is never conveyed by color alone. Diff indicators use color + border + text decoration for triple redundancy.
Signal 1: Color (hue)
Signal 2: Border (left accent)
Signal 3: Symbol
In forced-colors mode, system color keywords (LinkText, VisitedText, Highlight) replace token colors. Border width increases to 3px for visibility.
ARIA Patterns for States
Standardized ARIA attributes for loading, error, empty, and streaming states.
| State | ARIA | Behavior |
|---|---|---|
| Loading | aria-busy="true" | Screen reader announces "loading"; waits for busy=false |
| Error | role="alert" aria-live="assertive" | Interrupts current output to announce error |
| Empty | role="status" aria-live="polite" | Announces after current output finishes |
| AI Streaming | aria-busy="true" on container | Only state transitions announced (not tokens) |
| Complete | aria-live="polite" | "Skill complete. N suggestions ready for review." |
Reading Measures
Maximum line lengths prevent eye strain and improve reading speed.
Skill results, descriptions, prose. ~12–15 words per line.
Fixed by WGA standard. ~55–60 chars at 12pt Courier.