ARIA: aria-activedescendant 属性

aria-activedescendant 属性用于标识当焦点位于 composite 小组件、comboboxtextboxgroupapplication 上时,当前处于活动状态的元素。

描述

aria-activedescendant 属性提供了一种为辅助技术管理交互式元素中焦点的方法,当这些元素包含多个可聚焦的后代元素时,例如菜单、网格和工具栏。使用 aria-activedescendant,屏幕阅读器无需在子元素之间移动焦点,而可以在容器元素上使用该属性来引用当前处于活动状态的元素,从而在焦点发生变化时告知辅助技术用户当前活动的元素。

使用 aria-activedescendant 时,浏览器会将 DOM 焦点保留在容器元素或控制容器元素的输入元素上。然而,用户代理会将桌面焦点事件和状态传达给辅助技术,就像 aria-activedescendant 引用的元素具有焦点一样。

此属性仅在角色为 composite 小组件、comboboxtextboxgroupapplication 且其 id 被引用为属性值的元素上才相关。

该属性用于向辅助技术提供有关哪个元素具有焦点的、但本身不创建焦点。焦点和属性值的管理是通过 JavaScript 完成的。除了管理该属性值之外,请确保当前活动的后代元素在获得焦点时可见或在视区内(或滚动到视区内)。

在为具有 DOM 焦点的元素设置 aria-activedescendant 值时,请确保该值引用了一个子元素——要么是具有 DOM 焦点的元素的后代,要么是通过 aria-owns 属性指定的逻辑后代。

当具有 DOM 焦点的元素是 combobox、textbox 或 searchbox 时,请包含 aria-controls 来引用支持 aria-activedescendant 的元素。

aria-activedescendant 的值引用被控制元素的子元素。例如,在一个 combobox 中,焦点可能保留在 combobox 上,而 combobox 元素上的 aria-activedescendant 值则引用由 combobox 控制的弹出列表框的后代。

注意:该属性仅在少数角色上受支持。例如,dialog 不支持 aria-activedescendant。当 combobox 打开一个 dialog 时,DOM 焦点会从 combobox 移入 dialog,因为它无法通过此属性引用。

注意:listboxgridtree 弹出窗口的后代获得焦点时,DOM 焦点会保留在 combobox 上,并且 combobox 具有设置为引用弹出窗口内获得焦点的元素的 aria-activedescendant 值。

ID 引用

将其值设为当前获得焦点的元素的 id

相关接口

Element.ariaActiveDescendantElement

ariaActiveDescendantElement 属性是每个元素接口的一部分。其值是 Element 子类的实例,反映了 aria-activedescendant 属性中的 id 引用(有一些注意事项)。

ElementInternals.ariaActiveDescendantElement

ariaActiveDescendantElement 属性是每个自定义元素接口的一部分。其值是 Element 子类的实例,反映了 aria-activedescendant 属性中的 id 引用(有一些注意事项)。

相关角色

仅在具有以下角色的元素上作为属性相关

规范

规范
无障碍富互联网应用程序 (WAI-ARIA)
# aria-activedescendant