mcpField
A
accessibility-skill

accessibility-skill

github.com/lambdatest测试与质量38478 次安装2 周前更新
代码仓库

关于 accessibility-skill

介绍如何在现有 TestMu AI 自动化套件中,为 Selenium、Playwright、Cypress 和 Appium 添加无障碍扫描。内容说明扫描配置及仪表板结果的限制,并介绍用于以程序方式获取报告的 Accessibility MCP 服务。

主要功能

  1. 01WCAG 扫描能力配置
  2. 02按需扫描与 Selenium 自动扫描
  3. 03Selenium、Playwright、Cypress 和 Appium 指南
  4. 04通过仪表板查看结果
  5. 05MCP 报告获取方式

适用场景

  1. 01为浏览器测试添加无障碍扫描
  2. 02使用 Appium 扫描原生移动应用
  3. 03在自动化构建流程中获取报告
  4. 04在仪表板中查看 WCAG 问题

MCP 相关

该技能介绍可向调用方返回扫描报告的 Accessibility MCP 服务。其工具支持扫描公开 URL、构建并扫描本地应用,以及扫描通过隧道运行的应用。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/lambdatest/agent-skills --skill accessibility-skill

安装后在 Claude Code 中输入/accessibility-skill确认已加载。

附带文件reference/playbook.md

详细介绍

无障碍测试技能

TestMu AI 上的无障碍测试是在现有自动化测试套件之上实现的。你不需要安装单独的工具:只需在驱动程序上启用相应功能,然后选择在指定时机触发扫描,或让每次导航都自动扫描。结果会显示在 Accessibility 仪表板上。

**请先了解一项重要限制:**自动化功能可以启动扫描,但没有结果 API、没有退出代码,也没有用于构建门禁的标志。如需以编程方式读取报告(例如,用于构建失败处理),请使用 Accessibility MCP 服务(参见核心模式)。自动扫描只能检测部分 WCAG 问题,不能替代人工测试和屏幕阅读器测试。

核心模式

启用无障碍功能(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 + 无障碍功能
// 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);

使用常规命令运行,例如 mvn test。如果你使用钩子但从未调用它,就不会生成报告。

Playwright + 无障碍功能
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();

使用 npx playwright test 运行。

Cypress + 无障碍功能
// lambdatest-config.json - capabilities are dotted here
{ "accessibility": true, "accessibility.wcagVersion": "wcag21aa", "accessibility.needsReview": true }

注册扫描器(文件因 Cypress 版本而异):

  • v10+:在 cypress/support/e2e.js 中导入,在 cypress.config.js 中配置插件
  • v9:在 cypress/support/index.js 中导入,在 cypress/plugins/index.js 中配置插件

使用 lambdatest-cypress-cli run 运行。

原生移动应用(Appium)
# The scan hook is mandatory for native apps (no autoscan mode).
caps["accessibility"] = True
driver.execute_script("lambda-accessibility-scan")
以编程方式读取结果(MCP 服务)

自动化流程只会将结果写入仪表板。Accessibility MCP 服务是唯一能向调用方返回报告的途径:

  • getAccessibilityReport - 扫描公开 URL 并返回报告
  • buildLocalAppForAnalysis - 构建并提供本地应用,然后扫描(部署前)
  • AnalyseAppViaTunnel - 扫描已在隧道后运行的本地应用

当 Agent 必须根据扫描结果采取行动时,可使用此服务实现真正的“每次构建后扫描”循环。

身份验证
export LT_USERNAME="your-username"     # from your TestMu AI Profile page
export LT_ACCESS_KEY="your-access-key"

快速参考

任务方法
启用扫描accessibility: true capability(必需)
WCAG 级别accessibility.wcagVersion = wcag21a 或 wcag21aa
最佳实践检查accessibility.bestPractice = true(默认值为 false)
有歧义的问题accessibility.needsReview = true
在指定时机扫描driver.executeScript("lambda-accessibility-scan")
每次导航都扫描accessibility.autoscan = true(仅限 Selenium)
在代码中读取结果Accessibility MCP 服务(否则只能在仪表板中查看)
仪表板https://accounts.lambdatest.com/dashboard -> Accessibility

深入模式

有关各框架的配置、完整的 capability 参考、无障碍评分、严重级别、WCAG 规则到修复方法的映射(补救措施),以及自动化能够和不能覆盖的内容,请参阅 reference/playbook.md。

评论

支持 Markdown