Repository navigation
A11Y-001: a tab's count reads at 4.5:1 in every tab state (todos, photos) - #1008
Merged
Merged
Conversation
Found by an axe sweep of a seeded household in the light theme. Both counts sat on a tint stacked on the tab's own. - Todos: the active tab's count was bg-brand/25 on the tab's bg-brand/15, brand-text on ~36% brand: 3.89:1. It is solid brand with brand-fg now. - Photos: the favourites count was bg-fg/10 inside the tab: 4.20:1 inactive on the light page, and 4.05 light / 3.82 dark with Favourites active. It has no tint of its own now, so it reads as the tab's label. tests/a-tab-count-is-readable.test.ts reads the tab states from globals.css and composes them over every ground in both themes. 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. |
…-remaining-etzqg7
This was referenced Oct 11, 2026
NewWorldVenture
marked this pull request as ready for review
October 11, 2026 10:02
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: these are the last two findings from the light-theme axe sweep of a seeded local household. The sweep ran on
main322c632 with #1005, #1006 and #1007 applied, at 1280 px. Each finding is a count badge that sits on a tint stacked on top of its tab's own tint.bg-brand/15. Its count addedbg-brand/25on top, sobrand-textsat on about 36% brand: 3.89:1 (axe).bg-brandwithtext-brand-fg(white on brand). The inactive count,bg-elevated text-muted, is unchanged.bg-fg/10inside the tab. Inactive, its--mutedtext read 4.20:1 on the light page (axe: 4.39 on the sweep's ground). With Favourites active (bg-brand/20,brand-text), it read 4.05 light and 3.82 dark.I first tried halving the photos tint to
bg-fg/5. That fixed the inactive tab but left the active one at 4.47 (light, over--bg) and 4.42 (dark, over--elevated), so I dropped the tint instead.Tests
tests/a-tab-count-is-readable.test.ts:.tab-item-activeand.tab-item-inactive, including itshover:) fromglobals.cssand the tokens of both themes.--bg,--surfaceand--elevated, the way the browser does: 8-bit steps, tint over ground.muted).bg-fg/10count on the active tab, over its worst ground, is under 4.5 in both themes.main14b1debmain(photos lines 403 and 463, untouched)The axe figures are from local production builds, measured by me and not committed. The before-and-after contrast figures are the test's arithmetic.
For you to decide (not changed here)
At 390 px the same sweep reports white text on
bg-brand/90on the renewals, referrals and wallet "babysitters" pages. That is a primary button, hovered under the pointer when axe sampled it. The hover state ishover:bg-brand/90incomponents/ui/button.tsx, plus a few raw copies. Over the light page it reads below 4.5:1. Fixing it means changing the shared button, which I have left alone, so it is your call. One option is a darker hover (--brand-text) instead of a lighter one.No migration, configuration or dependency change.
🤖 Generated with Claude Code
https://claude.ai/code/session_01TRY21ZKsFrfB3qtoP972A4
Generated by Claude Code