[impeccable-polish] WCAG AA + reduced-motion polish on shared A-D system - #15
Conversation
…-motion
Impeccable polish pass on the shared cream/Space-Grotesk system used by
versions A/B/C/D (version E is separate and untouched). No redesign — same
system, sharper execution. DESIGN.md palette/fonts respected.
- a11y (P1): muted body/meta text failed WCAG AA contrast on every light
theme. Bumped the `mutedColor` token per theme so small subtext, eyebrows,
testimonial titles, and step numbers clear 4.5:1:
baseline #8A8F99 (3.11:1) -> #6E737D (5.01:1)
operator-light #999999 (2.41:1) -> #6E6E73 (~5:1)
library #9A8A78 (2.74:1) -> #7E6E59 (4.59:1)
operator-dark #484F58 (fail) -> #767E8A (~4.6:1)
Single-token change per theme; the 4-theme switcher is unaffected.
- a11y: added a global `prefers-reduced-motion: reduce` path. The sections use
framer-motion / mount-triggered reveals and there's a global `*` transition;
reduced motion now collapses all of it to instant (was entirely missing).
- typography: `text-wrap: balance` on h1-h3 and `text-wrap: pretty` on
paragraphs for even heading line-breaks and fewer prose orphans.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Warning Review limit reached
More reviews will be available in 56 minutes and 33 seconds. Learn how PR review limits work. Your organization has run out of usage credits. Purchase more in the billing tab. ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available. Please see our Fair Usage Limits Policy for further information. 📝 WalkthroughWalkthroughTheme color definitions in ChangesTheme color adjustments
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~2 minutes Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
The prior commit only landed the theme-switcher contrast fix; this adds the globals.css half of the polish pass (reduced-motion media query + text-wrap). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
adfb0f6 to
24c74cb
Compare
What
Impeccable polish pass on the SHARED design system behind landing versions A/B/C/D. No redesign — same cream / Space Grotesk system, sharper execution. Version E (the brass/dossier variant) is intentionally separate and untouched. DESIGN.md palette + fonts respected.
Changes
Accessibility (the real finding): muted body/meta text failed WCAG AA contrast on every light theme. Bumped the per-theme
mutedColortoken so subtext, section eyebrows, testimonial titles, and step numbers clear the 4.5:1 body-text bar:#8A8F99(3.11:1 ❌)#6E737D(5.01:1 ✓)#999999(2.41:1 ❌)#6E6E73(~5:1 ✓)#9A8A78(2.74:1 ❌)#7E6E59(4.59:1 ✓)#484F58(fail)#767E8A(~4.6:1 ✓)Single-token change per theme — the 4-theme switcher is unaffected and still works across all themes.
Reduced motion: added the
prefers-reduced-motion: reducepath that was entirely missing. Sections use framer-motion / mount-reveal animations plus a global*transition; reduced-motion users now get instant rendering instead of forced animation.Typography:
text-wrap: balanceon h1–h3 andtext-wrap: prettyon paragraphs — even heading line-breaks, fewer prose orphans.Scope notes
app/components/theme-switcher.tsx(4 token values) andapp/app/globals.css(static CSS append) changed. No logic, no layout, no copy changes — zero build risk.Test plan
//b/c/dstill look unified;/eunchanged.🤖 Generated with Claude Code
Summary by CodeRabbit