Skip to content
Ravi Chaudhary

AI · Backend

AI Accessibility Engine

Uses GPT to check the WCAG rules that static scanners can’t, and suggests a fix for each issue.

Role
Architecture & backend
Company
TestMu AI
Year
2024 — 25
Layers
APIs, Services, Models, Infrastructure
Stack
PythonFastAPIGoOpenAI APIAWS
5WCAG criteria judged by the model
1K+Scheduled scans a month

Context

Rule-based scanners can only check what’s in the markup. Some WCAG rules need someone to look at the rendered page and make a judgement call.

I built the engine’s services in Python (FastAPI) and Go, with an OpenAI GPT pipeline that handles five of those rules. I also owned the architecture of the product around it.

How it works

screenshotspromptstructuredapplyconfirmPage under testrendered + DOMScannerdetects violationsPrompt contextDOM · markup · issueOpenAI GPTdirect APIRemediationmarkup · ARIA · whyRe-scandid it clear?
  • Page under testscreenshotsScanner

Step 1 / 5

  1. I tuned the screenshot capture so the model sees the page the way a user does, not just the DOM.

  2. Static rules handle what the markup can prove. The five rules they can’t decide go to the model.

  3. The DOM structure, the violation and the markup around it go straight into the prompt. Plain API calls, kept simple on purpose.

  4. Each violation comes back with corrected markup, ARIA attributes and a short reason for the change.

  5. We apply the fix and scan again to check the issue is really gone. QA reviews the rest, and failures we track feed back into the prompt: tighter instructions, few-shot examples and a fixed output format.

Outcome

  • Covers five WCAG rules that static scanners can’t check on their own.
  • Runs on a schedule with no one watching, inside a product that does 1K+ scans a month.
  • Every fix the model suggests is checked with a re-scan.

Next case study

Offline Mode for Real Devices

Lets testers switch off the network on real iPhones and Android phones to see how their app behaves offline.