Audit every page the site builds, and state the wire's axis once - #56
Merged
Merged
Conversation
The gate kept its own hand-typed route list, which is the second copy of a list this repo keeps getting bitten by. It drifted twice: /code-signing-policy had to be added in a follow-up commit, and /helper plus seventeen engine archives shipped in v1.3.0 audited by nothing, because adding a page to site.config.json does not add it to a list that lives somewhere else. scripts/a11y-routes.mjs derives the list instead. /rss.xml is excluded as not an HTML page; blog posts and engine archives are one template over many routes, so one representative stands for each family the way it already did. /404 is covered now that the list is derived rather than curated, and scores 100. Two tests read dist and assert the derivation rather than another literal: every standalone page that builds is audited, and each templated family has a representative that actually exists. Removing /helper from the audit fails the first one. 22 routes, all >= 95.
The dashed gradient and the keyframes that scroll it have to agree on an axis, and they were stated together in six places: base, mobile, and a green override per section per breakpoint. One of the six was missed, which is the bug fixed in #50 — the working state was drawn vertically and animated horizontally, so the wire looked alive and sat still. The axis is now set once on .diag and inherited, so a state that only recolours the wire sets --diag-dash-color and nothing else. FlowBand's reversed direction is a horizontal idea, so it is scoped to the breakpoint where the wire is horizontal instead of being re-overridden below it. Measured, not assumed: four card states across both breakpoints compute the same shape, animation and colour as before, and the dashes travel in each. Two tests assert the gradient is defined exactly once and that no state spells it out again; restoring the old shape fails the second.
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.
Two follow-ups from the v1.3.0 review, both the same shape: a second copy of a list that had already drifted.
The accessibility gate audited a list it kept itself
scripts/lighthouse-gate.mjstyped its routes out by hand, so adding a page tosite.config.jsondid not add it to the audit. That drifted twice:/code-signing-policyneeded a follow-up commit (3503d0f), and/helperplus seventeen engine archives shipped in v1.3.0 with no audit at all.scripts/a11y-routes.mjsderives the list from the inventory./rss.xmlis excluded as not an HTML page; blog posts and engine archives are one template over many routes, so one representative stands for each family as before./404is covered now that the list is derived rather than curated.Two tests in
tests/domain.test.tsreaddistand assert the derivation rather than another literal: every standalone page that builds is audited, and each templated family has a representative that exists. Removing/helperfrom the audit fails the first.22 routes, all >= 95,
/helperand/blog/engine/postgresqlboth 100.The diagram wire stated its axis six times
The dashed gradient and the keyframes that scroll it have to agree on an axis, and they were stated together in six places: base, mobile, and a green override per section per breakpoint. One of the six was missed, which is the bug fixed in #50 — the working state was drawn vertically and animated horizontally, so the wire looked alive and sat still.
The axis is set once on
.diagand inherited. A state that only recolours the wire sets--diag-dash-color. FlowBand's reversed direction is a horizontal idea, so it is scoped to the breakpoint where the wire is horizontal instead of being re-overridden below it.Four card states across both breakpoints were measured in a browser before and after: same shape, animation and colour, dashes travelling in each. Two tests in
tests/dist-smoke.test.tsassert the gradient is defined exactly once and that no state spells it out again; restoring the old shape fails the second.Checks
bun run gate— 219 tests, 0 fail.bun run a11y— 22 routes, all pass.