Skip to content

A11Y-001: the kitchen display's page is its own ink - #1012

Merged
NewWorldVenture merged 1 commit into
mainfrom
claude/a11y-001-display-page-ink-etzqg7
Oct 11, 2026
Merged

NewWorldVenture merged 1 commit into
mainfrom
claude/a11y-001-display-page-ink-etzqg7

Conversation

@NewWorldVenture

@NewWorldVenture NewWorldVenture commented Oct 11, 2026 •

Copy link
Copy Markdown
Owner

A11Y-001: this clears the last /display finding in a full axe sweep.

The defect

The kitchen display (/display) is a dark presentation in either theme. Its ambient wash is a fixed -z-10 layer, not an ancestor of the text. A checker that reads the page behind the text, as axe does, therefore measured against the light theme's page colour.

The sweep: main ebe03c2 + #1008, #1009 and #1010, all 246 member routes, both themes, 1280 and 390 px, every impact level. Its only finding on /display was light at 390 px: "Today's Schedule" white on #f6f7fc, 1.05:1. That is not what is on screen; #1006 measured the real contrast from the pixels.

The same light page also showed on overscroll.

The fix

  • body:has(.kitchen-display) takes the display's own ink, #0b1020, the colour its wash already starts from.
  • The display's root carries the kitchen-display marker, beside keep-dark-palette.

The wash and its glows still paint over the body. Sampled on this branch at 390 px in the light theme: the body is rgb(11, 16, 32), and the screen corners are 20,26,59 and 11,19,39, the tinted wash, not the bare ink.

Tests

tests/the-kitchen-display-page-is-its-own-ink.test.ts pins the rule and the marker. It also pins the wash's own bg-[#0b1020], so the page and the display keep the same ink.

Check Before This branch e7fbd72
The new test (before = main c95b118) 2/2 fail 2/2
axe on /display, every impact, light and dark at 1280 and 390 (local production builds, seeded household; not committed). Before = the integration sweep above light 390: 4 nodes, 1.05–1.72; the other three 0 0 in all four
The 26 suites naming the display grid or globals.css — 326/326
tsc / npm run lint — 0 / 14 warnings, as on main

Not changed: text over the featured recipe's photo, which stays your call as in #1006. Nor the hovered brand button on renewals, referrals and wallet babysitters (white on bg-brand/90, 4.18–4.21 in light at 390). That is the shared button, and the sweep's only other finding.

No migration, configuration or dependency change.

🤖 Generated with Claude Code

https://claude.ai/code/session_01TRY21ZKsFrfB3qtoP972A4

The display is a dark presentation in either theme, its wash a fixed -z-10
layer rather than an ancestor of the text. A checker that reads the page
behind it (axe) measured the light theme's page colour instead: at 390 px,
"Today's Schedule" white on #f6f7fc, 1.05:1, the one /display finding in a
full light sweep. The same light page showed on overscroll.

body:has(.kitchen-display) takes the display's own ink, #0b1020, and the
display's root carries the marker. The wash still paints over it (sampled:
body rgb(11,16,32), screen corners tinted 20,26,59 and 31,37,60).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TRY21ZKsFrfB3qtoP972A4
@vercel

vercel Bot commented Oct 11, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated
bubaly Ignored Ignored Oct 11, 2026 8:14am UTC

Request Review

@NewWorldVenture
NewWorldVenture marked this pull request as ready for review October 11, 2026 10:02
@NewWorldVenture
NewWorldVenture merged commit 03a5e8e into main Oct 11, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants