阅读(1085) (2)

Bootstrap5 可访问性

2021-08-30 16:50:06 更新

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

Bootstrap 提供了一个易于使用的现成样式、布局工具和交互式组件框架,允许开发人员创建视觉上吸引人、功能丰富且开箱即用的网站和应用程序。

概述和限制

使用 Bootstrap 构建的任何项目的整体可访问性在很大程度上取决于作者的标记、附加样式和它们包含的脚本。但是,如果这些已正确实施,则完全可以使用 Bootstrap 创建满足 WCAG 2.1 (A/AA/AAA), Section 508,和类似可访问性标准和要求的网站和应用程序。

结构标记

Bootstrap 的样式和布局可以应用于广泛的标记结构。本文档旨在为开发人员提供最佳实践示例,以演示 Bootstrap 本身的使用并说明适当的语义标记,包括解决潜在可访问性问题的方法。

交互组件

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

由于 Bootstrap 的组件被有意设计为相当通用,作者可能需要包含更多ARIA角色和属性,以及 JavaScript 行为,以更准确地传达其组件的确切性质和功能。这通常在文档中注明。

颜色对比

当前构成 Bootstrap 默认调色板的一些颜色组合(在整个框架中用于按钮变体、警报变体、表单验证指示器等)可能会导致颜色对比度不足(低于推荐的WCAG 2.1 文本颜色对比度 4.5:1WCAG 2.1 非文本颜色对比度为 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​属性实现平滑滚动。

其他资源