1.8 KiB
1.8 KiB
Accessibility Testing Framework
This directory contains tools and scripts for testing the website's accessibility compliance with WCAG 2.1 AAA standards.
Overview
The accessibility testing framework uses multiple approaches:
- Automated Testing with Pa11y: Command-line accessibility testing using Pa11y
- Automated Testing with axe-core: JavaScript-based accessibility testing using axe-core
- Manual Testing Checklist: A comprehensive checklist for aspects that can't be automated
Running Tests
To run all accessibility tests:
npm run test:accessibility
Or run directly:
./tests/accessibility/run-accessibility-tests.sh [BASE_URL]
The default BASE_URL is http://localhost:8080
if not specified.
Test Components
Pa11y Tests
Pa11y tests are run using the pa11y-test.sh
script, which:
- Tests multiple pages against WCAG 2.1 AAA standards
- Generates JSON reports for each page
- Creates a summary report
axe-core Tests
axe-core tests are run using the playwright-axe.js
script, which:
- Uses Playwright to load pages
- Injects axe-core into each page
- Runs accessibility tests against WCAG 2.1 AAA standards
- Generates detailed reports
Manual Testing
Some aspects of accessibility can't be automatically tested. The manual-checklist.md
file provides a comprehensive checklist for manual testing, focusing on AAA-level criteria.
Reports
Test reports are saved in the tests/reports/
directory:
- Individual page reports (e.g.,
pa11y-index.json
,axe-index.json
) - Summary reports (
pa11y-summary.json
,axe-summary.json
) - Combined accessibility report (
accessibility-summary.json
)
Requirements
- Node.js
- NPM packages: pa11y, axe-core, playwright
- For Pa11y:
npm install -g pa11y
or use npx