Update: axe Playwright Accessibility CI
Section titled “Update: axe Playwright Accessibility CI”This update adds automated accessibility regression checks for the NutsNews web app using Playwright and @axe-core/playwright.
Summary
Section titled “Summary”The update adds a new GitHub Actions workflow named Accessibility CI.
It builds the Next.js app from web/, starts the production server locally, opens public NutsNews pages in Chromium, and runs axe accessibility checks.
The workflow fails on serious or critical WCAG violations.
Added Files
Section titled “Added Files”.github/workflows/accessibility-ci.ymlweb/playwright.config.tsweb/tests/accessibility.spec.tsdocs/AXE_PLAYWRIGHT_ACCESSIBILITY_CI.mddocs/updates/README_AXE_PLAYWRIGHT_ACCESSIBILITY_CI_UPDATE.mdUpdated Files
Section titled “Updated Files”README.mddocs/README.mddocs/OBSERVABILITY.mdweb/.gitignoreweb/package.jsonweb/package-lock.jsonAudited Pages
Section titled “Audited Pages”//about/privacy/contactSafe URL Rule
Section titled “Safe URL Rule”Do not add Worker refresh URLs, controller trigger URLs, admin pages, OAuth callback routes, or API routes that perform writes.
The accessibility workflow is only for public reader and support pages.
Local Validation
Section titled “Local Validation”cd /Users/ramideltoro/WebstormProjects/nutsnews3/web
npm run buildnpx playwright install chromiumnpm run test:accessibilityGitHub Actions Validation
Section titled “GitHub Actions Validation”After pushing, open:
GitHub → Actions → Accessibility CIA successful run should show:
Install dependencies ✅Install Playwright Chromium ✅Build NutsNews ✅Run axe accessibility checks ✅Upload Playwright accessibility report ✅