用途:这是一个以 PR 为范围的无障碍整改编排技能,扫描当前 PR/分支改动的前端界面,查找 IBM Equal Access Level 1 问题并默认修复所有范围内违规,直到两个引擎通过或仅剩已记录基线。
主要能力:比对 PR 或分支与合并基线的差异,定位 src/frontend/** 改动;将改动文件映射到路由、组件与状态;运行 axe(适用时用 Jest)与 IBM Equal Access(Playwright page.runA11yScan 或 scripts/a11y/a11y_scan.py);修复改动界面中的每个范围内 L1 违规;缺失覆盖时新增或更新无障碍测试;反复扫描直至 assert 模式通过;最后汇报修改内容、运行命令及基线或延期债务。
必要用法:
- PR 已知时:gh pr diff <n> --name-only | grep -E '^src/frontend/' || true
- 分支对比:BASE=$(git merge-base HEAD origin/main 2>/dev/null || git merge-base HEAD origin/master) 后 git diff --name-only "$BASE"...HEAD -- 'src/frontend/**'
- 扫描:cd src/frontend 后 RUN_A11Y=true RUN_A11Y_ASSERT=true npx playwright test tests/a11y/<feature>.a11y.spec.ts --project=chromium --workers=5
- Python 扫描器依赖需单独安装:uv run --with playwright playwright install chromium,再运行 scripts/a11y/a11y_scan.py 并传入 --url、--routes、--out、--markdown、--timeout-ms
适用场景:PR 涉及的页面、共享组件、基础组件及状态(空、填充、弹窗、菜单、选中行、错误、移动端)的无障碍整改;用户要求正式审计报告时可转交 ibm-a11y-level1-audit。
限制:仅限 IBM L1,不扩展到 L2/L3,除非用户要求;默认修复而非仅报告;不得编造标签名、静默禁用扫描;新 UI 字符串与 aria-label 须经 i18n;共享组件改动后须重扫所有使用页面;IBM 基线仅用于有文档记录的框架债务;未提供具体价格与平台信息。