Repository navigation
A11Y-001: a status chip on a status-tinted row is readable - #996
Merged
Merged
Conversation
A snoozed reminder's row is bg-warning/5 and an overdue one's bg-danger/5, and each carries a warning Badge (bg-warning/15) for its priority or its snooze. The tints compound to 19.25%, where the light theme's --warning read 4.23 over --bg. Darken it once more, hue and saturation held, to the first value that clears 4.5 on that nested ground (123 88 15, 4.53); the mobile tokens move with it. The contract test composes the row's tint and the Badge's from the source, in both themes; a new Chromium spec builds the row and Badges from the components' own class strings, measures computed backgrounds through every ancestor, and shows the previous token failing the same measurement. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TRY21ZKsFrfB3qtoP972A4
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
This was referenced Oct 10, 2026
#1001 landed first and edited the same light token block and the same test file. Kept #996's extended comment and --warning: 123 88 15 beside #1001's --accent: 169 66 21, and both new describe blocks, each with its own closing lines. brand-contrast-contract, design-tokens, the palette, read-only-field and readiness-score tests pass on the merge (8 files, 105 tests). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KP9rt5rVQ9jDMpZp2xBy3K
NewWorldVenture
marked this pull request as ready for review
October 11, 2026 01:06
NewWorldVenture
pushed a commit
that referenced
this pull request
Oct 11, 2026
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KP9rt5rVQ9jDMpZp2xBy3K
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A11Y-001: follows #994. That PR merged at fd9eeb2 before this owner finding could ride it.
The defect
#994 held each status role's text to 4.5:1 on the strongest tint that one class string pairs with it. A chip can also sit on another element's tint. In the reminders list:
bg-warning/5(components/modules/reminders-module.tsx, the row'scn());bg-danger/5;Badges (bg-<role>/15 text-<role>,components/ui/badge.tsx): one for its priority (medium is warning; high and urgent are danger) and one for its state.The two tints compound to an effective 19.25%. With #994's light
--warning, a warning chip reads:--bg--bgThe fix
--warning(light) is darkened once more, the way the token block prescribes: hue and saturation held, lightness reduced, to the first value that clears 4.5:1 on that nested ground.--warning(light)129 93 16123 88 15--bgis 6.04, and white on warning as a solid fill is 6.47.design/tokens.json, which the mobile app reads, moves with it.Tests
tests/brand-contrast-contract.test.ts, new block: "a status chip on a status-tinted reminder row is readable".Badge's tones, and the tones a row can show (PRIORITIESplus the snoozed and overdue Badges).tests/e2e/a-status-chip-on-a-tinted-row.spec.ts(Chromium, no account):cn(), and builds its Badges fromBadge's tone strings. These go on the sign-in page overbg-bg,bg-surfaceandbg-elevated.--warningon the fixture and shows that the same measurement then fails at 4.2x.main--warningset on the fixture, measures 4.2x on both rows overbg-bg/dashboard/reminders, a disposable household with snoozed and overdue reminders at medium, high and urgent priority, composed computed styles (author-run, local, not committed)maintoo) / 0 / 0 errorsLimits
A clean run here does not mean every chip is readable. The flat scan and this block still miss:
A same-file search for other tinted containers holding a status chip found none beyond this row. Status text directly on a
/5–/10box, such as the overdue banner or the contacts emergency strip, is a flat tint that #994's bound already covers. That search is a heuristic, not a proof.No component, configuration or dependency change.
🤖 Generated with Claude Code
https://claude.ai/code/session_01TRY21ZKsFrfB3qtoP972A4
Generated by Claude Code