What it does

a11y-forge autonomously scans public GitHub repos for WCAG 2.2 AA violations. Paste any repo URL, get an A+–F score in ~2 minutes. Violations grouped by category and ranked by user impact. Includes HTML reports, PDF reports, SVG badges, and screen reader preview simulation.

Inspiration

Web accessibility is a legal requirement (ADA, Section 508, EU Directive). Most open source projects never get audited — manual testing is slow and expensive. Automated tools exist but are either paywalled or require complex CI setup. a11y-forge makes zero-config accessibility scanning accessible to every open source maintainer.

How we built it

Stack: Next.js 16.2 App Router · TypeScript 5 · Tailwind v4 · Octokit v5 (GitHub Git Data API) · OpenAI SDK · @babel/parser (AST) · pdf-lib · vitest + Playwright

Pipeline:

  1. Fetch repo tree via GitHub API, download up to 150 source files
  2. Run 12 static WCAG check types (AST parsing, CSS inspection, regex patterns)
  3. Group violations by category via GPT-5.6; deterministic fallback when no key
  4. Generate HTML/PDF reports and SVG score badges

Development: Built during OpenAI Build Week 2026. Codex CLI accelerated route scaffolding, check type implementation, responsive UI, debugging (Next.js CSP crash, mobile overflow), and 165 unit tests. GPT-5.6 powers the runtime prioritization layer.

Challenges

  • GitHub API tree pagination for large repos (handled via recursive chunked fetching)
  • Rate limit handling (20 req/min per IP with Retry-After header)
  • CSP crash in Next.js 16.2 with Tailwind v4 (fixed via style-src nonce configuration)
  • Mobile viewport overflow on scan results table (fixed via box-sizing reset + overflow-x hidden)
  • Deterministic fallback logic for AI grouping when no API key present

Built With

  • a11y
  • accessibility
  • ast
  • autonmous
  • babel
  • codex
  • developer-tools
  • github-api
  • gpt-5.6
  • next.js
  • node.js
  • octokit
  • open-source
  • openai
  • pdf-lib
  • playwright
  • react
  • tailwind-css
  • typescript
  • vercel
  • vitest
  • wcag
  • web-accessibility
Share this project:

Updates