| 
				
					
						 
				
	
				ci/woodpecker/push/woodpecker Pipeline failed
				
					Details
				
			 
		
	 | 
			||
|---|---|---|
| .. | ||
| README.md | ||
| axe-test.js | ||
| generate-detailed-report.js | ||
| generate-report.js | ||
| manual-checklist.md | ||
| pa11y-test.sh | ||
| playwright-axe.js | ||
| run-accessibility-tests.sh | ||
		
			
				
				README.md
			
		
		
			
			
		
	
	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 pa11yor use npx