World’s largest virtual agentic engineering & quality conference
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.

Mythili Raju
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.
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.
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-skillSet 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.
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 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 pageCall 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 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 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.
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.
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.
| Score | What it means |
|---|---|
| 90-100 | Excellent, minimal issues |
| 70-89 | Good, room for improvement |
| 50-69 | Moderate issues, needs attention |
| Below 50 | Significant 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.
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.
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: 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
accessibility: true but never calling the scan hook - Selenium generates nothing without either the hook or autoscan turned on.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 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 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.
Did you find this page helpful?
More Related Blogs
TestMu AI forEnterprise
Get access to solutions built on Enterprise
grade security, privacy, & compliance