A11y | Keep inactive card text at 4.5:1 - #31
Conversation
Drop card opacity so 1.4.3 still holds. Inactive cards use an inset stroke; the centered card keeps the drop shadow. No scale, because the carousel measures getBoundingClientRect. Co-authored-by: Cursor <cursoragent@cursor.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (5)
Included review availability: 4 reviews are currently available. Your included PR review attempts over the past 7 days set your current allowance at 5 reviews per hour. 📝 WalkthroughWalkthroughHorizontal Cards no longer apply Merge Risk: ⚪ Minimal · up to This localized styling change removes dimming from inactive card text while preserving visual distinction through the card edge treatment; no actionable merge-blocking risk remains after normal checks and review. 🚥 Pre-merge checks | ✅ 4✅ Passed checks (4 passed)
Full details: Linked Issues checkExplanation The changes address issue Comment |
Summary
Closes #29 (Activities audit D1). Inactive Horizontal Cards keep text at ≥4.5:1. The centered card still reads as focused through chrome, not dimmed type.
Changes
Drop
opacity: 0.5on inactive cards. Opacity on the card composites every descendant, which dropped Matching descriptions and “Best response” below 4.5:1.Inactive cards use an inset
Stroke-Lightedge. The active card keeps the existing drop shadow. Notransform: scale(): the carousel measuresgetBoundingClientRect()width, and scaling inactive cards would break centering.Nav disabled opacity is unchanged (1.4.3 exemption). Matching A7 choice tokens stay in the consumer.
Test plan
npm test— light and dark, inactive opacity is 1, title/description/placeholder ≥4.5:1 with ancestor opacity composited, cards are notaria-hidden, scoped axecolor-contraston inactive cardsa11y:ciafter the submodule bump (separate consumer PR)