Our accessibility endpoint returns JSON: every failed WCAG 2.1 AA rule, the affected elements, and a fix. That's what a developer wants. It isn't what an attorney, a paralegal, or a client wants on their desk.

So we published an open-source skill that turns the audit into dated PDF reports, using the AI assistant you already have. It's free and it lives on GitHub: SeoScoreAPI/ai-skills.

What you get

  • An audit PDF per page: URL, date and time (UTC), standard, and a summary (score, failed rules, affected elements, items needing manual review). Every issue lists its WCAG success criterion (for example 1.4.3 Contrast (Minimum), AA), its impact, the exact elements (CSS selector and HTML) and the fix.
  • The raw JSON, saved next to the PDF with a SHA-256 fingerprint of the result, so you can show later that the record wasn't altered.
  • Your firm on it, not ours: the PDF is unbranded, with optional firm name, logo, client or matter, and a review/signature block.
  • A before/after remediation report: audit again after the fixes and compare. The report lists what's resolved, what's still open (with element counts before and after), and what's new, with both dates and both fingerprints.

See a real one: the sample report from our own homepage. It found a real contrast problem on our own homepage.

Three ways to run it

Claude. Install the ada-report skill and ask in plain English:

Run an accessibility audit on these five URLs for matter 2026-114 and give me the PDFs.

ChatGPT. Build a private Custom GPT with the audit as an action and Code Interpreter for the PDF. The setup guide takes about ten minutes and involves no code.

A terminal. It's plain Python:

pip install fpdf2
export SEO_SCORE_API_KEY="your_key"
python3 skills/ada-report/scripts/ada_report.py audit https://example.com
python3 skills/ada-report/scripts/ada_report.py compare before.json after.json

A workflow for ADA website defense

  1. Intake. When a demand letter arrives, audit the pages it names, plus the home, contact, and any booking, checkout or form pages. Keep the PDFs and JSON in the matter file.
  2. Triage. The issues table is sorted by impact, and each issue carries the exact element and a plain-English fix, so the client's developer can start right away.
  3. Remediation record. After the fixes go live, audit again and run the compare. The remediation report is your before/after.
  4. Monitoring. Re-audit on a schedule during a compliance period; each run is another dated record.

The full guide is in the repo: Using automated accessibility audits in ADA website defense.

What does it cost?

The skill is free (MIT license). Accessibility audits need an SEO Score API paid plan: Starter at $5/month includes 5 accessibility audits, Pro at $39/month includes 100 with a year of history, and Ultra at $99/month includes 500 with unlimited history. See pricing.

Is an automated report enough to show WCAG conformance?

No. Automated rules (axe-core) catch a portion of WCAG issues, and many criteria need a person, such as meaningful alt text, keyboard use of complex widgets, and caption accuracy. A clean automated result is not proof of conformance and the report is not a legal opinion; every PDF says so. Use it alongside a qualified manual review.

Does my data or my client's site go anywhere else?

The audit runs through the SEO Score API against the public page you name. The PDF and JSON are created on your machine (or in your ChatGPT session) and stay there.

Can I put my firm's name and logo on the report?

Yes, and nothing else is on it: the PDF is unbranded (no vendor name in the text, footer or file metadata). Add --firm "Your Firm LLP" --logo logo.png --prepared-for "Client / Matter" --prepared-by "Your Name", or just ask your assistant to. Without a logo the top of page one stays clear for letterhead, and every report ends with a review block for a signature and date. See a sample with a firm's logo and signature.