What's new
Frontend Quality Audit
Comprehensive pass across all views addressing accessibility, theming, and performance:
prefers-reduced-motionsupport for users with vestibular disorders- Semantic HTML:
<main>landmark,<button>for nav items,aria-sorton tables - Escape key closes all modals, glossary hints keyboard-accessible
- 6 new theme-aware tint tokens that auto-flip for light/dark mode
- Login page normalized to shared design system
- Fluid typography with
clamp()for hero titles and metric values - Service worker now caches all application JS files
BQM Loss Bar Scaling
Lost polls bars now scale proportionally to sent polls. 35 lost out of 100 sent = 35% bar height (was 100%). Right Y-axis shows percentage labels.
Support Page Redesign
- New sidebar nav link to Support section
- Personal story as blockquote with author attribution
- GitHub Sponsors as primary CTA, PayPal/Ko-fi as secondary
- Star-on-GitHub call to action
Correlation View Polish
- Left-aligned header inline with time range tabs (reclaimed ~100px vertical space)
- Click-to-pin: click a table row to lock the chart crosshair highlight
- Mobile legend items get pill-shaped borders for better touch targets
- Removed hover lift from chart cards (not clickable targets)
Modulation View Polish
- Compact inline KPI strip replaces centered KPI cards
- Color tokens normalized to design system (--good/--warn/--crit)
- Conditional glossary hints (only rendered when translation text exists)
- Fixed "1 Channels" grammar (singular/plural)
Gaming View Polish
- Gauge is now the hero (redundant title removed)
- Score breakdown: compact rows with inline bars, expandable descriptions on click
- Game compatibility collapses to single summary line when all genres are OK (grade A/B)
- Tokenized colors replace opacity-based text muting
Channels View Polish
- Channel info bar after selection: shows Power, SNR, DOCSIS version, frequency, health badge
- Onboarding empty state with guidance text before channel selection
- Modulation chart spans full width (was half-width with dead space)
- Inline styles extracted to CSS classes
Setup Wizard Polish
- Tokenized colors replacing hard-coded rgba values
- Focus-visible outlines on choice cards
- Keyboard activation (Enter/Space) on choice cards
- Theme preference respected on first paint