用途:在 Selenium WebDriver 框架内通过 axe-core 引擎对网页做自动化无障碍分析,检测 WCAG 违规与最佳实践问题,适用于验证 WCAG 合规、扫描无障碍违规、测试键盘导航、审计 ARIA 语义及生成 a11y 报告。
主要能力:使用 AxeBuilder 的 withTags 按 WCAG 标签过滤(wcag2a、wcag2aa、wcag21a、wcag21aa、wcag22a、wcag22aa),include/exclude 限定或排除选择器,disableRules/withRules 控制规则,analyze 执行扫描。Results 提供 getViolations、getPasses、getIncomplete、getInapplicable 与 violationFree。违规按 critical、serious、moderate、minor 分级,前两级通常应直接失败构建。
必要用法:前置为 Java JDK 21+、Maven 3.9+、Selenium WebDriver 4.x、axe-core-selenium 4.10+(com.deque.html.axe-core:selenium)、JUnit 5 5.10+、AssertJ 3.x、Allure 2.x。典型流程是页面加载并等待就绪后执行扫描,如 AccessibilityHelper.verifyPageAccessibility(driver);命令行示例:mvn test -Dgroups=a11y、mvn test -Dtest=A11yTest、mvn test -Dheadless=true、mvn allure:serve。CI 中可上传 target/a11y-results/ 报告产物。
适用场景:扫描页面或组件(如登录弹窗),审计键盘 Tab 顺序、焦点可见性与键盘陷阱,按 POUR 原则分诊问题。
限制:不用于 Playwright/TypeScript 无障碍测试,也不用于编写 Selenium 功能 UI 测试。自动化 axe 扫描仅覆盖约 30%–50% 的问题,不能作为完整 WCAG 合规签署,仍需人工审计与辅助技术测试。第三方组件违规宜用 .exclude() 并记录工单,而非全局禁用规则。incomplete 规则需人工复核,不应自动失败。第三方控件、旧代码等约束与组织特定策略,资料提及但未给出具体方案。