---
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(最重要的一条)
> [!tip] 黄金法则
> **能用原生元素,绝不用 div + onClick。** 原生 HTML 元素天生具备键盘交互、屏幕阅读器支持和 SEO 友好能力。这是可访问性的基石,比任何 ARIA 属性都重要。
思考:为什么一个 `