Add accessibility testing to CI#8
Merged
mbwatson merged 27 commits intostagecc:mainfrom Mar 4, 2026
Merged
Conversation
install astro sitemap setup astro sitemap wip correct url, install/update deps
fix footer link contrast
`text-base` class applies `#71767A` text on the footer's `#F0F0F0` background.
this is ~4.1:1 contrast (fails 4.5:1 AA)
fix nav link contrast
USWDS styles the NavDropDownButton text with `color('base')` (`#71767A`) on white,
which has contrast ~4.65:1
borderline, axe flags it, so we'll fix
Member
Author
|
there are a few existing accessibility issues at this point (see the failed check!), so i've switch this PR to draft until those are remedied. this way the app starts at 💯 |
2182db7 to
f3a73d0
Compare
Member
Author
|
Just linking to documentation related to the Node version bump and peer dep resolution issues we were seeing: the npm docs on |
suejinkim20
approved these changes
Mar 4, 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.
Summary
Introduces automated accessibility auditing to the CI pipeline, targeting Section 508 / WCAG 2.0+2.1 Level AA compliance. The audit runs axe-core via Playwright against every page in the sitemap after each build. This PR also fixes all a11y violations surfaced by the new checks so the pipeline passes green.
What's new/changed
A11y test infrastructure (
apps/site/a11y/)axe-test.ts): configures axe-core with WCAG 2.x A/AA tags and disablesframe-tested(cross-originiframes, like our YouTube embeds).playwright.config.ts): startsastro previewon port 4321, reuses an existing server when available.CI workflow (
.github/workflows/ci.yaml)buildjob.a11yjob (depends onbuild): installs deps, downloads the artifact, installs Playwright Chromium, and runs the full-site audit vianode a11y/full.js..nvmrcfileSupporting changes
xmlfiles consumed by the full-site test runner.<head>inBase.astro..nvmrcfile, which specifies the Node dev version we'll be using, was addedA11y fixes
EventHeader,ArticleHeader,Figure,Video,SiteFooter.<h4>to<h2>inSiteFooterandFaqListto fix heading-level skips.text-underlineclass to breadcrumb links.alt=""to decorative placeholder image on the homepage.news/eventlisthrefs to use/updates/news/…and/updates/events/…paths; updated breadcrumb trails inArticleandEventlayouts to match.How to validate
npm run a11y:page -w @bdc/site -- http://localhost:4321/resources/faqsnpm run a11y:smoke -w @bdc/sitenpm run a11y:full -w @bdc/site