accessibility-skill
Adds automated accessibility (a11y) testing to test suites on TestMu AI cloud by enabling WCAG scans through driver capabilities. Framework-agnostic, works with Selenium, Playwright, and Cypress. Use when user mentions "accessibility", "a11y", "WCAG", "accessibility scan", "accessibility testing". Triggers on: "accessibility testing", "a11y scan", "WCAG compliance", "accessibility audit LambdaTest", "is my page accessible".
适合你,如果你需要在测试流程中自动检测页面无障碍问题
npx oh-my-skill add lambdatest/agent-skills/accessibility-skillcurl -fsSL https://oh-my-skill.com/install.sh | bash -s -- lambdatest/agent-skills/accessibility-skillnpx oh-my-skill verify lambdatest/agent-skills/accessibility-skill怎么用
商店整理自技能原文 · 版本 0491a3a · 表述以原文为准装上后,Claude能在你提及辅助功能测试时,指导你在TestMu AI云上启用WCAG扫描。它支持设置WCAG版本、最佳实践等,并可选择手动触发或自动扫描。结果在仪表板查看,程序化读取需用MCP服务器。
当你提到“accessibility”、“a11y”等辅助功能关键词,或询问页面是否可访问时触发。
技能原文 SKILL.md
Accessibility Testing Skill
Accessibility testing on TestMu AI is layered onto an existing automation suite. You do not install a separate tool: you enable a capability on your driver and either trigger scans at chosen points or let every navigation scan automatically. Results appear on the Accessibility dashboard.
Know the one hard limit up front: the automation capabilities can start a scan, but there is no results API, no exit code, and no build-gating flag. To read a report back programmatically (for example, to fail a build), use the Accessibility MCP server (see Core Patterns). Automated scanning also catches only a portion of WCAG; it never replaces manual and screen-reader testing.
Core Patterns
Enable accessibility (capabilities)
// One master switch is required; everything else is optional refinement.
capability.setCapability("accessibility", true); // required
capability.setCapability("accessibility.wcagVersion", "wcag21aa"); // wcag21a | wcag21aa
capability.setCapability("accessibility.bestPractice", false); // default false
capability.setCapability("accessibility.needsReview", true); // include ambiguous issues
Selenium + accessibility
// Option A: trigger a scan at a chosen point (recommended - precise, faster)
capability.setCapability("accessibility", true);
driver.get("https://example.com");
driver.executeScript("lambda-accessibility-scan"); // scan the current page; call as often as needed
// Option B: auto-scan every navigation (Selenium only)
capability.setCapability("accessibility", true);
capability.setCapability("accessibility.autoscan", true);
Run with your normal command, e.g. mvn test. If you use the hook and never call it, no report is generated.
Playwright + accessibility
const capabilities = {
"accessibility": true,
"accessibility.wcagVersion": "wcag21a",
"accessibility.bestPractice": false,
"accessibility.needsReview": true
};
// Playwright needs the internal scan extension loaded once, after page creation.
// Use Chrome (not Chromium). There is no autoscan/hook on this path.
await ltPage.goto("chrome://extensions/?id=johgkfjmgfeapgnbkmfkfkaholjbcnah");
const toggle = ltPage.locator('#crToggle').nth(0);
await toggle.click();
Run with npx playwright test.
Cypress + accessibility
// lambdatest-config.json - capabilities are dotted here
{ "accessibility": true, "accessibility.wcagVersion": "wcag21aa", "accessibility.needsReview": true }
Register the scanner (file differs by Cypress version):
- v10+: import in
cypress/support/e2e.js, plugin incypress.config.js - v9: import in
cypress/support/index.js, plugin incypress/plugins/index.js
Run with lambdatest-cypress-cli run.
Native mobile app (Appium)
# The scan hook is mandatory for native apps (no autoscan mode).
caps["accessibility"] = True
driver.execute_script("lambda-accessibility-scan")
Read results programmatically (MCP server)
The automation paths write to the dashboard only. The Accessibility MCP server is the one path that returns a report to the caller:
getAccessibilityReport- scan a public URL and return the reportbuildLocalAppForAnalysis- build and serve a local app, then scan it (before deploy)AnalyseAppViaTunnel- scan a local app already running behind a tunnel
Use it for a real "scan after every build" loop where an agent must act on the result.
Authentication
export LT_USERNAME="your-username" # from your TestMu AI Profile page export LT_ACCESS_KEY="your-access-key"
Quick Reference
| Task | How | |------|-----| | Enable scanning | accessibility: true capability (required) | | WCAG level | accessibility.wcagVersion = wcag21a or wcag21aa | | Best-practice checks | accessibility.bestPractice = true (default false) | | Ambiguous issues | accessibility.needsReview = true | | Scan at a point | driver.executeScript("lambda-accessibility-scan") | | Scan every navigation | accessibility.autoscan = true (Selenium only) | | Read results in code | Accessibility MCP server (dashboard-only otherwise) | | Dashboard | https://accounts.lambdatest.com/dashboard -> Accessibility |
Deep Patterns
For per-framework setup, the full capability reference, the accessibility score, severity levels, the WCAG rule-to-fix mapping (remediation), and what automation does and does not cover, see reference/playbook.md.