World’s largest virtual agentic engineering & quality conference

WHENAUG 19-21
WHEREVirtual · Global
Register Now
Accessibility TestingAI Testing

How to Use the Accessibility Agent Skill to Run WCAG Tests

Install TestMu AI's accessibility agent skill and use your AI coding agent to add WCAG scanning to a Selenium, Playwright, or Cypress suite in minutes.

Author

Mythili Raju

Author

Author

Rahul Mishra

Reviewer

Last Updated on: July 28, 2026

Over 1.3 billion people worldwide live with some form of disability, according to the World Health Organization, and for most of them the browser or a mobile app is the primary way they reach a product. Most development teams still find that out the hard way: a missing label, a keyboard trap, or a contrast ratio that fails WCAG ships to production because nobody scanned for it before merge.

TestMu AI's accessibility agent skill closes that gap without asking you to adopt a new tool. It is an instruction pack that lives in the open-source agent-skills repository, and it teaches an AI coding agent exactly which driver capabilities, scan hooks, and framework quirks turn on WCAG scanning inside a Selenium, Playwright, or Cypress suite you already run on TestMu AI cloud. This walkthrough installs the skill, runs a first scan on each of the three frameworks, and covers what the automated report will and will not tell you.

What Is the Accessibility Agent Skill?

An agent skill is a folder of instructions, code patterns, and a reference doc that an AI coding agent reads before it writes anything. Instead of the agent inferring a capability name from a stale blog post or hallucinating an API, it reads the skill's SKILL.md and follows verified patterns. The agent-skills repository packages one such skill per framework and testing discipline; accessibility-skill is the one for WCAG scanning.

The skill's core claim is specific: accessibility testing is layered onto automation you already have. You are not installing axe-core yourself or wiring up a separate scanner. You turn on a capability on your existing Selenium, Playwright, or Cypress driver, and TestMu AI's cloud grid does the scanning during the run.

Prerequisites

  • Node.js and npm, to run the skill installer.
  • An AI coding agent - Claude Code, GitHub Copilot, Cursor, or Gemini CLI all read the same skill format.
  • A TestMu AI account with a username and access key from your Profile page.
  • An existing Selenium, Playwright, or Cypress suite already running on TestMu AI's cloud grid. The skill adds scanning to automation you have, it does not generate a new suite from nothing.
  • Chrome or Edge version 90 or higher if you plan to use Playwright, since the scan runs through an internal Chrome extension and does not work on Chromium.

Installing the Skill

Clone the repository and install just the accessibility skill with the official installer, rather than copying the folder by hand:

git clone https://github.com/LambdaTest/agent-skills && cd agent-skills
npx agentskillsforall add https://github.com/LambdaTest/agent-skills.git --skill accessibility-skill

Set your TestMu AI credentials as environment variables so the agent can authenticate against the cloud grid:

export LT_USERNAME="YOUR_USERNAME"
export LT_ACCESS_KEY="YOUR_ACCESS_KEY"

Run npx agentskillsforall list https://github.com/LambdaTest/agent-skills.git to confirm the skill is installed alongside any framework skills, such as Selenium Skill, you already have.

Enabling Scans by Framework

Every framework shares one master switch, the accessibility capability, plus optional refinements for WCAG version, best-practice checks, and ambiguous issues that need human review. How the scan actually fires differs by framework, and this is exactly the kind of detail the skill exists to get right on the first try instead of the third.

Selenium

Selenium is the only framework with an autoscan option. Ask your agent to add accessibility scanning to a specific test and it will produce something close to this:

ChromeOptions options = new ChromeOptions();
options.setCapability("browserName", "Chrome");

Map<String, Object> ltOptions = new HashMap<>();
ltOptions.put("user", System.getenv("LT_USERNAME"));
ltOptions.put("accessKey", System.getenv("LT_ACCESS_KEY"));
ltOptions.put("build", "Accessibility Build");
options.setCapability("LT:Options", ltOptions);

// Master switch, required
options.setCapability("accessibility", true);
options.setCapability("accessibility.wcagVersion", "wcag21aa");
options.setCapability("accessibility.needsReview", true);

WebDriver driver = new RemoteWebDriver(new URL("https://hub.lambdatest.com/wd/hub"), options);

driver.get("https://www.testmuai.com/selenium-playground/");
driver.executeScript("lambda-accessibility-scan"); // scans the current page

Call the lambda-accessibility-scan hook again after any navigation you want scanned, or set accessibility.autoscan to true and drop the hook calls entirely to scan every page automatically. On-demand is faster and more precise; autoscan is slower because it scans everything whether you asked for it or not.

Playwright

Playwright has no hook and no autoscan. It loads an internal scan extension once, after the page is created, and it must run on Chrome rather than Chromium:

const capabilities = {
  browserName: 'Chrome',
  browserVersion: 'latest',
  'LT:Options': {
    user: process.env.LT_USERNAME,
    accessKey: process.env.LT_ACCESS_KEY,
    build: 'Playwright Accessibility',
  },
  accessibility: true,
  'accessibility.wcagVersion': 'wcag21a',
  'accessibility.needsReview': true,
};

// After page creation, load the report-generating extension:
await ltPage.goto("chrome://extensions/?id=johgkfjmgfeapgnbkmfkfkaholjbcnah");
await ltPage.locator('#crToggle').nth(0).click();

Run the suite the normal way with npx playwright test. If a report never shows up, the first thing to check is whether the session ran on Chromium instead of Chrome.

Cypress

Cypress capabilities live in lambdatest-config.json as dotted keys, and where you register the scanner depends on your Cypress version:

{
  "accessibility": true,
  "accessibility.wcagVersion": "wcag21aa",
  "accessibility.needsReview": true
}

Cypress v10 and above imports the scanner in cypress/support/e2e.js and registers the plugin in cypress.config.js. Cypress v9 imports it in cypress/support/index.js and registers the plugin in cypress/plugins/index.js. Run the suite with lambdatest-cypress-cli run.

Next-generation test execution with TestMu AI

Running Your First Scan

Once the capability is on, ask your agent something concrete instead of something abstract. A prompt like this gives the agent enough to act on:

"Add the accessibility capability to my Selenium suite, scan the checkout page and the login page with WCAG 2.1 AA, and run it."

Run the suite with your normal command - mvn test, npx playwright test, or lambdatest-cypress-cli run. Then open your TestMu AI dashboard and go to the Accessibility tab under Automation. Every scan you triggered appears there as a build with a report, regardless of which framework produced it.

Reading the Score and Severity

Each scan produces a score from 0 to 100. It is not a pass or fail flag; it is 100 - (density x weighted severity), where density is the ratio of issues to elements on the page and weighted severity blends the proportion of Critical (weight 1.0), Serious (0.75), Moderate (0.5), and Minor (0.25) issues found.

ScoreWhat it means
90-100Excellent, minimal issues
70-89Good, room for improvement
50-69Moderate issues, needs attention
Below 50Significant barriers

Two issues that push a page below 70 come up constantly: missing or non-descriptive alt text (WCAG 1.1.1, Critical) and insufficient color contrast (WCAG 1.4.3, Serious, which needs at least a 4.5:1 ratio for normal text). Both are fast to fix once the scan tells you exactly which element failed.

What Automation Does Not Catch

The accessibility skill's own reference playbook is direct about this: automated detection covers roughly a third to a half of WCAG success criteria. A clean scan is not a compliance certificate.

What scans catch reliably: presence of alt attributes, color contrast on solid backgrounds, form labels, heading structure, and name/role/value markup. What still needs a person with a keyboard and a screen reader: whether alt text is actually meaningful, keyboard operability and focus order, use of color as the only signal, and how status messages announce to assistive technology. Treating "0 issues" as "accessible" is the single most common mistake teams make with this skill.

Reading Results Programmatically

The Selenium, Playwright, and Cypress capability paths all write to the dashboard only. There is no results API, no exit code, and nothing to gate a CI build on directly from automation. If your agent needs to read a report back and act on it, for example to decide whether a newly built page is safe to deploy, the Accessibility MCP server is the path that returns data instead of just a dashboard entry.

  • getAccessibilityReport - scans a public URL and returns the report directly to the calling agent.
  • buildLocalAppForAnalysis - builds and serves a local app, then scans it before it is ever deployed.
  • AnalyseAppViaTunnel - scans a local app already running behind a TestMu AI tunnel.

This is the closest thing to "scan after every build and act on the result" that the platform offers today, and it is worth reaching for whenever the requirement is programmatic, not just visible on a dashboard.

Note

Note: TestMu AI's Accessibility Testing suite pairs this automation path with axe-core-powered DevTools scanning, scheduled monitoring, and real-device mobile checks in one dashboard. Start testing free

Anti-Patterns to Avoid

  • Setting accessibility: true but never calling the scan hook - Selenium generates nothing without either the hook or autoscan turned on.
  • Expecting autoscan on Playwright or Cypress - it is Selenium only and is silently ignored elsewhere.
  • Running Playwright accessibility tests on Chromium - the scan extension requires Chrome specifically.
  • Registering the Cypress scanner in the wrong file for your version - v10+ and v9 use different support and plugin files.
  • Assuming HyperExecute accessibility scanning works without setup - it is a gated feature that TestMu AI support has to enable on your account first.

Conclusion

Install the skill, turn on the accessibility capability in the suite you already run, and scan one page you suspect is broken before you scan everything. The dashboard report and severity score will tell you exactly where to start fixing, and the reference playbook tells you honestly where automation stops and a person with a screen reader needs to take over.

For the full capability reference, WCAG-to-fix mapping, and mobile notes, see the accessibility-skill playbook on GitHub, or read the Accessibility Testing documentation to set up scheduled and mobile scanning alongside this automation path.

Author

...

Mythili Raju

Blogs: 44

  • Twitter
  • Linkedin

Mythili is a Community Contributor at TestMu AI with 3+ years of experience in software testing and marketing. She holds certifications in Automation Testing, KaneAI, Selenium, Appium, Playwright, and Cypress. At TestMu AI, she leads go-to-market (GTM) strategies, collaborates on feature launches, and creates SEO optimized content that bridges technical depth with business relevance. A graduate of St. Joseph’s University, Bangalore, Mythili has authored 35+ blogs and learning hubs on AI-driven test automation and quality engineering. Her work focuses on making complex QA topics accessible while aligning content strategy with product and business goals.

Reviewer

...

Rahul Mishra

Reviewer

  • Linkedin

Rahul Mishra is a Lead Member of Technical Staff at TestMu AI (formerly LambdaTest), leading frontend engineering and accessibility testing across the quality engineering platform. He mentors frontend engineers, runs code reviews and sprint planning, optimizes React.js rendering performance, and makes product features accessible to users with disabilities through WCAG and ADA-compliant accessibility audits. He brings 10+ years of experience across React.js, VueJS, TypeScript, Swift, Objective-C, and AWS, with earlier work as a Technical Lead at VectoScalar Technologies. Rahul holds a B.E. in Information Technology.

Open in ChatGPT Icon

Open in ChatGPT

Open in Claude Icon

Open in Claude

Open in Perplexity Icon

Open in Perplexity

Open in Grok Icon

Open in Grok

Open in Gemini AI Icon

Open in Gemini AI

Copied to Clipboard!
...

3000+ Browsers. One Platform.

See exactly how your site performs everywhere.

Try it free
...

Write Tests in Plain English with KaneAI

Create, debug, and evolve tests using natural language.

Try for free
...
TestMu Conf 2026

World's largest virtual agentic engineering & quality conference

...

AUG 19-21, 2026

REGISTER NOW

Accessibility Agent Skill FAQs

Did you find this page helpful?

More Related Blogs

TestMu AI forEnterprise

Get access to solutions built on Enterprise
grade security, privacy, & compliance

  • Advanced access controls
  • Advanced data retention rules
  • Advanced Local Testing
  • Premium Support options
  • Early access to beta features
  • Private Slack Channel
  • Unlimited Manual Accessibility DevTools Tests