Repository navigation
Draw the .csa-go arrow as an SVG instead of a typed → - #8
Draft
lumpster-csa wants to merge 1 commit into
Draft
lumpster-csa wants to merge 1 commit into
lumpster-csa wants to merge 1 commit into
Conversation
azo-sans has no arrow glyph, so every typed "→" came from a fallback font — the generic sans-serif on cloudsecurityalliance.org — and looked different per page and OS. .csa-go now draws its own trailing arrow: an SVG mask filled with currentColor (follows every surface and hover color), on ::before reordered after the text so ::after stays free for the stretched-link click areas. Sized to the text arrow it replaces (measured 10.5 x 8.7px ink at 14.5px; 0.76em x 0.66em). Hidden when the link already has an <svg>/<img>/<i> icon; .csa-go-no-arrow opts out; LinkText in forced-colors mode. The showcase's typed arrows are removed from its 31 .csa-go links, and the Typography row has a temporary side-by-side against the old arrow. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
lumpster-csa
marked this pull request as draft
October 16, 2026 14:22
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.
Summary
.csa-golinks now draw their own arrow as an SVG instead of relying on a typed→.Why: azo-sans has no arrow glyph, so every typed
→came from a fallback font. On cloudsecurityalliance.org that's the genericsans-serif, which looks rough and differs by OS. On the showcase it happened to be Apple's system font, which is why it looked fine there.How:
currentColor, so it follows every link color, surface and hover state with no extra rules.::before, moved after the text withorder: 1inside the inline-flex link, so::afterstays free for the stretched click areas on.csa-card-hoverand.csa-card-reveal.<svg>,<img>or<i>icon (for example the Font Awesome arrow on the STAR registry's "View listing" links)..csa-go-no-arrowopts out.LinkTextin forced-colors (high contrast) mode.url(in the SVG for it to rewrite (unlike the grain issue).Showcase:
.csa-golinks (16<a>, 15 carousel-card<span>)..csa-gorow has a temporary side-by-side: the new SVG arrow vs. the old typed arrow, on light, on dark, and at 20px. Remove it once the arrow is signed off.Heads-up for the website
Once the site picks up this version:
→in.csa-golinks will show two arrows. Delete the typed arrow from that markup. CSS can't detect a typed character.<i class="fas fa-arrow-right-long">) won't double up, since the CSS arrow hides itself. The icon can be removed whenever convenient so those links match the library arrow..csa-golinks, such as the pagination "Next →" button. They're unchanged here.Test plan
Checked in the browser on the showcase:
--b300..csa-golinks: 34 show the new arrow and 3 are the intentional "old" comparison opt-outs. No link shows two arrows.<i>and<svg>icons and for.csa-go-no-arrow. The hover-card and reveal-card stretched click areas still work. The flip card's back link shows the arrow.🤖 Generated with Claude Code