跳到主要内容
+

无障碍

了解如何充分利用 MUI Base 的无障碍功能和指南。

无障碍是我们 MUI Base 组件的首要任务。然而,该库本身无法使您的应用程序完全无障碍。本页重点介绍作为开发者,您必须采取的最常见操作,以确保您的应用对需要辅助技术的用户是无障碍的。

键盘导航

MUI Base 组件遵循 WAI-ARIA 1.2 标准,因此它们开箱即可通过键盘访问。这对那些难以使用指针设备的用户很重要,但对于那些发现使用键盘导航更快,并且期望 Web 组件的行为方式与原生操作系统控件相同的用户也很有用。

具体来说,交互式组件可以使用 Tab 键聚焦。类似列表的组件(例如 Select 和 Menu)可以使用方向键、HomeEndEnter/ReturnEscape 键浏览和激活。Select 和 Menu 还允许用户通过按字母数字键导航到以提供的字符串开头的选项。

焦点环

虽然 MUI Base 组件处理键盘导航,但开发者有责任指示组件何时被聚焦并且可以接收键盘输入。这通常通过样式化 :focus:focus-visible 伪类来完成。阅读 WCAG 关于焦点外观的指南,以了解有关焦点指示器要求的更多信息。

颜色对比度

由于 MUI Base 组件是无样式的,因此由您来实现在文本和背景之间实现适当的颜色对比度。您可以使用 C. Liam Brown 的颜色对比度工具来测量设计中颜色之间的对比度,并确保它们满足最低要求(请注意,此工具使用 APCA 算法,该算法预计将成为 WCAG 3 中的新标准)。

无障碍标签

您有责任确保组件具有无障碍名称。

对于表单控件(例如 InputNumber InputSelect),这需要添加关联的 <label> 元素,或在组件本身上放置 aria-label 属性

<label>
  First name <Input />
</label>

<label for="first-name">First name</label>
<Input id="first-name" />

<Input aria-label="First name" />

对于按钮,它们的内部文本成为无障碍标签。如果按钮不包含文本(例如图标按钮),您才需要放置 aria-label 属性。