SuperAPI AI 工具集

audit-accessibility

测试与质量

查看项目

更新于 10-16 02:34

技能介绍

用途:对指定组件执行分层无障碍审计,覆盖静态分析、运行时测试、ARIA 模式、键盘导航与颜色对比度。

主要能力:

  1. 静态分析:用 ESLint lit-a11y 检查组件源码规则违规,并审查模板常见问题(交互元素缺少 aria-label/aria-labelledby、自定义交互模式缺少 role、图片无 alt、表单输入无关联标签)。运行命令:cd projects/core && pnpm exec eslint --no-warn-ignored src/<component>/<component>.ts
  2. 运行时测试:确认 <component>.test.axe.ts 存在且覆盖全部变体;检查是否从 @internals/testing/axe 导入 runAxe,覆盖适用的状态与尺寸变体及 disabled 状态,断言 expect(results.violations.length).toBe(0),并正确创建与清理 fixture。
  3. ARIA 模式验证:识别组件实现的 WAI-ARIA Authoring Practices 模式,核对 host 或内部元素上的 role、必需 ARIA 状态(aria-expanded、aria-selected、aria-checked 等)、tabindex 管理与复合组件焦点管理。
  4. 键盘导航:检查是否使用来自 @nvidia-elements/core/internal 的 keynav 响应式控制器,查找命令:grep pattern="keynav|keyNavigationList|KeyNav" path="projects/core/src/<component>/";验证方向键导航、Enter/Space 激活、Escape 关闭、Tab 进出焦点、Home/End 首末项等交互是否符合 ARIA 模式。
  5. 颜色对比度:检查是否使用主题令牌而非硬编码颜色,查找命令:grep pattern="rgb|#[0-9a-fA-F]|hsl" path="projects/core/src/<component>/<component>.css";标记硬编码色值,并核对 CSS 自定义属性映射的主题令牌是否满足 WCAG 2.1 AA 对比度(普通文本 4.5:1,大号文本 3:1)。

使用方式:用户对某组件调用本技能时,按上述五层依次核查,前置要求为阅读 projects/site/src/docs/internal/guidelines/testing-accessibility.md。输出为结构化报告,包含通过/未通过状态、按审计层分组的发现、每项发现的具体修复步骤,以及运行相关测试的命令。

限制:资料未提供技能安装方式、依赖版本、支持的组件范围、收费与授权信息;相关事实暂未提供。