aria-haspopup

aria-haspopup 属性指示在设置该属性的元素上可以触发的交互式弹出元素的可用性和类型。

描述

在 ARIA 中,当被触发显示时出现在其他内容顶部的交互式菜单、列表框、树、网格和对话框被认为是“弹出窗口”。这些弹出窗口由页面上一个或多个交互式元素触发。交互式元素将触发的弹出窗口的可用性和类型应使用 aria-haspopup 状态标识。

aria-haspopup 的存在,以及六个枚举值之一 - menulistboxtreegriddialogtrue - 指示元素可以触发弹出窗口,以及将显示哪种弹出窗口。依次,弹出的元素必须具有指示的角色。值 truemenu 相同。任何其他值,包括空字符串或其他 角色,都将被视为设置了 false

tooltip 在此上下文中不被认为是弹出窗口,因为它不是交互式的。

注意:确保用作弹出窗口内容容器的元素的角色是 menulistboxtreegriddialog,并且 aria-haspopup 的值与弹出窗口容器的角色匹配。

aria-haspopup 状态通知辅助技术用户存在弹出窗口及其类型,但不提供任何交互性。为了使弹出窗口能够通过键盘访问,请确保具有 aria-haspopup 的元素可聚焦并可以触发弹出窗口,存在用于打开弹出窗口的键盘机制,并且弹出窗口元素管理其所有后代的焦点。

注意:ARIA 不会启用可访问的功能。ARIA 仅传达功能的预期行为。

在创建 menubar 时,父 menuitem 应设置 aria-haspopup="menu"(或 true)。任何打开菜单的按钮都应具有 button 角色,或者最好是 <button>,并且还应设置 aria-haspopup="menu"(或 true)。具有弹出菜单的 Tab 元素也应设置 aria-haspopup="menu"。请注意,menubar 不应用于创建网站导航。

注意:角色为 combobox 的元素隐式地具有 aria-haspopuplistbox

false(默认值)

该元素没有弹出窗口。

true

弹出窗口是一个菜单。

弹出窗口是一个菜单。

listbox

弹出窗口是一个列表框。

tree

弹出窗口是一个树。

grid

弹出窗口是一个网格。

dialog

弹出窗口是一个对话框。

关联接口

Element.ariaHasPopup

ariaHasPopup 属性(Element 接口的一部分)反映了 aria-haspopup 属性的值,该属性指示交互式弹出元素(例如菜单或对话框)的可用性和类型,这些元素可以由元素触发。

ElementInternals.ariaHasPopup

ariaHasPopup 属性(ElementInternals 接口的一部分)反映了 aria-haspopup 属性的值。

关联角色

规范

规范
可访问的富互联网应用程序 (WAI-ARIA)
# aria-haspopup

另请参阅