--- tags: [React, A11y, Accessibility, Frontend] create time: 2026-04-29 22:16 --- # 可访问性 ## 概述 可访问性(Accessibility,简称 a11y)确保残障用户也能正常使用应用。这不仅是道德责任,在许多国家和地区也是法律要求。本文档梳理 React 中实现无障碍的关键实践。 ## WCAG 核心原则 ```mermaid graph TB A["WCAG 2.1 四大原则"] --> B["Perceivable
可感知"] A --> C["Operable
可操作"] A --> D["Understandable
可理解"] A --> E["Robust
鲁棒性"] B --> B1["文本替代"] B --> B2["颜色对比度 ≥ 4.5:1"] C --> C1["键盘可达"] C --> C2["足够的时间"] D --> D1["可读的文本"] D --> D2["一致导航"] E --> E1["兼容辅助技术"] style A fill:#F5A87D,color:#000 style B fill:#4FC08D,color:#fff style C fill:#61DAFB,color:#000 style D fill:#A0AEC0,color:#000 style E fill:#ED8936,color:#000 ``` ## 语义化 HTML(最重要的一条) ```tsx // ❌ 滥用 div + onClick
navigate("/home")}>Home
goTo("/about")}>About
// ✅ 使用原生元素——天生支持键盘、屏幕阅读器、SEO 首页 关于 ``` ### 常用语义标签对照表 | 功能 | 错误写法 | 正确写法 | |------|---------|---------| | 按钮行为 | `
` | `