Lzh on GitHub

可访问性

Reka UI 遵循 WAI-ARIA 创作实践指南,并在各种现代浏览器和常用辅助技术中进行了测试。

我们负责许多与可访问性相关的复杂实现细节,包括 ariarole 属性、焦点管理和键盘导航。这意味着用户在大多数情况下可以按原样使用我们的组件,并依赖功能来遵循预期的可访问性设计模式。

WAI-ARIA

WAI-ARIA 由 W3C 发布和维护,指定了 Reka UI 中许多常见 UI 模式的语义。这旨在为不使用浏览器提供的元素构建的控件提供意义。例如,如果您使用 div 而不是 button 元素来创建按钮,则需要向 div 添加属性,以便向屏幕阅读器或语音识别工具传达它是一个按钮。

除了语义之外,不同类型的组件还具有预期的行为。button 元素将以 div 不会的方式响应某些交互,因此开发人员需要使用 JavaScript 重新实现这些交互。WAI-ARIA 创作实践 为实现 Reka UI 附带的各种控件的行为提供了额外的指导。

可访问标签

对于许多内置表单控件,原生 HTML label 元素旨在为相应的 input 元素提供语义含义和上下文。对于非表单控件元素,或对于像 Reka UI 提供的自定义控件,WAI-ARIA 提供了一个规范,说明如何为这些控件提供可访问的名称和描述。

在可能的情况下,Reka UI 包含抽象以简化我们控件的标签。Label 原语旨在与我们的许多控件一起使用。最终,您需要提供这些标签,以便用户在导航您的应用程序时具有正确的上下文。

键盘导航

许多复杂的组件,如 TabsDialog,用户期望能够使用键盘或其他非鼠标输入方式与其内容进行交互。Reka UI 根据 WAI-ARIA 创作实践 提供基本的键盘支持。

焦点管理

正确的键盘导航和良好的标签通常与焦点管理齐头并进。当用户与某个元素交互并因此发生某些变化时,通常将焦点随交互移动会很有帮助,这样下一个制表位就根据应用程序的新上下文而变得逻辑。对于屏幕阅读器用户来说,移动焦点通常会导致一条公告来传达这个新上下文,这依赖于适当的标签。

在许多 Reka UI 中,我们根据用户在给定组件中通常采取的交互来移动焦点。例如,在 AlertDialog 中,当模态框打开时,焦点以编程方式移动到 Cancel 按钮元素,以预测对提示的响应。