跳到主要内容

前端无障碍访问实战:让 Bootstrap 网站更友好

2026-06-05 ·

Web 无障碍访问(Accessibility)不仅是为了遵循 WCAG 标准,更是为了让所有用户都能顺畅使用你的网站。本文分享在 Bootstrap 项目中的可操作性方案。

1. 语义化 HTML

Bootstrap 的组件大多使用语义化标签,但需要确认以下要点:

<!-- 好的做法 -->
<nav aria-label="主导航">...</nav>
<main id="main-content">...</main>
<footer>...</footer>

<!-- 标题层级 -->
<h1>页面标题</h1>
  <h2>章节标题</h2>
    <h3>小节标题</h3>

2. ARIA 属性

<!-- 按钮 -->
<button aria-label="关闭"><i class="bi-x"></i></button>

<!-- 导航当前项 -->
<a href="/" aria-current="page">首页</a>

<!-- 错误提示 -->
<div role="alert">请输入有效的邮箱地址</div>

3. 键盘导航

Bootstrap 的内置组件(如下拉菜单、模态框、轮播)已支持键盘导航。对于自定义交互,需确保焦点管理正确:

<!-- 可聚焦元素使用 tabindex -->
<div tabindex="0" role="button" @click="handleClick"
    @keydown.enter="handleClick">可点击</div>

4. 颜色对比度

Bootstrap 的默认颜色方案符合 WCAG AA 标准(对比度 ≥ 4.5:1)。自定义主题时,使用在线对比度检查工具验证:

WCAG 2.1 AA 标准要求普通文本对比度 ≥ 4.5:1,大文本 ≥ 3:1。可使用 WebAIM 的对比度检查工具免费测试。

5. 表单无障碍

<div class="mb-3">
  <label for="email" class="form-label">邮箱地址</label>
  <input type="email" class="form-control" id="email"
     aria-describedby="emailHelp">
  <div id="emailHelp" class="form-text">我们不会分享您的邮箱。</div>
</div>

本网站使用 Cookie 来提升您的浏览体验。隐私政策