用途
ARIA 技能用于审查和实现 UI 组件的无障碍模式,遵循 WAI-ARIA 与 WCAG 2.1 规范。它适合在审计代码中的无障碍(a11y)问题、实现可访问的交互组件,以及执行结构化的无障碍评审时使用。
主要能力
该技能以一组参考文档的形式组织,覆盖以下主题:
- 键盘导航:keyboard.md
- 焦点管理:focus.md
- ARIA 角色与状态:aria.md
- React 模式:react.md
- 媒体播放器:media.md
- 反模式:anti-patterns.md
针对结构化的无障碍评审,可加载评审工作流,包含以下文件:
- workflow.md:评审流程与严重程度
- checklist.md:综合检查清单
- templates.md:问题与报告格式
核心原则
- 语义化 HTML 优先——在使用 ARIA 之前先使用原生元素
- 键盘可访问——所有交互无需鼠标即可完成
- 焦点可见——清晰指示当前焦点
- 名称、角色、值——每个控件都有可访问名称、正确角色和暴露状态
- 宣告变更——动态内容更新能被屏幕阅读器感知
常见问题与快速修复
- 图标按钮无名称:添加 aria-label
- 自定义控件无角色:添加合适的 role 属性
- 焦点轮廓被移除:改用 focus-visible
- 切换状态不清晰:使用 aria-pressed 或 aria-expanded
- 动态内容无提示:添加带 aria-live 的实时区域
- 仅有点击处理:为 Enter/Space 添加 keydown
反模式
以下做法应避免:
- 移除焦点轮廓且无替代方案
- 使用 tabindex > 0
- 仅依赖颜色传达信息
- 未经用户意图自动聚焦
- 无意中困住焦点
- 在原生 HTML 足够时使用 ARIA
- 通过更改 aria-label 来传达状态(应使用 aria-pressed)
使用方式
根据需求加载对应参考文档:键盘模式使用 keyboard.md,焦点管理使用 focus.md,ARIA 角色与状态使用 aria.md,React 专用模式使用 react.md,媒体播放器无障碍使用 media.md,常见错误使用 anti-patterns.md,综合检查清单使用 checklist.md。
相关技能
- 构建 UI 组件:component 技能
- API 设计原则:api 技能
- 文档:docs 技能
限制
关于该技能的具体安装方式、运行环境要求、收费情况、支持平台等信息,资料中暂未提供。