Repository navigation
a11y: test the PR's own CSS, scan every page, underline prose links - #107
Merged
Merged
Conversation
The 30 pa11y contrast "errors" on post headers were axe needs-review results, not measured failures: the hero's ::after glow overlay hides the background from axe, and pa11y 6 reported every incomplete result as an error. Worst-case measured contrast is 5.5:1 (links), above AA. - pa11y-ci 3.1.0 -> 5.0.0 (pa11y 10, axe 4.13; needs Node 22) with levelCapWhenNeedsReview: warning. - Build with SITEURL=http://127.0.0.1:8000: publishconf's absolute URLs made pa11y load the live stylesheet, so CSS changes in a PR were never tested. - Scan every page from the sitemap instead of 6 hand-picked URLs. - Underline links in running text: the newer axe found 234 links marked by color alone (#6cb4ff vs body text, 1.78:1; WCAG 1.4.1). Locally (pa11y-ci 5.0.0, Chrome): 35/36 pages pass. The remaining error is a nested-interactive figure in prompt-injection-supply-chain-evasion (a scrollable <pre> inside role="img"), left for a content decision. The job stays non-blocking; making it blocking is a separate PR. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The button injected into the ASCII trust-boundary diagram in prompt-injection-supply-chain-evasion sat inside <figure role="img">: a nested interactive control (axe nested-interactive), and a diagram is not code to copy. With this, pa11y passes 36/36 pages locally. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.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.
The pa11y "color contrast" errors on post headers were axe needs-review results, not measured failures: the hero's
::afterglow overlay hides the background from axe, and pa11y 6 reported every incomplete result as an error (processIncompletesetswarning,processIssueoverwrites it from the impact). Measured worst case (lightest stop + both glows at full strength): h1 6.95:1, meta 5.89:1, links 5.50:1, all above AA.levelCapWhenNeedsReview: "warning".SITEURL=http://127.0.0.1:8000. With publishconf's absolute URLs, pa11y loaded the live stylesheet, so CSS changes in a PR were never tested.main p/li/td a,footer p a): axe 4.13 found 234 links marked by color alone (#6cb4ff vs body text, 1.78:1, WCAG 1.4.1). Nav, cards and pills keep their styles.Local run (pa11y-ci 5.0.0, Chrome): 35/36 pages pass. Remaining: nested-interactive in prompt-injection-supply-chain-evasion (a scrollable
<pre>inside<figure role="img">; Chrome makes scrollers focusable). That needs a content/markup decision, so it is not in this PR. The job stayscontinue-on-error; flipping it to blocking is a separate PR once the run is clean.🤖 Generated with Claude Code