Integrations
Claude Desktop Skill
Run a complete accessibility audit and produce a signed ACR (VPAT 2.5) without leaving Claude
The Accessible.org skill plugs directly into Claude Desktop so you can scan a website, walk through the items that need human review, fix what's broken, and produce a defensible Accessibility Conformance Report (ACR / VPAT 2.5) — all from a single chat conversation.
What you can do
With the skill installed you can ask Claude to:
- Scan any URL for WCAG 2.1 / 2.2 violations, including pages behind a login (Claude can pass cookies or session tokens you provide)
- Walk through human-review items one at a time, with Claude pre-grading each one and explaining its reasoning so you just confirm or override
- Get fix instructions tailored to your platform — WordPress, Squarespace, Webflow, Wix, Shopify, Instructure Canvas, Drupal, Ghost, and others. Claude tells you which menu to click in your CMS, not a wall of HTML
- Re-scan after you fix to confirm the issue is resolved
- Generate a signed ACR with your name, role, organization, and date stamped on the document — ready to hand to legal, procurement, or an accessibility auditor
Prerequisites
- Claude Desktop (Mac or Windows) — get it at claude.ai/download. Note: the Chrome PWA shim of Claude is not the same app and won't load extensions.
- An Accessible.org API key — generate one at pdf.theaccessible.org/settings → API Keys → Create Key. Copy it immediately; it's only shown once.
- Claude credits / subscription — the skill itself is free, but Claude Desktop needs a Claude.ai account.
Install
- Download the skill bundle — accessible-org-0.2.0.dxt (~120 KB).
- Quit Claude Desktop completely (Cmd+Q on Mac, not just close the window).
- Open the .dxt file — double-click it, or drag it onto the Claude Desktop icon. Claude will show an install dialog.
- Paste your API key when prompted. Claude stores it securely in your operating system keychain — it never appears in plain text.
- Reopen Claude Desktop.
- Verify it loaded — Settings → Extensions should show "Accessible.org Audit" with no error icon. In a new chat, click the 🔧 (tools) icon at the bottom-left of the composer; you should see eighteen tools listed (
url.,acr.,pdf.*).
Your first scan
In a new Claude Desktop chat, just describe what you want:
Scan https://example.com for accessibility issues.
Claude will:
- Call
url.scan— start the scan - Poll
url.statusuntil it's done (takes 10–30 seconds for most pages) - Read
url.resultandurl.conformance— the violations, the WCAG score, the platform it detected - Summarize what it found
You'll get something like:
Scan complete — https://example.com (Example Domain)
>
WCAG 2.1 AA — VPAT score: 100 (9 supports, 0 fails, 23 N/A, 18 require manual review)
>
Violations (1):
- 2.4.4 Link Purpose (Level A, serious) —
Learn morehas non-descriptive link text. Replace with "Learn more about example domains."
>
18 criteria require manual review. Want me to walk you through them?
Say yes — that triggers the verification flow.
Walk through human verification
When you ask Claude to walk through verification, it calls acr.queue and starts presenting items one at a time:
WCAG 1.1.1 — Non-text Content (Level A)
>
The page has 1 image:
inside aelement, no surrounding text
>
My suggestion: Supports — confidence 88%. The empty alt is appropriate because the logo is decorative within a header context where the company name is already in adjacent text.
>
Confirm, override, or add a note?
You answer in plain language: "yes," "no, mark it as Does Not Support — the logo is the only branding," "make it Partial," etc. Claude calls acr.decide with your answer and moves to the next item.
Claude will never batch-approve all items — that defeats the audit trail. Each decision is recorded individually with a timestamp, your verdict, the AI's suggestion, and any note you added.
Get platform-specific fix instructions
When the scan detected your platform with reasonable confidence, Claude tailors fix steps to your editor. For example, if it detected WordPress:
The link "Learn more" needs more descriptive text. In your WordPress block editor:
>
1. Open the page in the block editor
- Click the paragraph block containing "Learn more"
- Select the "Learn more" text
- In the toolbar that appears, the link icon will be highlighted — click it
- Click the pencil icon to edit the link
- Replace "Learn more" with "Learn more about example domains" in the text field
- Save / Update the page
>
Once you've published it, say "rescan" and I'll verify it's fixed.
For Squarespace, Claude will tell you about the design panel. For Instructure Canvas, the Rich Content Editor. For Webflow Designer, the element settings panel. And so on.
If your site is hand-coded HTML (no CMS), Claude can apply the fix directly to a working copy via url.editHtml and hand you a diff to deploy.
Generate your ACR
Once the verification queue is empty (or you say "I'm done with what I want to verify"), ask Claude to generate the report:
Generate my ACR.
Claude will:
- Call
acr.generate— first call returns the prefilled sign-off (your name and organization from your account, today's date) - Show you the prefilled values and ask you to confirm or edit:
> Sign-off:
> - Name: Larry Anglin
> - Role: (empty — please add)
> - Organization: AnglinAI
> - Date: 2026-05-09
>
> What's your role for this audit?
- Once you confirm, call
acr.generateagain with the final sign-off - Return downloadable links to the HTML and PDF versions of your ACR (links are valid for 10 minutes — download or save them right away)
The ACR includes a per-criterion table with audit-trail badges showing which decisions were AI-auto, AI-suggested + human-confirmed, or human-only. That's the legally defensible part — anyone reviewing the report can see exactly how each verdict was reached.
Scanning sites behind a login
If your site requires sign-in:
- For theaccessible.org's own apps (pdf.theaccessible.org, etc.): nothing to do. The skill forwards your existing session automatically.
- For other protected sites: tell Claude. It'll ask you for the cookies or headers your browser sends:
> Scan https://example-cms.com/admin
> → "That site requires login. Open the page in your browser, open DevTools (right-click → Inspect → Application tab → Cookies), copy the values for the cookies named session and csrf_token, and paste them here."
Paste the values; Claude passes them to the scanner. Cookies are used only for that one scan and are not stored.
For sites with single sign-on (SSO) or multi-factor auth, the cookie/header approach won't always work. We're planning a browser-extension flow for those cases — file an issue if you hit it.
Limitations
- Single page per scan — Claude doesn't crawl your entire site automatically. Run separate scans per URL, or use the batch scan dashboard.
- Cookie size limits — for sites with very large session cookies (>4 KB), the cookie path can fail. Use the localStorage option (Claude will guide you).
- PDF generation requires our hosted infrastructure — fully self-hosted installs may get HTML-only ACRs.
- Re-scan delay — after you fix something in your CMS, wait until the page is published / republished before asking Claude to re-scan. Otherwise the scanner will see the old version.
Privacy and security
- Your API key lives in your operating system's keychain, never in plain text.
- Page contents are sent to our scanner over HTTPS. We process them on our infrastructure (US-East), generate the report, and store the result keyed to your account.
- AI pre-grading uses Anthropic's Claude API; the artifacts (HTML snippets, alt text, link text) are sent for evaluation but are not used for model training.
- If you scan a site with sensitive data behind a login, the auth tokens you provide are used only for that one scan — they are not persisted to disk.
- Generated ACRs are stored in your account; download URLs are presigned and expire in 10 minutes.
Troubleshooting
Claude Desktop says "Server disconnected" right after install.
Almost always a stale npx cache. In a terminal: rm -rf ~/.npm/_npx, then quit + reopen Claude Desktop.
No 🔧 tool icon appears in the chat.
Make sure you're running the real Claude Desktop from /Applications/Claude.app, not the Chrome PWA shim that some users install from claude.ai. The PWA can't load extensions.
acr.queue is slow on the first call.
Expected. The AI pre-grader is running through 10–20 criteria in parallel — typically 5–10 seconds. Subsequent calls are instant (cached).
The scan returned the login page instead of my dashboard.
The cookies you provided didn't authenticate. Double-check by opening your browser DevTools → Application → Cookies and confirming you copied the exact cookie name and value. Some sites split session data across multiple cookies — copy them all.
I want to scan a different URL with the same authentication.
You can — just provide the same cookies again. Or use the web-based remediate dashboard for batch authenticated scans.


