SuperAPI AI 工具集

web-accessibility

编程与开发

查看项目

更新于 10-15 21:47

技能介绍

该技能用于构建或审查 UI 时的无障碍实践,通用规则内联,特定组件模式放在 references/ 目录中按需读取。

用途:在编写、修改或规划任何组件、页面、表单、对话框、浮层或交互元素时,提供符合 WCAG 2.2 AA 的实现指引。

主要能力:

  1. 语义化优先:用原生元素匹配行为(如 <button> 用于操作、<a href> 用于导航、<input> 用于输入、<select> 用于选择、<dialog> 用于浮层),避免给 div 或 span 绑定点击事件当作交互元素。
  2. 键盘可操作性:所有交互元素可通过 Tab 到达并用键盘操作,遵循 Enter/Space、方向键、Escape 的标准映射,不使用大于 0 的 tabindex。
  3. 焦点可见:交互元素必须有可见的 :focus-visible 指示,焦点指示需满足 3:1 非文本对比度。
  4. 颜色对比:正文文本 ≥4.5:1,大文本 ≥3:1,非文本 UI 元素 ≥3:1;颜色不能作为唯一信息传递方式。
  5. 文本替代:信息性图片提供有意义的 alt,装饰性图片 alt="",仅图标控件在控件上加 aria-label、在图标/SVG 上加 aria-hidden="true",复杂图像用 aria-describedby 或相邻文本提供长描述。
  6. 可访问名称:每个交互元素需有可发现的名称,含可见文本的控件其可访问名称须包含该可见文本。
  7. 视觉隐藏内容:给出 sr-only 的 CSS 实现,并说明何时使用。
  8. 页面级结构:每页一个 <main>、一个 <h1>,landmark 重复时加唯一 aria-label,页面标题描述性并随 SPA 路由更新,声明语言,提供跳转链接。
  9. 动态内容:通过 aria-live 区域播报验证结果、错误、加载、保存确认、过滤计数、toast 等;容器需先存在于 DOM 再注入内容;role="status" 与 role="alert" 已隐含相应属性。
  10. 动画与运动:尊重 prefers-reduced-motion,采用默认无动效、用户未选择减弱时才启用动效的模式;闪烁不超过每秒三次,自动播放超 5 秒的动画可暂停或停止。
  11. 禁用控件:优先保持可用并在激活时校验,必须呈现不可用时用 aria-disabled="true" 而非 HTML disabled。
  12. 目标尺寸与触摸:交互目标至少 24×24 CSS 像素,建议 44×44 用于触摸;路径手势需有单指针替代。
  13. 响应式与重排:320 CSS 像素宽度下无水平滚动,文本可放大 200% 不裁剪不重叠。
  14. 键盘快捷键:单字符快捷键需可禁用、可加修饰键重映射或仅在相关组件聚焦时生效。

使用方式:通用规则直接遵循;遇到表单、浮层、菜单、媒体、复杂模式等具体功能时,读取 references/ 目录下对应文件(forms.md、overlays.md、menus.md、media.md、complex-patterns.md)。若组件不匹配任何参考,查阅 WAI-ARIA Authoring Practices Guide 模式索引;若无文档化模式,说明打算怎么做并请用户确认后再实现。

限制:资料未提供安装命令、收费或价格信息、支持平台、官方文档 URL 及效果数据,这些暂未提供。