这是面向 React 应用的 Web Accessibility 技能(版本 1.0,标准 WCAG 2.1 Level AA),用于在编写界面时内置无障碍支持,而非事后用 ARIA 补救。
用途与原则:覆盖 POUR 原则(可感知、可操作、可理解、健壮),要求语义化 HTML 优先、正确使用 button 与 link、保持标题层级不跳级。
主要能力:键盘导航与焦点管理(:focus-visible 焦点指示、逻辑 Tab 顺序、跳转链接、Escape 关闭);模态框焦点陷阱(role="dialog"、aria-modal、关闭后恢复焦点,示例用 createPortal);ARIA 使用模式(报错优先原生 HTML,常用 role 如 alert、dialog、tablist、status 等);表单可访问性(label 关联、aria-invalid、aria-describedby 错误提示、必填标识);颜色对比(正文 4.5:1、大文本与 UI 组件 3:1,不单靠颜色传递信息);图片与媒体 alt 文本、SVG 图标可访问名称;动态内容 live region(polite/assertive);prefers-reduced-motion 降级;visually-hidden 样式;以及 jest-axe 自动化测试与人工测试清单(键盘、屏幕阅读器、200% 缩放、高对比度)。
使用方式:构建者写 HTML 或组件标记前先读 Builder Checklist,将无障碍设计前置;重构者用 Enforced Rules 表与正文定位违规。规则包含 img 必带 alt、需有 title、禁止正数 tabindex、标题层级告警、单 h1、禁止 div 冒充按钮等,由 check.js 校验。
边界与限制:本技能聚焦 WCAG 合规、屏幕阅读器、焦点与 ARIA;设计令牌、布局原则参考 design 技能,CSS 架构与响应式实现参考 web-css 技能。自动检查不能替代人工与屏幕阅读器测试;具体平台、收费与安装信息暂未提供。