fix(ui): lift the muted text tokens to WCAG AA #113
No reviewers
Labels
No labels
bug
duplicate
enhancement
help wanted
invalid
question
wontfix
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
lz/agent-nexus!113
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/muted-contrast"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Second of four addressing
sidebar-issues— the closing line, "Check text colors for visibility! as most text as well as '...' buttons may be very hard to spot, especially when washed out backgrounds are applied."Measured, not eyeballed. It is worse than it looks.
The numbers
Contrast against the four surfaces text actually lands on —
--bg,--surface, a menu's#0e0e0e, and a washed row's#162029(a session colour at--wash-rowover--surface). The wash is the harshest because it lightens the ground under already-dim text, so contrast is worst on exactly the rows that have something going on.--muted-2at 1.69:1 on a washed row is below every threshold WCAG defines, including the 3:1 floor for controls — and that was the colour of the⋯button on a session row.The change
--muted→#8a8a8a, clearing AA (4.5:1) on all four.--muted-2cannot follow it: a second tier that also cleared AA on a washed row would have to sit within a shade of the first, which is no longer a second tier. It takes--muted's old value and is now explicitly the tier for what you skim rather than parse.That makes the tier boundary a real decision, so the call sites were sorted against it rather than left where they happened to be:
--muted-2entirely (3:1 at rest is a floor it clears nowhere):.icobtn,WorkspaceRail's.foot-btn, and the dock tab's close button — the only way to close a panel, permanently visible on the active tab, so being near-invisible cost the most there.--muted: menu and palette section headers, keyboard hints, empty-state copy,RailHoverCard's field labels,SettingsPanel's notes, the provisioning detail line,InstallSkillModal's picker metadata.--muted-2, which the shift alone lifts from ~2:1 to ~3.5:1: the·between facts, breadcrumb separators, a file extension beside a full-contrast filename, input placeholders, non-text decoration.Verification
Browser, ratios computed from the live computed styles rather than from the palette:
.icobtn,.factsand.card-metaall read 5.47:1 on--surface,.section-title5.73:1 on--bg.Gates: typecheck 4897 files / 0 errors, lint clean, 120 files / 1200 tests.
Honest limit
--muted-2stays deliberately below AA at 3.0–3.7:1. Closing that gap means collapsing to a single muted tone, which is a design decision rather than a fix — flagging it rather than making it here.