跳到主要内容

关于 Bootstrap 在创建可访问内容方面的功能和局限性的简要概述。

Bootstrap 提供了一个易于使用的框架,包含现成的样式、布局工具和交互式组件,使开发者能够创建视觉吸引力强、功能丰富且开箱即用的可访问网站和应用。

概览与限制

使用 Bootstrap 构建的任何项目的整体可访问性在很大程度上取决于作者的标记、额外的样式以及他们所包含的脚本。然而,只要这些已被正确实现,使用 Bootstrap 创建符合 WCAG 2.2(A/AA/AAA)、第 508 条款 及类似可访问性标准和要求的网站和应用程序是完全可能的。

结构标记

Bootstrap 的样式和布局可以应用于各种标记结构。本文档旨在为开发者提供最佳实践示例,以展示 Bootstrap 的使用方法,并说明合适的语义标记,包括可以解决潜在无障碍问题的方法。

互动组件

Bootstrap 的交互组件——例如模态框、下拉菜单和自定义工具提示——旨在为触摸、鼠标和键盘用户提供良好体验。通过使用相关的 WAI-ARIA 角色和属性,这些组件也应该可以通过辅助技术(如屏幕阅读器)理解和操作。

因为 Bootstrap 的组件被故意设计得相当通用,作者可能需要进一步包含 ARIA 角色和属性,以及 JavaScript 行为,以更准确地传达其组件的具体性质和功能。通常在文档中会有所说明。

颜色对比

目前组成 Bootstrap 默认调色板的一些颜色组合——在整个框架中用于按钮变化、警告变化、表单验证指示等——可能会导致颜色对比不足(低于推荐的WCAG 2.2 文本颜色对比度比率 4.5:1和WCAG 2.2 非文本颜色对比度比率 3:1),特别是在浅色背景下使用时。建议作者测试他们具体的颜色使用情况,并在必要时手动修改/扩展这些默认颜色,以确保足够的颜色对比度比率。

视觉上隐藏的内容

应在视觉上隐藏但仍可被辅助技术(如屏幕阅读器)访问的内容,可以使用.visually-hidden类来进行样式设置。这在需要将额外的视觉信息或提示(例如通过颜色表示的含义)也传达给非视觉用户的情况下非常有用。

<p class="text-danger">
  <span class="visually-hidden">Danger: </span>
  This action is not reversible
</p>

对于视觉上隐藏的交互控件,例如传统的“跳过”链接,请使用 .visually-hidden-focusable 类。这将确保控件在获得焦点时可见(对于有视力的键盘用户)。注意,与以往版本中等效的 .sr-only 和 .sr-only-focusable 类相比,Bootstrap 5 的 .visually-hidden-focusable 是一个独立的类,不能与 .visually-hidden 类结合使用。

<a class="visually-hidden-focusable" href="#content">Skip to main content</a>

减少动画

Bootstrap 包括对 prefers-reduced-motion 媒体特性 的支持。在允许用户指定减少动画偏好的浏览器/环境中,Bootstrap 中的大多数 CSS 过渡效果(例如,当模态框打开或关闭时,或轮播中的滑动动画)将被禁用,而有意义的动画(例如加载加载动画)将会减慢速度。

在支持 prefers-reduced-motion 的浏览器上,并且用户 未 明确表示他们更喜欢减少动画(即在 prefers-reduced-motion: no-preference 的情况下),Bootstrap 使用 scroll-behavior 属性启用平滑滚动。

附加资源