fix(docs): render --link-hover on light-mode callout-link hover#3693
Merged
Conversation
The light-mode default override for callout links ([data-theme="light"] .content .callout a:not(.btn)) has the same specificity as the shared hover rule but sits after it in source order, so it silently won on hover too — light-mode callout links stayed --accent (#2560FF) on hover instead of switching to --link-hover (#1A4DD9) as STYLE.md documents. Not an AA failure (--accent already passes on every callout background), just a behavioral mismatch with the intended hover token. Add an explicit [data-theme="light"] ... :hover rule after the light default, mirroring the dark-mode fix already in place. Verified new hover ratios: 6.52:1 warning, 6.21:1 info, 6.42:1 tip (all above the previous --accent hover values, since blue-600 is darker than blue-500) — dark-mode hover and non-callout/.btn links are untouched. Follow-up from the review of PR #3691.
dgageot
approved these changes
Jul 16, 2026
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.
What changed
Small follow-up to PR #3691's review: a non-blocking, should-fix
cosmetic CSS issue in
docs/css/style.css.In light mode, hovering a callout link (inside a warning/info/tip
admonition) never switched to
--link-hover(#1A4DD9) asdocs/STYLE.mddocuments — it silently stayed--accent(#2560FF).The light-mode default override
(
[data-theme="light"] .content .callout a:not(.btn)) has the exactsame specificity as the shared
.content .callout a:not(.btn):hoverrule, but sits after it in source order, so it won on
:hovertoo.This mirrors the dark-mode shadowing bug already fixed in PR #3691 —
that fix added an explicit dark-scoped
:hoverrule, but the samegap existed for light and was missed.
Not an accessibility failure:
--accenton hover still cleared AA onall three callout backgrounds (4.60–4.83:1). Purely a
behavior/documentation mismatch.
Fix: add
[data-theme="light"] .content .callout a:not(.btn):hover { color: var(--link-hover); }right after the light default, samepattern as the existing dark-mode rule. Scoped to callout links only —
non-callout prose links,
.btnlinks, and dark-mode behavior areuntouched.
docs/STYLE.mdupdated (the callout-link bullet + contrast table) sothe doc matches the fixed cascade.
Verification
build (
features/tui/, which exercises all three callout variants):rgb(37,96,255)(--accent) →hover
rgb(26,77,217)(--link-hover,#1A4DD9) ✅rgb(191,206,255)(--blue-200, dark's--link-hovervalue) — unchanged from before this fix ✅.hero-buttons .btn: hover behaviorunchanged in both themes ✅
#1A4DD9is darkerthan blue-500, so contrast only improves): 6.52:1 warning, 6.21:1
info, 6.42:1 tip — all comfortably above AA's 4.5:1.
[email protected](system Chrome viaPUPPETEER_EXECUTABLE_PATH; Docker was unresponsive in thissandbox) against the full static 12-URL set (both themes):
12/12 passed, 0 errors.
npx markdownlint-cli2 STYLE.md— 0 errors.actionlint wasn't run — no workflow files were touched.
Refs: PR #3691 (review follow-up).