fix(a11y): switch names, contrast floors, and chart-toggle pressed state

- Admin SettingsToggle: name the Radix switch via aria-label so it no longer
  announces as a bare 'switch, on/off' (one shared component, six call sites).
- Replace the phantom text-destructive-foreground / text-warning-foreground
  utilities with the vetted destructive pattern (bg-destructive text-white
  dark:bg-destructive/60) and a readable foreground on the warning wash — no
  more dead classes riding on cascade order.
- Drop the sub-AA opacity tiers: lab sparkline + titration marker off
  muted/70, state icons (query-error, chart empty/error, med sort) off
  muted/60 to the full token so they clear the light-theme floor.
- Chart range toggles expose aria-pressed (lab, custom-metric, health, mood,
  compliance) so the active window is conveyed to assistive tech.
This commit is contained in:
Marc-André Bombeck committed 2026-07-08 23:51:22 +02:00
1 parent 9f4c7e48fe
commit 930fa81124
16 files changed
+21 -11

No files matched your search

@@ -115,6 +115,7 @@ export function LabBiomarkerChart({
key={r.key}
size="sm"
variant={range === r.key ? "secondary" : "ghost"}
aria-pressed={range === r.key}
className="h-7 px-2 text-xs"
onClick={() => setRange(r.key)}
>
+1 -1
View File
@@ -54,7 +54,7 @@ export function LabTrendSparkline({
width={width}
height={height}
viewBox={`0 0 ${width} ${height}`}
className="text-muted-foreground/70 overflow-visible"
className="text-muted-foreground overflow-visible"
aria-hidden
role="presentation"
>