Accessibility Scanner avatar
Accessibility Scanner

Pricing

Pay per usage

Go to Apify Store
Accessibility Scanner

Accessibility Scanner

Scan any website for WCAG accessibility compliance using axe-core. Get detailed reports with fix code suggestions, severity scores, and remediation priorities. Supports CI/CD integration with threshold-based pass/fail and competitor benchmarking to compare your accessibility against others.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Gabriel Antony Xaviour

Gabriel Antony Xaviour

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

11 days ago

Last modified

Share

Crawl websites and analyze them for WCAG accessibility compliance using axe-core. Helps make the web accessible for people with disabilities by identifying issues like missing alt text, color contrast problems, keyboard navigation failures, and more.

Features

  • WCAG Compliance Testing: Test against WCAG 2.0/2.1 at A, AA, or AAA levels
  • Multi-page Crawling: Automatically discover and audit all pages on a website
  • Issue Categorization: Issues grouped by severity (critical, serious, moderate, minor)
  • Compliance Score: Get an overall accessibility score (0-100)
  • Multiple Output Formats: JSON, HTML report, or CSV export
  • Screenshots: Visual evidence of pages with accessibility issues
  • Remediation Guide: Prioritized list of fixes with quick wins highlighted
  • Fix Code Snippets: Automatic before/after code suggestions for each issue
  • CI/CD Integration: Threshold-based pass/fail with SARIF output for GitHub
  • Competitor Benchmarking: Compare your score against competitors

Input

FieldTypeDescriptionDefault
startUrlstringURL of the website to audit(required)
maxPagesintegerMaximum pages to crawl (1-500)50
wcagLevelstringWCAG level: wcag2a, wcag2aa, wcag2aaa, wcag21a, wcag21aa, wcag21aaawcag21aa
includeGlobsarrayOnly audit URLs matching these patterns[]
excludeGlobsarraySkip URLs matching these patterns["/login", "/admin"]
outputFormatstringOutput format: json, html, csvhtml
generateScreenshotsbooleanCapture screenshots of pages with issuestrue
proxyConfigobjectProxy configuration{}

Output

Summary (OUTPUT key)

{
"summary": {
"startUrl": "https://example.com",
"wcagLevel": "wcag21aa",
"pagesScanned": 50,
"totalIssues": 234,
"critical": 12,
"serious": 45,
"moderate": 89,
"minor": 88,
"wcagScore": 62,
"scanDuration": 120,
"timestamp": "2024-01-15T10:30:00Z"
},
"issues": [...],
"pageBreakdown": [...],
"remediation": {
"quickWins": [...],
"majorEffort": [...]
}
}

Dataset

Each page result is pushed to the dataset with:

  • URL, title, timestamp
  • All accessibility issues found
  • Issue counts by severity
  • Screenshot key (if enabled)

Reports

  • accessibility-report - Full report in requested format (JSON/HTML/CSV)
  • screenshot-* - Screenshots of pages with issues

Accessibility Checks

Based on axe-core, this actor checks for:

  • Images: Missing alt text, decorative images
  • Color: Contrast ratios, color-only information
  • Forms: Missing labels, error identification
  • Navigation: Keyboard accessibility, skip links, focus indicators
  • Structure: Heading hierarchy, landmarks, lists
  • Links: Descriptive link text
  • Tables: Headers, captions, scope attributes
  • ARIA: Valid roles, required attributes
  • Language: Document language specification

Example

Audit a website for WCAG 2.1 AA compliance:

{
"startUrl": "https://example.com",
"maxPages": 100,
"wcagLevel": "wcag21aa",
"outputFormat": "html",
"generateScreenshots": true
}

CI/CD Integration

The scanner supports CI/CD pipeline integration with threshold-based pass/fail and SARIF output for GitHub Code Scanning.

CI/CD Input Options

FieldTypeDescriptionDefault
ciModebooleanEnable CI/CD integration with threshold checksfalse
scoreThresholdintegerFail if accessibility score is below this value (0-100)70
maxCriticalIssuesintegerFail if critical issues exceed this count0
outputSarifbooleanGenerate SARIF format for GitHub Code Scanningfalse

GitHub Actions Example

# .github/workflows/accessibility.yml
name: Accessibility Check
on: [push, pull_request]
jobs:
a11y:
runs-on: ubuntu-latest
steps:
- name: Run Accessibility Scan
uses: apify/apify-action@v1
with:
actor: your-username/accessibility-scanner
input: |
{
"startUrl": "${{ github.event.repository.homepage }}",
"ciMode": true,
"scoreThreshold": 80,
"maxCriticalIssues": 0,
"outputSarif": true
}
token: ${{ secrets.APIFY_TOKEN }}
- name: Upload SARIF to GitHub Security
uses: github/codeql-action/upload-sarif@v2
with:
sarif_file: accessibility-report-sarif.json
if: always()

CI/CD Example Input

Run with strict accessibility requirements:

{
"startUrl": "https://example.com",
"maxPages": 50,
"ciMode": true,
"scoreThreshold": 80,
"maxCriticalIssues": 0,
"outputSarif": true
}

The actor will exit with code 1 if:

  • The accessibility score is below the threshold
  • The number of critical issues exceeds the maximum allowed

Competitor Benchmarking

Compare your website's accessibility against competitors with the benchmark mode.

Benchmark Input Options

FieldTypeDescriptionDefault
benchmarkModebooleanEnable competitor comparison modefalse
competitorUrlsarrayList of competitor URLs to compare against[]
pagesPerSiteintegerNumber of pages to scan per site (1-50)10

Benchmark Example

{
"startUrl": "https://your-site.com",
"benchmarkMode": true,
"competitorUrls": [
"https://competitor-a.com",
"https://competitor-b.com"
],
"pagesPerSite": 10,
"outputFormat": "html"
}

Benchmark Output

The benchmark report includes:

  • Your Score: Your site's accessibility score (0-100)
  • Ranking: Where you stand among competitors (#1, #2, etc.)
  • Industry Average: Average score across all scanned sites
  • Comparison Chart: Visual bar chart comparing all sites
  • Recommendations: Actionable insights like "You're X points below average"

Understanding the Score

The accessibility score (0-100) is calculated based on:

  • Critical issues: -10 points each
  • Serious issues: -5 points each
  • Moderate issues: -2 points each
  • Minor issues: -1 point each

Score grades:

  • A (90-100): Excellent accessibility
  • B (80-89): Good accessibility
  • C (70-79): Fair accessibility
  • D (60-69): Poor accessibility
  • F (0-59): Failing accessibility

Why Accessibility Matters

  • 1 billion people worldwide have disabilities
  • 98% of websites fail basic accessibility standards
  • Legal requirements (ADA, Section 508, WCAG) make this valuable for organizations
  • Better accessibility improves SEO and user experience for everyone

Limitations

  • JavaScript-heavy SPAs may require additional configuration
  • Some dynamic content loaded after page load may be missed
  • Automated testing catches ~30% of accessibility issues; manual testing is still recommended
  • Rate limiting may apply to large sites

Testing Tip

Use the W3C BAD (Before and After Demonstration) site to test the scanner - it's intentionally inaccessible!

Support

For issues or feature requests, please open an issue on GitHub.

Resources