HTML可访问性(Accessibility)
可访问性确保所有用户,包括残障用户,都能使用网站。这是现代Web开发的重要组成部分。
关键可访问性实践
1. 使用alt属性
为所有图片添加描述性的alt文本,帮助屏幕阅读器用户理解图片内容。
html
<!-- 良好的实践 -->
<img src="logo.png" alt="公司logo,显示公司名称和标志">
<!-- 装饰性图片可以使用空alt属性 -->
<img src="decoration.png" alt="">
2. 为表单控件添加标签
使用<label>标签将文本描述与表单控件关联,提高可访问性和用户体验。
html
<!-- 显式关联(推荐) -->
<label for="username">用户名:</label>
<input type="text" id="username" name="username">
<!-- 隐式关联 -->
<label>
密码:
<input type="password" name="password">
</label>
3. 使用ARIA属性
为复杂组件添加无障碍描述,帮助屏幕阅读器理解页面结构和交互元素。
html
<!-- 导航区域 -->
<div role="navigation" aria-label="主导航">
<ul>
<li><a href="#">首页</a></li>
<li><a href="#">关于我们</a></li>
</ul>
</div>
<!-- 展开/折叠组件 -->
<button aria-expanded="false" aria-controls="content">
展开详情
</button>
<div id="content" aria-hidden="true">
这里是详情内容
</div>
4. 确保键盘可访问
所有功能都应该可以通过键盘操作,包括导航、表单填写和交互元素。
- 确保焦点顺序合理
- 使用
:focus伪类提供清晰的焦点指示器 - 避免使用
tabindex="-1"禁用默认焦点
css
/* 提供清晰的焦点样式 */
button:focus,
input:focus,
a:focus {
outline: 2px solid #3498db;
outline-offset: 2px;
}
5. 使用适当的颜色对比度
确保文本和背景的对比度符合WCAG标准(至少4.5:1的正常文本对比度)。
6. 结构化内容
使用适当的标题层级(h1-h6)组织内容,帮助用户和屏幕阅读器理解页面结构。
html
<h1>主标题</h1>
<p>介绍内容...</p>
<h2>章节标题</h2>
<p>章节内容...</p>
<h3>子章节标题</h3>
<p>子章节内容...</p>
可访问性工具
- WAVE:网页可访问性评估工具
- axe:浏览器扩展,用于检测可访问性问题
- Lighthouse:Chrome开发者工具中的可访问性审计功能
- NVDA/JAWS:屏幕阅读器,用于测试实际使用体验
最后更新:2026-02-07