ARIA:文档角色
描述
document
角色用于包含内容的顶部容器,辅助技术用户可能希望以阅读模式浏览这些内容。仅在复杂复合小部件或应用程序中的可聚焦部分才有用,document
角色通知辅助技术将阅读上下文切换回阅读模式:document
角色告诉具有阅读或浏览模式的辅助技术使用文档模式阅读此元素中包含的内容。
<div role="dialog">
…
<div id="InfoText" role="document" tabindex="0">
<p>Some informational text goes here.</p>
</div>
…
<button>Close</button>
</div>
此示例显示了一个对话框,这是一个复杂复合小部件角色,带有一些控件和一个包含一些信息文本的部分,辅助技术用户在切换到该部分时可以进入阅读模式。
默认情况下,网页被视为文档;辅助技术 (AT) 在进入新网页时进入浏览或阅读模式。可以通过各种角色(包括小部件和应用程序角色)更改此模式。document
角色将 AT 切换回浏览或阅读模式。
document
角色通常放置在应用程序角色或其他交互式小部件角色中,用于指示复杂复合小部件的一部分,辅助技术用户应使用其浏览或虚拟阅读模式(如果可用)来阅读该部分。
由于具有阅读模式的 AT 会默认将所有元素(除了设置了小部件或应用程序角色的元素)设置为该模式,因此文档角色仅对小部件或应用程序中应作为静态富文本读取的可聚焦元素有用。通过向包含小部件中文本的元素添加role="document"
和tabindex="0"
,屏幕阅读器用户可以按 Tab 键将焦点置于文档元素上,并使用屏幕阅读器的阅读光标读取文本。
辅助技术应将上下文切换回文档模式,可能拦截为父级的动态上下文重新连接的控件,重新启用标准输入事件(例如向上或向下箭头键盘事件)来控制阅读光标。
与article
角色相反,document
角色与其他具有文档角色的元素没有任何关系,它仅与包含的复合小部件有关。文章可以有相关的文章。
关联的 WAI-ARIA 角色、状态和属性
aria-expanded
-
如果文档元素是可折叠的,则包含值为
true
或false
的值,以指示文档当前是展开还是折叠。其他值包括默认值undefined
,表示文档不可折叠。 - tabindex="0"
-
用于使其可聚焦,以便辅助技术用户可以切换到它并立即开始阅读。
键盘交互
应通过在元素上设置tabindex="0"
属性/值对使其可聚焦。这样,用户就可以切换到它,阅读模式会自动调用,并且可以立即读取内容。
所需的 JavaScript 功能
无,除非任何属性需要。例如,如果document
是可折叠的,则必须维护aria-expanded
的状态和值。
示例
一个例子是 Gmail 和单一对话视图。Gmail 是一个 Web 应用程序。在 Gmail 中,大多数用户代理交互都被应用程序所取代。但是,当键盘焦点设置在包含对话主题的单一对话的起始标题上时,屏幕阅读器用户可以使用阅读模式命令来通读消息、展开或折叠它们以及操作它们。一旦焦点通过激活“后退”按钮或按下关联的击键返回到消息列表,则会再次调用直接应用程序交互模式,并且用户可以使用箭头键移动到列表中的其他对话。
最佳实践
始终确保具有文档角色的项目可聚焦,方法是设置值为 0 的tabindex
属性。这还将把它包含在 Tab 键顺序中。
附加的好处
文档角色是一种简单的方法,可以通过明确声明这是用户应该使用标准屏幕阅读器命令阅读的内容,来间接控制辅助技术的行为。
规范
规范 |
---|
无障碍富互联网应用 (WAI-ARIA) # 文档 |