Javascript 辅助功能-弹出菜单-菜单中菜单项以外的交互元素 问题陈述和现有理解
我有一个弹出窗口,其中包含不同种类的内容,分为几个部分,点击一个按钮就会触发。我试图在此实现中公开适当的可访问性/aria语义。(它不是一个模式对话框,而是一个简单的就地弹出窗口)。根据我目前的研究,我认为这是有意义的:Javascript 辅助功能-弹出菜单-菜单中菜单项以外的交互元素 问题陈述和现有理解,javascript,html,accessibility,wai-aria,web-accessibility,Javascript,Html,Accessibility,Wai Aria,Web Accessibility,我有一个弹出窗口,其中包含不同种类的内容,分为几个部分,点击一个按钮就会触发。我试图在此实现中公开适当的可访问性/aria语义。(它不是一个模式对话框,而是一个简单的就地弹出窗口)。根据我目前的研究,我认为这是有意义的: aria在触发器按钮上展开 触发器按钮上的aria haspoop=“menu” 弹出窗口上的role=“menu” 弹出窗口内内容的role=“menuitem” 其他可选键盘可访问性 示例: 此菜单按钮实现示例: Twitter通过role=“menu” bo
aria在触发器按钮上展开
- 触发器按钮上的
aria haspoop=“menu”
- 弹出窗口上的
role=“menu”
- 弹出窗口内内容的
role=“menuitem”
- 其他可选键盘可访问性
- 此菜单按钮实现示例:
- Twitter通过
role=“menu”
- bootstrap关于下拉列表的一般指南
- 有两个部分由分隔符分隔
- 第一部分包含一些信息和一些交互元素
- 第二部分有链接
- 对于第二部分,我非常满意在每一部分中使用
角色menuitem
- 不过,我不太确定如何处理第一部分
- 根据目前的理解:
- 创建辅助功能树时,将忽略
菜单中没有
角色的任何内容菜单项
的所有子项都将删除其语义。因此,menuitem
中的菜单项
不会被宣布为这样按钮
- 创建辅助功能树时,将忽略
- 与twitter实现一样,我可以在第一节中忽略我的非交互元素,不向它们添加
角色,但我应该如何处理交互元素。例如,对于menuitem
项目,我无法将Funds
添加到整个容器中,因为这样一来,role=“menuitem”
按钮将无法用于屏幕阅读器用户(?)addfunds
- 我可以将
添加到按钮中,并确保添加更好的aria标签,该标签会宣布当前资金,并允许用户单击按钮添加资金,但我并不确定这一点role=“menuitem”
- 在这种情况下,是否应该应用任何其他ARIA角色/可访问性语义?这个用例是一个符合role=“menu”定义的菜单吗
- 如果role=“menu”和role=“menuitem”最适合此设置,我应该如何处理组件第一部分中的交互元素
- 如果我的需求不适合任何弹出式角色,是否可以不使用
公开它,而只使用aria expandedaria haspopup
- 在开始输入之前,是否需要按enter键激活菜单中的文本字段
- 我是否需要按tab键才能到达项目内的按钮或链接?和文本字段还是选择字段
- 如何在不激活当前选项的情况下打开和关闭菜单中的选择?很少有人知道Alt+向下/向上箭头,很少有人在他们的web组件中实现它们