用途
Accessibility Review 是一个专注于 Rails 应用的无障碍审查技能。它以 WCAG 2.2 Level AA(W3C 2023 年 10 月推荐标准)为可执行基线,该标准是 ADA Title II、Section 508 和欧盟无障碍法案(2025-06-28 生效)的合规依据。技能定位为只读分析:绝不修改代码,仅读取、分析并报告发现的问题及修复建议。
主要能力
- 依据 POUR 原则(可感知、可操作、可理解、健壮)评估界面。
- 运行自动化工具:axe-core(通过 RSpec system specs,覆盖约 30–40% 的 WCAG 问题)、Lighthouse CI、Pa11y CLI、Herb Linter(用于 ERB 结构与无障碍问题)。
- 人工审查指定路径:app/views、app/components、app/javascript/controllers(Stimulus 的焦点、实时区域、按键)、样式表与 Tailwind 类(对比度、焦点环)、helpers,以及布局、flash、错误页、模态、菜单、表格、表单。
- 输出结构化报告:摘要(合规级别、阻塞项、整体状况)、Critical(P0,WCAG A 失败)、Major(P1,WCAG AA 失败)、Minor(P2,AAA 或最佳实践差距)、正面观察。每条发现按“问题 → WCAG 成功标准 → 位置(文件:行)→ 影响 → 修复(代码示例)”组织。
使用方式
技能提供自动化命令示例:
bundle exec rspec spec/system/ --tag a11y
npx lighthouse <url> --only-categories=accessibility --quiet
npx pa11y --standard WCAG2AA <url>
bundle exec herb lint app/views app/components
自动化结果被视为事实,但非全貌;键盘、屏幕阅读器和人工审查是必需的补充。技能还附带按需加载的参考材料:references/wcag-2.2-criteria.md(全部 87 条成功标准及 Rails 注释)、references/common-failures.md(扩展失败模式目录)、references/aria-patterns.md(ARIA 创作实践配方,译为 ERB + Stimulus)、references/screen-reader-testing.md(NVDA/VoiceOver/JAWS 冒烟测试手册及 Hotwire 检查)、references/rails-snippets.md(可直接使用的布局、表单修复、导航聚焦 Stimulus 控制器、图标按钮 ViewComponent、be_axe_clean 测试辅助)。
适用场景
适用于 Rails 应用的无障碍合规审查,尤其是使用 Hotwire(Turbo Drive、Turbo Frames、Turbo Streams)、Stimulus、ViewComponent 和 Tailwind 的项目。技能覆盖 WCAG 2.2 常见失败及 Rails 修复,包括:非文本内容(1.1.1)、信息与关系(1.3.1)、对比度最低要求(1.4.3)、非文本对比度(1.4.11)、键盘(2.1.1)、焦点可见(2.4.7)、焦点不被遮挡(2.4.11,WCAG 2.2 新增)、目标尺寸(2.5.8,WCAG 2.2 新增)、标签或说明(3.3.2)、错误识别与建议(3.3.1/3.3.3)、名称角色值(4.1.2)、状态消息(4.1.3)。还包含 Hotwire 特有陷阱:Turbo Drive 导航不移动焦点、Turbo Frame 更新需保留焦点、模态应使用原生 dialog、Stimulus 控制器需管理 aria-expanded/aria-controls/roving tabindex 及 Escape/方向键。
限制
技能明确不修改代码,仅报告。自动化工具仅能捕获约 30–57% 的问题,其余必须依赖键盘、屏幕阅读器和人工审查。WCAG 3.0 仍为工作草案,尚不可用于合规声明,仅作为前瞻性背景。技能未提供收费、价格、平台或效果方面的信息。