Primer branding: use neutral heading color, remove mixed-hue gradient - #288
Draft
github-actions[bot] wants to merge 1 commit into
Draft
github-actions[bot] wants to merge 1 commit into
github-actions[bot] wants to merge 1 commit into
Conversation
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
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
Color
--heading-color(used for.site-header h1and.preview-code .md-heading) was hardcoded to Primer's semantic success green (--color-success-fg) in both light and dark mode. Success/green is a status color reserved for positive state signaling (e.g. checks passing), not a general heading accent. Changed it to the neutral default text color (--color-fg-default) so page headings read as standard content, matching Primer Brand'sHeading/Textcolor guidance where headings usevar(--brand-color-text-default)rather than a semantic accent.linear-gradient(90deg, var(--accent-blue), var(--accent-green))text-fill effect on.landing-title. Primer Brand guidance (fromprimer_brand_page_design) explicitly lists "no glows, purple gradients, pill buttons, or glassmorphism" and cautions against mixing unrelated hues in decorative treatments. Blue-to-green fill on a headline text is exactly this kind of off-brand mixed-hue gradient, and it also fails to consistently guarantee readable contrast in text-fill mode across browsers. Replaced with the same neutral--heading-colorused elsewhere for headings, keeping visual consistency between the landing title and the site header.Typography / Voice / Spacing
Heading/Textcomponent guidance (primer_brand_component --name Heading/Text) and spacing tokens; existing sizes, weights, and copy tone were already reasonable and not swept for this focused pass.Guidance sourced from
primer-brandMCP serverprimer_brand_component --name Heading/--name Text: headings/body text should rely on the semantic default text color, only using asize/weightoverride with deliberate reason — not a status-semantic color.primer_brand_tokens --query "text color default heading": confirmsvar(--brand-color-text-default)(mapped to--base-color-scale-black-0/ neutral) is the token family used across brand components (FAQ-color-heading,Eyebrowbanner-heading-fgColor, etc.) for heading color — not a green/success token.primer_brand_page_design: "Copy is real and specific, with no glows, purple gradients, pill buttons, or glassmorphism" — motivates removing the blue→green gradient text-fill on the landing hero title.Deviations found but not fixed (deliberate)
.landing-diagrampill/rounded-999px badge and theagent-purpleaccent family used for the "assistant" button and copy-modal are intentional brand-adjacent accents drawn from Primer's--color-done-emphasis/--color-done-fgtokens (used elsewhere in GitHub product UI for "done"/agent states) and pass contrast; left as-is per the instruction to keep tasteful shine when colors trace to Primer tokens and pass contrast.0.4rem,1.5rem, etc.) since Primer Brand's spacing guidance targets marketing-page composition (Box/Stack/Gridgutters), and this app UI already uses Primer CSS radius/shadow variables consistently; a broad spacing sweep was out of scope for a focused, low-risk change set.Validation
npm test— 326/327 tests pass. The 1 failing test (test/copilot-instructions.test.js) is a pre-existing, unrelated failure (asserts a stale generated-date string in committed docs) reproduced identically onmainbefore this change.npx vite build— build succeeds and producesdist/output. (Thenpm run buildwrapper'sprebuildvendor-fetch step fails in this sandbox due to no network egress to npm registry for@primer/css; this is an environment limitation unrelated to the CSS changes.)Warning
Firewall blocked 1 domain
The following domain was blocked by the firewall during workflow execution:
registry.npmjs.orgTo allow these domains, add them to the
network.allowedlist in your workflow frontmatter:See Network Configuration for more information.