github/accessibility-scanner

Finds potential accessibility gaps, files GitHub issues to track them, and attempts to fix them with Copilot.

它能做什么

AI 驱动的可访问性扫描器 是一个 GitHub Action,可对网页(或您指向的任何 URL)执行自动可访问性检查。它使用 AI 驱动的工具——特别是 GitHub Copilot——将每个发现转换为 GitHub 问题,并在启用 Copilot 时,建议一个可由人类审查后合并的拉取请求修复方案。

为什么重要

  • 早期发现 WCAG 问题 – 扫描器在每次触发的工作流中运行,因此可在代码进入生产环境前发现可访问性回归问题。
  • 自动将发现转换为工作项 – 每个违规项都会变成一个可追踪的问题,可按规则或 URL 选择性分组,确保团队不会忽视任何问题。
  • 利用 AI 快速修复 – 启用 Copilot 后,该操作可起草一个修复问题的 PR,大幅减少修复常见问题所需的手动工作量。
  • 轻松集成到现有 CI/CD 流程 – 它只是 GitHub Actions 工作流中的一个步骤,仅需一个具有写入权限的 PAT(个人访问令牌)即可。

如何使用

  1. 在 .github/workflows/ 中添加一个工作流文件(例如 a11y-scan.yml)。
  2. 提供您希望扫描的 URL(或使用 JSON url_configs 指定等待的选择器或排除项)。
  3. 提供一个细粒度的个人访问令牌(GH_TOKEN),该令牌可创建问题、拉取请求并写入仓库。
  4. 配置可选设置——启用截图、按规则或 URL 分组问题、选择扫描引擎(axe、accesslint 或自定义插件),或运行一次预览模式(dry-run)以查看结果。
  5. 手动运行或按计划/PR 触发运行工作流。该操作将:
    • 启动 Playwright,运行选定的扫描器,收集发现结果。
    • 为每个发现创建 GitHub 问题(或根据您的 group_by 选择进行分组)。
    • 如果启用了 Copilot,将问题分配给 Copilot,以便其打开一个包含建议修复的 PR。
    • 尊重 wontfix 标签,防止已关闭的问题重新打开。

哪些人应考虑使用

  • 产品和前端团队:希望实现自动化可访问性回归测试的团队。
  • 开源维护者:希望向贡献者揭示可访问性问题的维护者。
  • 使用 GitHub Copilot 的组织:希望将 Copilot 的协助扩展到可访问性修复的组织。
  • 任何使用 GitHub Actions 的仓库:只要能添加一个小型工作流和一个 PAT 即可。

限制与注意事项

  • 扫描器目前处于 公开预览阶段 – 功能可能变更,且不保证代码完全可访问。
  • AI 生成的修复仅为 建议;必须在合并前由人类审查。
  • 自动创建 PR 依赖于 GitHub Copilot;若无 Copilot,您仍会收到问题,但无法获得自动修复。
  • 扫描在无头 Playwright 环境中执行;需要复杂认证的页面可能需要 auth_context 输入。
  • 该操作会创建一个 gh-cache 分支用于截图和缓存结果;该分支将出现在仓库中。

快速入门检查清单

  • ✅ 在目标仓库中启用 GitHub Actions 和问题功能。
  • ✅ 创建一个具有 actions、contents、issues、pull-requests 和 metadata 范围的细粒度个人访问令牌(PAT)。
  • ✅ 将 PAT 作为名为 GH_TOKEN 的机密添加。
  • ✅ 添加包含所需 repository、token 和 cache_key 输入的工作流文件。
  • ✅ (可选)启用 GitHub Copilot 并添加自定义 .github/copilot-instructions.md 以获得更好的修复建议。

所有细节均直接取自仓库的 README。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • Dispatch