关于 accessibility-audit
面向处理网页的 Agent,提供无障碍审计流程,结合 ARIA 快照、AX 树分析、WCAG 检查清单和键盘导航测试发现问题。
主要功能
- 01生成 ARIA 快照
- 02按角色分析 AX 树
- 03检查遮挡与可见元素
- 04测试键盘导航
- 05提供 WCAG 检查清单
适用场景
- 01检查网页表单标签与按钮名称
- 02排查键盘焦点和导航问题
- 03审查 ARIA 角色及图像替代文本
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ serkan-ozal/ browser-devtools-skills --skill accessibility-audit安装后在 Claude Code 中输入/accessibility-audit确认已加载。
详细介绍
无障碍审计技能
使用 ARIA 快照、AX 树分析和 WCAG 验证审计 Web 无障碍性。
使用时机
此技能会在以下情况下启用:
- 用户询问无障碍性或 a11y
- 用户提及 WCAG 合规性
- 用户想检查屏幕阅读器兼容性
- 用户需要审计 ARIA 角色和标签
- 用户询问键盘导航
功能
ARIA 快照
browser-devtools-cli a11y take-aria-snapshot
browser-devtools-cli a11y take-aria-snapshot --selector ".main-content"
AX 树分析
browser-devtools-cli --json a11y take-ax-tree-snapshot
browser-devtools-cli --json a11y take-ax-tree-snapshot --roles button,link,textbox
browser-devtools-cli --json a11y take-ax-tree-snapshot --check-occlusion
browser-devtools-cli --json a11y take-ax-tree-snapshot --only-visible
键盘导航测试
browser-devtools-cli interaction press-key --key "Tab"
browser-devtools-cli interaction press-key --key "Tab" --selector "body"
browser-devtools-cli interaction press-key --key "Enter"
browser-devtools-cli interaction press-key --key "Escape"
WCAG 检查清单
可感知性
- 图片具有替代文本
- 视频具有字幕
- 颜色不是唯一的指示方式
- 文本具有足够的对比度
可操作性
- 所有功能都可通过键盘使用
- 没有键盘陷阱
- 提供跳过链接
- 焦点可见
可理解性
- 指定语言
- 表单输入框具有标签
- 错误消息清晰
- 导航一致
稳健性
- HTML 有效
- 正确使用 ARIA
- 可与辅助技术配合使用
审计工作流
SESSION="--session-id a11y-audit"
# 1. Navigate to page
browser-devtools-cli $SESSION navigation go-to --url "https://example.com"
browser-devtools-cli $SESSION sync wait-for-network-idle
# 2. Get ARIA snapshot (quick overview, returns refs e1,e2,...)
browser-devtools-cli $SESSION a11y take-aria-snapshot
# Optional: include custom clickable elements (div/span with cursor:pointer)
browser-devtools-cli $SESSION a11y take-aria-snapshot --cursor-interactive
# 3. Get detailed AX tree
browser-devtools-cli $SESSION --json a11y take-ax-tree-snapshot \
--roles button,link,textbox,checkbox,radio,combobox
# 4. Check for interactive elements with occlusion
browser-devtools-cli $SESSION --json a11y take-ax-tree-snapshot \
--roles button,link \
--check-occlusion
# 5. Test keyboard navigation
browser-devtools-cli $SESSION interaction press-key --key "Tab"
browser-devtools-cli $SESSION content take-screenshot --name "first-focus"
# 6. Cleanup
browser-devtools-cli session delete a11y-audit
常见问题
缺少替代文本
# Check images in AX tree
browser-devtools-cli --json a11y take-ax-tree-snapshot --roles image
缺少表单标签
# Check form elements
browser-devtools-cli --json a11y take-ax-tree-snapshot --roles textbox,checkbox,radio,combobox
空按钮/链接
# Check for buttons and links with no accessible name
browser-devtools-cli --json a11y take-ax-tree-snapshot --roles button,link
隐藏但可聚焦的元素
# Check for visibility issues
browser-devtools-cli --json a11y take-ax-tree-snapshot --check-occlusion
特定审计
标题层级
browser-devtools-cli --json a11y take-ax-tree-snapshot --roles heading
表单无障碍性
browser-devtools-cli --json a11y take-ax-tree-snapshot \
--roles textbox,checkbox,radio,combobox,button
导航元素
browser-devtools-cli --json a11y take-ax-tree-snapshot \
--roles navigation,link,menu,menuitem
交互元素
browser-devtools-cli --json a11y take-ax-tree-snapshot \
--roles button,link,tab,switch,slider
最佳实践
- 始终先使用 ARIA 快照,快速了解概况
- 使用 AX 树并检查遮挡情况,排查布局问题
- 按角色筛选,聚焦交互元素
- 检查可见和隐藏元素
- 报告前仅使用键盘进行测试
- 截图记录焦点状态
- 在不同视口尺寸下测试响应式 a11y
评论
支持 Markdown