Fix sunset contrast on blog card text and gate it in check:contrast - #68
Merged
amyrlam merged 1 commit intoAug 24, 2026
Conversation
PR #67's Lighthouse run failed a11y (0.94) on both blog pages — not because of that PR: the run happened at 03:16 UTC, San Francisco sunset, and Lighthouse audits the live sky. At dusk the computed ink/card pairing bottoms out at ~6.6:1, and the blog date and description lines carried opacity-70/80, multiplying the effective contrast down to ~4.15:1 — under the 4.5:1 floor for small text. The same failure exists on main; daytime CI runs just never see it. Drop the opacity de-emphasis (size and tracking already carry the hierarchy) and add the ink-on-card pairing to check:contrast with a 4.5:1 floor across every sun altitude (worst case 6.56:1), so this class of regression fails the build deterministically instead of only when CI happens to run at sunset. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Contributor
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
amyrlam
changed the base branch from
main
to
claude/github-issue-60-viewport-fit
August 24, 2026 03:05
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.
Explains and fixes the Lighthouse a11y failure on #67 — which was not caused by that PR.
What actually failed
The red run's blog reports show
color-contrastat 0 with sunset colors (#ccbbcdon#754562, 4.15:1). Comparing runs: main's last green Lighthouse ran at 23:11 UTC (4pm PDT, daylight) and this one at 03:16 UTC (8:16pm PDT — San Francisco sunset). Lighthouse audits the live computed sky, and at dusk the ink/card pairing bottoms out at ~6.6:1 — still fine, but the blog date/description lines carriedopacity-70/opacity-80, which multiplies the effective contrast down to ~4.15:1, under the 4.5:1 floor for small text. The identical failure exists onmain; CI has just never run at sunset before. (Thelabel-content-name-mismatchaudit in the report scores 0 on green main runs too — it carries no category weight, red herring.)The fix
--inkon--card-bg, what.sky-cardtext actually renders) tocheck:contrastwith a 4.5:1 floor swept across every sun altitude. Worst case is now 6.56:1 at dusk, and any future opacity/color change that reintroduces this fails the build deterministically instead of only when CI lands at golden hour.Verified
check:contrastpasses with the new gate (worst card-text 6.56:1 at −4.5°); all 19 Playwright tests pass; Prettier/ESLint clean; DOM-verified in the browser that the date line renders at opacity 1 with full ink.After this merges, rebasing/re-running #67 should go green regardless of what time of day CI runs.
🤖 Generated with Claude Code