Fix the example pages the new render check caught failing - #2
Merged
Merged
Conversation
Running scripts/screenshot.mjs against this repository's own 15 example pages found faults it tells other people's agents to treat as blockers. Fixing them here, because a quality gate the repo itself fails is not a gate. Blockers (horizontal overflow at a mobile viewport) - 07-neumorphism, 11-editorial-magazine, 14-3d-spatial-ui: the nav bar had no mobile treatment, so logo + links + CTA pushed past the viewport at 390px. - 12-maximalism: hero action row overflowed at 360px. - 06-brutalist-anti-grid: the deliberate 120%-width headline bleed created a page scrollbar at 1440. The bleed is the style's signature, so it is now clipped at the hero — intent preserved, scrollbar gone. Navigation stripped rather than transformed 03-liquid-glass, 04-bento-grid, 05-neo-brutalism, 08-claymorphism and 13-y2k-retrofuturism hid their nav links below 900px with no replacement — no drawer, no overlay, nothing. That is the "desktop stripped for mobile" failure this repository warns about. The link row now moves to its own line below the logo and CTA, and every nav target is at least 44px tall. Touch targets 05-neo-brutalism buttons (38px), 07-neumorphism chips (40px) and 10-swiss-international project links (15px) were under the 44px floor. Contrast 13-y2k-retrofuturism's chrome hero headline measured 1.1:1 against the light sky background — the precise failure accessibility/ACCESSIBILITY.md names for Y2K. It now sits on a dark --ink plate: 3.8:1 at the chrome gradient's darkest stop, 13.9:1 at its lightest, using the style's existing --chrome token. That is also the style's own documented signature move, so the fix reinforces the DNA rather than compromising it. Tooling precision, so the check is trusted rather than ignored - Overflow attribution now skips elements clipped by an ancestor, since a clipped element cannot create page scroll. - Touch-target checks apply the WCAG 2.2 SC 2.5.8 exemptions: inline links inside a sentence, and undersized targets with 44px of clear space around them, are no longer reported. - Page load waits on `load` + `document.fonts.ready` instead of `networkidle`, which never settles on a page with webfonts. Verified: all 15 examples, at 1440 / 768 / 390 / 360 — zero overflow, nav links reachable everywhere, no target under the floor. Screenshots are gitignored; no binaries added. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MSG5kjLk3ZvmZy2C4B17kP
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.
Follow-up to #1, which merged before this work was pushed. Same branch, rebased onto the new
main.#1addedscripts/screenshot.mjs. Running it against this repository's own 15 example pages found faults it tells other people's agents to treat as blockers. Fixing them here — a quality gate the repo itself fails is not a gate.18 files changed · +191 / −28· validation and CI green.🔴 Blockers — horizontal overflow at a mobile viewport
07-neumorphism11-editorial-magazine14-3d-spatial-ui12-maximalism06-brutalist-anti-gridwidth:120%headline bleed created a page scrollbar at 1440For
06, the bleed is the style's signature — so it is now clipped at the hero rather than removed. Intent preserved, scrollbar gone.Navigation stripped rather than transformed
03-liquid-glass,04-bento-grid,05-neo-brutalism,08-claymorphismand13-y2k-retrofuturismsetnav ul { display: none }below 900px with no replacement — no drawer, no overlay, nothing. That is precisely the "desktop stripped for mobile" failureresponsive/RESPONSIVE-FOUNDATIONS.mdandcomponent-patterns/COMPONENT-PATTERNS.mdwarn about.The link row now moves to its own line beneath the logo and CTA, and every nav target is at least 44px tall. No JavaScript, no hamburger.
Touch targets under the 44px floor
05-neo-brutalismbuttons (38px) ·07-neumorphismchips (40px) ·10-swiss-internationalproject links (15px tall).Contrast
13-y2k-retrofuturism's chrome hero headline measured 1.1:1 against the light--skybackground — the exact failureaccessibility/ACCESSIBILITY.md§ 10 names for Y2K ("chrome needs a dark backing plate").It now sits on a dark
--inkplate: 3.8:1 at the chrome gradient's darkest stop, 13.9:1 at its lightest, using the style's existing--chrometoken rather than a new value. That is also the style's own documented signature move, so the fix reinforces the DNA instead of compromising it.A first attempt used a
::beforeatz-index:-1, which painted over the text — negative-z-index children paint after the element's own background, and here the background is thebackground-clip: textgradient. The plate is now a wrapper element.Tooling precision — so the check gets trusted, not ignored
A noisy checker is an ignored checker, so three fixes to
screenshot.mjsbefore trusting its output:14(the nav CTA, not the decorative.grid-floor).load+document.fonts.readyinstead ofnetworkidle, which never settles on a page with webfonts — it was costing 30s per viewport.Verification
All 15 examples, at 1440 / 768 / 390 / 360: zero horizontal overflow, nav links reachable at every width, no target under the floor. Screenshots are gitignored — no binaries added.
🤖 Generated with Claude Code
https://claude.ai/code/session_01MSG5kjLk3ZvmZy2C4B17kP
Generated by Claude Code