我正在网站上进行一些代码清理/验证,并遇到了一个问题。该网站有一个主菜单(菜单栏),其中应显示当前页面。
菜单结构如下:
<nav role="navigation">
<ul role="menubar">
<li role="menuitem" aria-selected="true">
<a href="currentpage">Current page</a>
</li>
<li role="menuitem">
<a href="anotherpage">Another page</a>
</li>
</ul>
</nav>
根据WAI-ARIA规范,角色菜单项不允许选择州咏叹调:http://www.w3.org/TR/wai-aria/states_and_properties#aria-selected。我也无法找到任何似乎将菜单项标记为已选中的菜单项状态:http://www.w3.org/TR/wai-aria/roles#menuitem。
菜单栏中所选菜单项/页面的正确实现是什么?
更新
我找到了一个答案,建议将锚点留在菜单中的当前页面上,但不确定是否会给我我想要的内容。
<li role="menuitem">Current page</li>
答案 0 :(得分:3)
正如在博客条目 The Accessible Current Page Link Conundrum 中非常好地展示的那样,通过引入属性aria-current="true"
似乎有一个即将推出的解决方案。
现在,你留下来
或包含aria-described
属性,该属性通过引用ID指定给attach descriptive information一个或多个元素。例如:
<nav role="navigation">
<ul>
<li><a href="/" aria-describedby="a11y-desc-current">Home</a></li>
<li><a href="/about/">About</a></li>
<li><a href="/contact/">Contact</a></li>
</ul>
<span id="a11y-desc-current">current page</span>
</nav>