将ChromeVox扩展程序用作屏幕阅读器时,我注意到role="menu"
标记为ul
个标记的role="menuitem"
个li
个子项属于<div role="menu">
<div role="menuitem">1</div>
<div role="menuitem">2</div>
</div>
后代的菜单,将触发描述:“菜单包含N个项目”
我还注意到使用其他标签时,例如:
ul
它不会触发“菜单,其中包含2项”音频输出。相反,它只会说“menu”。
以类似的方式,我正在寻找另一个容器角色,它允许我列出可能不是菜单甚至链接的元素(例如:文章列表),但是让它说出“包含N个项目“即可。
为什么这只适用于role="menu"
的{{1}}个标签?它还有哪些其他标签?官方文档中记录了哪些内容?我可以将哪些标记和角色组合用于不是菜单的列表,还可以大声读出“with n items”文本?
答案 0 :(得分:4)
li
元素出现这种情况的原因是辅助功能API中的they expose a setsize
属性值。当ARIA listitem
角色覆盖本机HTML menuitem
角色时,这将继承。 div
元素不会公开此属性。要在<div role="menuitem">
上公开setsize属性,您需要使用&#39; aria-setsize&#39;属性。