Files
multica/packages
Lambda 7391de4d73 fix(ui): replace the text-alpha ladder with solid tones (MUL-5452)
Hierarchy was being expressed with alpha: 152 call sites of
text-muted-foreground/30..80, plus 26 of text-foreground/60..90 and a
handful on destructive and current. On light surfaces every muted variant
failed WCAG AA - /80 reached only 3.78:1 and /40 sat at 1.80:1 - because
the palette had no step below --muted-foreground, so alpha was the only
tool for 'quieter than muted'.

The palette now has that step, and it is deliberately non-text:
--faint-foreground clears 3:1 (WCAG 1.4.11) on every surface for icons,
chevrons, separator glyphs and empty-cell em dashes. There is no room for
a third readable text tone - AA caps a lighter text tone 0.018 L away from
muted - so text keeps exactly one floor, --muted-foreground.

Also fixes text-destructive/70 on a cron error message, which was 3.61:1.

apps/web/app/text-contrast.test.ts recomputes the contrast floors from
tokens.css rather than hard-coding ratios, and fails the build on new
alpha-as-hierarchy. Alpha behind hover/focus/disabled stays allowed: the
resting state carries the contrast obligation and it is solid.

Co-authored-by: multica-agent <github@multica.ai>
2026-07-29 16:46:09 +08:00
..