这个项目能做什么

axe-core 是一个面向网站及其他基于 HTML 的用户界面的无障碍测试引擎。它被设计为快速、轻量,并能集成到现有测试环境中,使无障碍检查可以与常规功能测试一同运行。 规则与覆盖范围 该引擎实现了 WCAG 2.0、2.1 和 2.2 的 A、AA 和 AAA 级别规则,以及最佳实践检查,例如确保页面具有 h1 标题并避免常见的 ARIA 陷阱。该项目表示,axe-core 平均可以自动发现 57% 的 WCAG 问题;当无法确定时,它会将元素返回为“incomplete”,表示需要人工审查。仓库文档中提供了按 WCAG 级别和最佳实践分组的完整规则列表。 快速开始 使用 npm 或 pnpm 将该包安装为开发依赖,在每个 fixtures 或测试系统的 iframe 中包含 axe.min.js,并在新的 UI 变为可见时调用 axe.run()。该 promise 会以结果 resolve;可以检查 violations 并用它使测试失败。API 包由 axe.js 和压缩后的 axe.min.js 组成。 理念与集成 该项目声明的理念是:自动化无障碍测试可以节省时间,不需要特殊专业知识,并让团队将专家资源集中在真正需要的问题上。Axe 旨在与现代浏览器、工具和测试环境配合工作,并且可配置。它支持内存中的 fixtures、静态 fixtures、集成测试和嵌套 iframe,并会根据评估上下文自动确定要运行哪些规则。该项目声称除 bug 外没有误报。 浏览器支持 该 API 完全支持 Microsoft Edge v40+、Google Chrome v42+、Mozilla Firefox v38+、Apple Safari v7+ 和 Internet Explorer v11(已弃用)。每次 pull request 仅在 Chrome 和 Firefox 上测试。JSDOM 支持有限;已知 color-contrast 规则在其中无法工作。环境必须原生支持所需功能,或正确地为其提供 polyfill;不支持已弃用的 v0 Shadow DOM 实现。 本地化 可以通过向 locales 目录添加 locale JSON 文件,并使用 --lang 标志构建,或使用 --all-lang 构建所有 locale,从而为本地语言构建 Axe。可以使用 translate 脚本生成翻译,并通过 axe.configure() 在运行时应用 locale 对象。社区贡献的 locale 包括阿塞拜疆语、巴斯克语、简体中文和繁体中文、丹麦语、荷兰语、法语、德语、希腊语、希伯来语、意大利语、日语、韩语、挪威博克马尔语、波兰语、巴西葡萄牙语、西班牙语和瑞典语;不保证完整性。 发布与安全 新的次要版本每三到五个月发布一次,通常会添加规则和功能。安全更新会为最长达 18 个月的次要版本线提供。文档涵盖发布与支持政策以及向后兼容性。 许可与社区 Axe-core 在 Mozilla Public License 2.0 下分发,并捆绑了按其自身条款授权的第三方依赖。它由主要无障碍供应商 Deque Systems 积极支持。该仓库包含关于提议规则、架构和贡献的指南,以及使用 axe-core 的项目列表。商标使用受 Deque 的商标政策约束。