fix(redesign): a11y, mobile, perf polish for production push

Comprehensive pre-production sweep across the Aurora redesign — drives
svelte-check to 0 errors / 0 warnings (was 61) without changing visual
intent. Highlights:

- Mobile: hero title shrinks at 480px, signal-list stacks timestamp
  under sentence below 640px, sidebar icon buttons bumped to 40x40
- Light theme: muted-foreground darkened to #3a3560 to clear WCAG AA
  on glass surfaces and the modal close button
- Perf: topbar backdrop-filter 28→14px, mobile-more sheet 28→12px to
  cut concurrent blur layers on mid-tier mobile
- a11y: prefers-reduced-motion mute for aurora drift / pulses /
  shimmer / stagger; aria-label on every icon-only button;
  aria-describedby on Hint; combobox/listbox/aria-activedescendant on
  SearchPalette; modal dialog tabindex; 47 label-without-control
  warnings across 14 form pages cleaned up via for=/id= or label→div
- Dashboard derived state split into topology- vs status-bound layers
  so polling no longer re-runs the full provider/wires computation
- Mobile bottom nav derived from baseNavEntries by key lookup so
  adding a top-level nav entry keeps the two trees in sync
- Bug: template-configs page now respects the global provider filter
  for both the count meter and the type pill (was reading the
  unfiltered cache)
- Misc: portal EventChart tooltip and switch its swatches to Aurora
  tokens; CollapsibleSlot warning state uses warning-fg/-bg tokens
  instead of #d97706; Hint z-index 99999→9999; element refs across
  Modal/EntitySelect/MultiEntitySelect/SearchPalette/IconGridSelect/
  Hint/targets converted to \$state for reactivity; 4 dead
  .topbar-cta selectors removed
This commit is contained in:
2026-04-25 14:41:12 +03:00
parent 9eb76c1407
commit 711f218622
25 changed files with 233 additions and 153 deletions
+26 -1
View File
@@ -90,7 +90,7 @@
--color-background-deep: #ede9fe;
--color-foreground: #1a1530;
--color-muted: rgba(20, 15, 60, 0.04);
--color-muted-foreground: #4a4670;
--color-muted-foreground: #3a3560;
--color-border: rgba(20, 15, 60, 0.08);
--color-glass: rgba(255, 255, 255, 0.55);
@@ -434,3 +434,28 @@ button:focus-visible, a:focus-visible {
opacity: 0.5;
animation: none;
}
/* === Reduced-motion: kill drift, pulses, shimmers, stagger entrances === */
@media (prefers-reduced-motion: reduce) {
body::before { animation: none !important; }
.animate-fade-slide-in,
.animate-shimmer,
.animate-pulse-glow,
.animate-count-up,
.animate-rise,
.stagger-children > *,
.aurora-pulse,
.aurora-pulse.warn,
.aurora-pulse.error {
animation: none !important;
}
.stat-card,
.paginator-btn,
.signal-row,
.provider-row {
transition: none !important;
}
* {
scroll-behavior: auto !important;
}
}