SuperAPI AI 工具集

playwright-accessibility-testing

测试与质量

查看项目

更新于 10-16 05:47

技能介绍

用途:基于 Playwright 与 @axe-core/playwright 编写、审查或修复无障碍(a11y)测试。需注意 axe 只能辅助发现问题,并不能证明完全符合 WCAG。\n\n主要能力:对真实用户状态下的页面进行 axe 扫描;使用 WCAG 标签过滤规则;检查 ARIA 名称、角色与标签;结合手动键盘与焦点检查;复盘扫描结果并定位根因。\n\n使用方式:使用 AxeBuilder 构造扫描,典型模式如下:\nimport { test, expect } from '@playwright/test'\nimport AxeBuilder from '@axe-core/playwright'\n\ntest('home page has no detectable a11y violations', async ({ page }) => {\n await page.goto('/')\n const results = await new AxeBuilder({ page }).analyze()\n expect(results.violations).toEqual([])\n})\n\n按 WCAG 标签筛选:\nconst results = await new AxeBuilder({ page })\n .withTags(['wcag2a', 'wcag2aa', 'wcag21a', 'wcag21aa'])\n .analyze()\n\n流程:选择关键页面或流程;导航并交互到目标状态;执行 axe 扫描;查看 id、impact、target、failureSummary;修复标签、对比度、ARIA、语义或重复 ID;重跑测试;说明自动化测试的局限。\n\n规则要点:测试关键流程而非仅首页;在 UI 达到真实用户状态后再扫描;使用 AxeBuilder;用 include() 缩小噪声较大的扫描范围;除非有正当理由,避免使用 exclude() 与 disableRules();快照仅作指纹识别;需配合手动键盘/焦点检查。\n\n输出结构:以 A11y Test Review 形式记录范围(页面/流程)、扫描状态、所用 WCAG 标签、发现项(规则 id、影响、目标选择器、修复改动)、排除项(选择器/规则、原因、后续工单)以及局限(仍需手动键盘、焦点与屏幕阅读器检查)。\n\n限制:axe 无法覆盖全部无障碍问题,不能替代手动检查与完整 WCAG 合规验证;exclude()、disableRules() 与快照仅限必要时使用,临时排除项应记录原因并跟进。