SuperAPI AI Directory

a11y-toolkit

WCAG 2.2 accessibility tools: color contrast checks including text over images, EU accessibility declaration generation and an aria-live announcement monitor.

Open website

About this tool

a11y-toolkit is positioned as the "accessibility layer for AI coding agents," built around the WCAG 2.2 standard as a complete toolchain, including 26 MCP tools, 6 prompts, and one skill, covering the full cycle of audit, remediation, documentation, monitoring, and handoff, and newly adding "blind testing" usability testing capability. Its core philosophy is "machines discover, humans sign off"—automated scanning cannot replace human confirmation, but it can provide agents with actionable evidence.

In terms of main capabilities, the tools fall into two categories: static audit and rendered audit. Static audit (a11y_audit_url) can perform a quick WCAG 2.2 audit on a URL or HTML string, providing more than 20 automated signals and a weighted score of 0-100. Detection items include missing alt on images, controls without accessible names, form fields without labels, user data fields missing autocomplete, click events bound to non-interactive elements, unknown ARIA roles, duplicate unnamed landmarks, timed meta refresh, missing skip mechanisms, missing lang/title, heading structure, blocking zoom, captions, autoplaying audio, generic or duplicate link text, target=_blank without warning, positive tabindex, aria-hidden on focusable elements, tables without th, duplicate ids, duplicate accesskey, etc. Each finding comes with specific remediation suggestions. Rendered audit (a11y_audit_dom) performs deep auditing via local Playwright/Chromium, and can measure real computed text contrast (including alpha compositing), perform pixel sampling measurement for text on images/gradients, minimum target size 24×24 (new in WCAG 2.2 2.5.8), heuristic detection of visible focus indicators, and rendered versions of static checks.

Specialized tools cover multiple automation difficulties: form error testing (a11y_form_errors) fills in invalid data and actually submits, determining whether errors are identified by text and associated with fields; keyboard trap detection (a11y_keyboard) walks through up to 60 stops via real Tab navigation, detects loops, and tests whether Escape can release; infinite scroll audit (a11y_infinite_scroll) detects whether focused elements survive across scroll batches, whether new content is announced, and whether the feed has an end; 320px reflow check (a11y_reflow_320) detects waterFlat scrolling and overflow elements; hover/focus content (a11y_hover_focus) tests whether tooltips can be dismissed with Escape; screen reader transcript (a11y_screen_reader_transcript) linearly traverses the accessibility tree and returns the announcement text that a blind user would hear.

The blind test feature is a unique capability: the agent perceives only through the accessibility tree, attempts real tasks (sign-up, checkout, password reset, etc.) using accessible names and keyboard operations, and produces deterministic scoring verdicts (pass/partial/fail/blocked), with friction items mapped to WCAG standards and flowing into the evidence package. It also provides deterministic safe autofix (a11y_autofix), applying only fixes with a single unambiguous answer (such as removing viewport zoom blocking, adding exact autocomplete tokens, filling in missing html lang and empty title); fixes requiring judgment (alt text, contrast, accessible names) are not touched, but instead return unapplied items and fix suggestions.

Contrast tools include exact color-pair contrast (a11y_contrast_pair, supporting #hex, rgb(), hsl(), CSS color names, including alpha compositing, and suggesting the nearest passing color on failure), text-on-image contrast (a11y_contrast_image, pixel-level sampling of the real background, returning worst/median/p95 ratios, the percentage of area passing AA, and 3×3 grid adversarial region detection), and element real contrast (a11y_contrast_element, loading the page in Chromium, making the element's text transparent and then taking a screenshot, sampling only real background pixels).

In terms of usage, the tools are provided to AI coding agents in MCP form, with a zero-dependency core; rendering-type tools require a local Playwright (pip install playwright && playwright install chromium). All tools accept a lang parameter (en | es) unless otherwise specified, and output is JSON. Some tools support an auth_state parameter to audit pages after login; local files are not uploaded.

Applicable scenarios include: AI agents performing accessibility audits and fixes while writing web pages, development teams verifying form error handling in test/staging environments, keyboard trap detection for pages containing modals or embedded apps, accessibility audits of paginated feeds, 320px reflow for fixed-width templateschecks, and evaluating the accessibility usability of real tasks through blind testing.

Limitations: automation covers only about one third of WCAG standards, and the tools are positioned as a "filter rather than a verdict"; form error testing actually submits invalid data and should not be run against production forms that would trigger real emails, orders, or leads; keyboard trap detection targets only 2.1.2, while focus visibility belongs to a11y_audit_dom; the 320px reflow check targets only 1.4.10; the hover/focus tool targets only tooltips; blind test verdicts are task usability evidence, never proof of compliance. The Nu Html Checker's html mode POSTs the document to the W3C service, so sensitive content should use a self-hosted instance. Some tools require a local Playwright environment.