SuperAPI AI 工具集

aria

前端与建站

查看项目

更新于 10-16 06:54

技能介绍

用途

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 技能

限制

关于该技能的具体安装方式、运行环境要求、收费情况、支持平台等信息,资料中暂未提供。