Repository navigation
#206 — Solarized tier-high chip contrast: chip-scoped accent override (3.41 → 5.00) - #228
Conversation
…ent override (5.00:1) The Solarized tier-high chip rendered the theme's verbatim accent (#268bd2) on the finding row's surface (#fdf6e3) at 3.41:1 — under the WCAG AA 4.5:1 floor. Following the #203/#198 Latte precedent, deepen the accent to the theme's own accent-hover (#1d6fa8, 5.00:1) via a chip-scoped per-theme token override — never chip markup changes, never a re-brightened theme block. A new headless guard mechanically encodes the sweep: every tier chip (total/high/advisory) on every one of the 8 themes must reach 4.5:1, measured from resolved computed styles against the chip's true opaque backdrop in headless Chromium. RED on unmodified main (solarized/high 3.41), GREEN with the override. Goldens regenerated (3 report examples; explore pages don't embed report.css) + the rendered-chrome insta snapshot rebaselined — each delta is exactly the new comment+override block. Closes #206 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (5)
📝 WalkthroughWalkthroughThe PR introduces a Solarized-specific CSS accent token override for tier chips, addressing a WCAG AA contrast failure in that theme. The change is applied to the source template and synchronized across example HTML files. A new headless integration test validates that all tier-chip combinations across 8 shipped themes meet the 4.5:1 contrast threshold. ChangesSolarized Tier Chip Contrast and Validation
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related issues
Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 ast-grep (0.43.0)examples/diff-showcase-report.htmlexamples/jaffle-shop-report.htmlexamples/playground-report.htmlThanks 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 |
|
Ready to review this PR? Stage has broken it down into 4 individual chapters for you:
Chapters generated by Stage for commit d653070 on Jun 11, 2026 2:32pm UTC. |
📄 Rendered report previewAll golden examples regenerated cleanly. 🟡 Golden examplesCommitted to
🐶 Live dogfood previewThis PR doesn't touch ▶ Open ↗ opens the report in your browser in one click — The Pages preview may take ~1 min to update after this comment Alternative: GitHub CLI# gh CLI >= 2.63 extracts into ./report-preview-playground/.
gh run download 27354324530 -R breezy-bays-labs/cute-dbt -n report-preview-playground
open report-preview-playground/playground-report.htmlPosted by |
There was a problem hiding this comment.
Code Review
This pull request addresses WCAG AA contrast issues for tier chips in the Solarized theme by overriding the accent color token. It also introduces a comprehensive headless integration test that programmatically verifies contrast ratios across all supported themes using a JavaScript-based sweep. No review comments were provided, and the changes look solid.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
|
@coderabbitai review |
✅ Action performedReview finished.
|
Summary
Solarized's tier-high chip shipped at 3.41:1 — under the WCAG AA 4.5:1 floor — because the outlined chip renders the theme's verbatim accent (#268bd2) on the finding row's surface (#fdf6e3), and nothing gated that pairing per theme. Following the #203/#198 Latte precedent, this PR deepens the accent for the chips only to the theme's own
--accent-hover(#1d6fa8, one-step-darker solarized blue, 5.00:1) via a chip-scoped per-theme token override:No chip markup/JS changes, no re-brightening of the theme's pinned AA diff pairs — the verbatim solarized theme block stays untouched. Tier-total (4.99:1) and tier-advisory (4.92:1) already pass on solarized, so
--accentis the only token overridden.WCAG sweep — all 8 themes × 3 tier chips, measured on the TRUE backdrop
Methodology: the chips render inside
.finding-row { background: var(--surface) }, so the effective text backdrop is the nearest opaque ancestor background (--surface, not--bg); the self-backed TOTAL chip is judged on its own--control-active-bgfill. Ratios below are measured empirically from resolved computed styles in headless Chromium (post-fix run of the new guard).Every cell ≥ 4.5:1.
Sweep notes
--bg(#e6d9c9). Rosepine is the one light theme where--bg≠--surface; on the true chip backdrop (--surface#fbf6ef) it measures 5.68/4.56 and passes. No change made.--bg(e.g. dark/high 7.46 on--bg#15171c vs the measured 7.10 on the true--surface#191c22; verified by hand-recomputation, both backdrops reproduce exactly). Every affected cell passes AA comfortably under either backdrop, so the conclusion is unchanged; the table above records the empirical surface-measured values.The headless guard (the sweep, mechanically encoded)
New test
tier_chips_meet_aa_contrast_on_every_themeintests/headless_toggle.rs(the existing headless binary — no ci.yml/lefthook changes needed): renders a synthetic findings report, then for each of the 8[data-theme]packs (set exactly astheme.js applyThemedoes) computes the WCAG contrast ratio of every tier chip in evaluated JS fromgetComputedStyle— text color vs the nearest opaque ancestor background (own fill for tier-total) — and asserts all 24 cells ≥ 4.5:1. Since no live check carries the Advisory tier yet, the sweep injects one advisory chip into a real.finding-summaryso the full chip vocabulary is gated. A 9th theme (or any token drift) cannot silently regress chip contrast again.RED verified on unmodified main: the guard failed with exactly one violation —
solarized/high = 3.41 (rgb(38, 139, 210) on rgb(253, 246, 227)). GREEN with the one-line override.Goldens
The 3 report-mode golden examples (
jaffle-shop,playground,diff-showcase) regenerated with the exactexample-report-checkcommands; the explore pages don't embedreport.cssand are unchanged. Therendered_chrome_jaffle_shopinsta snapshot rebaselined. Audited withgit diff --text -U0: every delta is exactly the new comment+override block (one identical hunk per file).Gates (run directly — not via lefthook)
cargo fmt --check— cleancargo clippy --all-targets --locked -- -D warnings— exit 0cargo nextest run— 1193 passedcargo test --test bdd— 22 features, 157 scenarios, 1016 steps, all passed (no feature-count change)cargo test --test headless_zero_egress --locked -- --ignored— 10 passedcargo test --test headless_toggle --locked -- --ignored— 46 passed (45 + the new guard)RUSTDOCFLAGS="-D warnings" cargo doc --no-deps --locked— exit 0cargo deny check— exit 0Closes #206
🤖 Generated with Claude Code
Summary by CodeRabbit
Style
Tests