用途:在接到 UI 审查、无障碍检查、响应式设计评审或 UX 最佳实践评估请求时使用;纯后端、无 UI 组件的工作可跳过。它是一份自包含的 Web 界面审查规则集,用于审计 UI 代码。
输出格式:将发现的问题按 file:line — [RULE_ID] 描述 报告,例如 src/Button.tsx:12 — [A11Y-01] Missing aria-label on icon button。
主要检查项按类别划分: 无障碍(A11Y):语义化 HTML(操作使用 button、导航使用 a、立标地标 nav/main/aside/header/footer,不得用 div/span onClick 承载交互);ARIA 标签(图标按钮需 aria-label,输入需 label 或 aria-label,图片需 alt);键盘导航(Tab 可达、可见焦点、模态框焦点陷阱与归还);颜色与对比度(正文 4.5:1、大字 3:1,不单靠颜色传达含义,200% 缩放可用);屏幕阅读器(aria-live、aria-busy、aria-describedby)。 性能(PERF):图片优化(next/image 或 srcset、宽高、loading="lazy"、WebP/AVIF 回退);包体积(避免 barrel imports、CSS tree-shaking、路由与重组件懒加载);渲染(避免布局抖动、慎用 will-change、优先 CSS 动画、用 transform/opacity);Core Web Vitals(LCP < 2.5s、INP < 200ms、CLS < 0.1)。 响应式设计(RD):移动优先、触控目标至少 44x44px、无横向滚动;流体排版用 rem/em 与 clamp(),正文最大宽度 65ch;按内容而非设备设断点,常见 640/768/1024/1280px,并在 320、375、768、1024、1440、1920px 测试。 组件模式(CP):表单内联错误提示、正确的输入类型与 inputmode、提交期间禁用按钮、保留表单状态;加载用骨架屏与进度提示;错误须可操作、不暴露技术细节;空状态给出引导;模态框用 dialog 或 role="dialog",支持 Escape 与背景点击关闭、打开时禁止 body 滚动。 CSS:优先类选择器、避免 !important、用自定义属性主题化;Flex 用于一维、Grid 用于二维、用 gap、全高用 100dvh。 安全(SEC):dangerouslySetInnerHTML 必须净化、外链加 rel="noopener noreferrer"、表单 CSRF 与限流、前后端双重校验。 国际化(I18N):不硬编码文案、支持 RTL 逻辑属性、预留约 40% 文本膨胀、html 设置 lang。
审查顺序:按 CRITICAL(A11Y-01、A11Y-02、SEC-01)、HIGH(PERF-04、A11Y-03、CP-01)、MEDIUM(RD-01、CSS-02、CP-02、CP-03)、LOW(CSS-03、I18N-01、CP-04)依次检查。
限制:资料未提供安装命令、运行方式、平台支持与收费信息,暂未提供。