图像与设计
审查 UI 代码或做无障碍审计时,按 WCAG…
当需要审查 UI 代码、检查 WCAG 合规性、审计表单或验证键盘导航与屏幕阅读器支持时,用一套 23 条规则的无障碍检查清单对代码库进行系统化审计。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 49/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 85/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 60/100 ×0.15
适用场景
审查 UI 代码或做无障碍审计时,按 W通用
解决思路
- 确定审计范围:若用户提供了参数($ARGUMENTS),只审计指定的文件或组件;若无参数,则审计代码库中所有 UI 组件和页面。
- 检测技术栈:查找 .tsx/.jsx 文件判定为 React,.vue 判定为 Vue,.blade.php 判定为 Laravel Blade,.html 判定为静态 HTML。
- 逐项运行无障碍检查清单,对每一项输出 PASS(简述验证内容)、FAIL(给出精确的 file:line、问题描述和修复建议)或 N/A(不适用时)。
- 语义 HTML 与结构检查:页面使用语义元素(<header>、<main>、<nav>、<footer>、<article>、<section>)而非一堆 <div>;标题层级连续(h1→h2→h3)不跳级;每页只有一个 <h1>;存在跳过导航的 skip link(<a href="#main-content">Skip to content</a>);重复的 landmark 区域用 aria-label 标注(如多个 <nav>)。
- 键盘导航检查:所有交互元素可通过 Tab 键到达;焦点顺序与视觉顺序一致(不使用正数 tabindex);所有可聚焦元素有可见焦点指示(不能只用 outline: none 而无替代);模态对话框捕获焦点并在关闭时归还焦点;自定义组件(下拉、标签页、手风琴)支持预期键盘模式(方向键、Escape、Enter)。
- 图片与媒体检查:所有 <img> 有 alt 属性——内容图用描述性文本,装饰图用空 alt="";复杂图片(图表、示意图)提供扩展描述;视频内容有字幕或文字稿。
- 颜色与对比度检查:文本满足 WCAG AA 对比度(普通文本 4.5:1,大文本 3:1);信息不单靠颜色传达(如错误状态用图标+文字,而非仅红色);UI 组件和焦点指示与背景对比度达 3:1。
- 表单检查:每个输入都有对应的 <label>(不能只用 placeholder);必填字段同时有视觉提示和 aria-required="true";错误消息通过 aria-describedby 关联到输入;错误消息使用 role="alert" 或 aria-live="assertive" 供屏幕阅读器播报;输入使用正确的 type 属性(email、tel、url、number);常见字段(姓名、邮箱、地址、信用卡)带 autocomplete 属性。
- ARIA 与屏幕阅读器检查:纯图标按钮加 ARIA 标签(aria-label="Close");动态内容更新使用 aria-live 区域;加载状态向屏幕阅读器播报(aria-busy="true"、状态消息);装饰性元素对屏幕阅读器隐藏(aria-hidden="true")。
- 动效与动画检查:尊重 prefers-reduced-motion——禁用或减弱动画;无自动播放的视频或音频(除非用户可控);无每秒闪烁超过 3 次的内容。
- 审计结束时输出总结:PASS 数、FAIL 数、N/A 数、WCAG 等级(AA / Partial AA / Below AA),以及最优先修复的 3 个 FAIL 项。
- 按优先级参考规则分类:1 无障碍(CRITICAL,前缀 a11y-)、2 表单(HIGH,前缀 form-)、3 动画与动效(CRITICAL,前缀 motion-)、4 性能与 UX(MEDIUM,前缀 perf-)。
- 实现时参考示例:用语义 HTML 替代 div soup(<header><nav aria-label="Main"><a href="/">Home</a></nav></header>);表单用 <label htmlFor="email"> 配合 aria-describedby 和 role="alert" 错误提示;用 @media (prefers-reduced-motion: reduce) 将 animation-duration 和 transition-duration 设为 0.01ms。
- 需要细节时阅读各规则文件:rules/a11y-semantic-html.md、rules/form-autocomplete.md、rules/motion-reduced.md、rules/perf-image-loading.md 等。
- 参考权威资料:WCAG 2.2 Quick Reference、WAI-ARIA Authoring Practices、web.dev Accessibility、MDN Accessibility、The A11Y Project;完整展开版见 AGENTS.md。
适用边界 · 注意事项
- 项目中没有 UI 组件或页面(如纯后端/CLI 工具)时,大部分检查项会变成 N/A,审计价值有限。
- 仅需快速修复单个已知问题时,不必跑完整 23 条清单,直接定位对应规则即可。