Web 无障碍 (A11y) 最佳实践:从语义化到键盘导航的完整指南

By | 2026年9月24日

为什么你的下一个项目必须考虑无障碍

想象一下:你正在使用一个电商网站,但无法用鼠标点击“加入购物车”按钮,只能靠键盘 Tab 键导航。当你终于找到按钮时,屏幕阅读器却只读出“按钮”两个字,你根本不知道这是哪个商品的按钮。这不是假设——全球有超过 10 亿人存在某种形式的残疾,而糟糕的无障碍设计每天都在将他们拒之门外。

Web 无障碍(Accessibility,简称 A11y)不是可选项,而是现代 Web 开发的基本要求。它不仅能帮助残障用户,还能提升所有用户的体验:更清晰的语义、更好的键盘支持、更健壮的代码。本文将从实战角度出发,带你掌握 A11y 的核心最佳实践。

1. 语义化 HTML:无障碍的基石

很多开发者习惯用

和 搭建一切,然后通过 CSS 美化。但屏幕阅读器无法理解这些“无语义”的容器。正确的做法是优先使用原生 HTML 元素,它们自带角色(role)、状态和键盘行为。

错误示范


<div class="btn" onclick="submitForm()">提交</div>

屏幕阅读器只会读作“提交”,不会告知用户这是一个按钮,也无法通过键盘 Enter 或 Space 触发。

正确示范


<button type="submit">提交</button>