语义标记和ARIA角色,用于指示页面的主要和辅助导航

Pre*_*mbo 2 navigation html5 accessibility nav wai-aria

有没有一种方法可以指示(出于辅助目的)页面上的哪个导航菜单是主要导航?

<nav role="navigation" id="primaryNavMenu">
    <ul> ... </ul>
</nav>

<nav role="navigation" id="secondaryNavMenu">
    <ul> ... </ul>
</nav>
Run Code Online (Sandbox Code Playgroud)

能做这样的事情会很好:

<nav role="navigation primary" id="primaryNavMenu">
    <ul> ... </ul>
</nav>
Run Code Online (Sandbox Code Playgroud)

但我在ARIA文件中看不到任何此类规定.

Dav*_*rey 7

从技术上讲,没有.只有常规role="navigation".但是,HTML5规范曾经说过nav元素:

只有由主导航块组成的部分才适用于nav元素.

它现在说:

并非页面上的所有链接组都必须位于nav元素中 - 该元素主要用于由主要导航块组成的部分.特别是,页脚通常具有指向站点的各个页面的短链接列表,例如服务条款,主页和版权页面.单独的页脚元素足以满足这种情况; 虽然在这种情况下可以使用nav元素,但通常是不必要的.

参考

因此,该nav元素仅用于主导航(在您网站上的页面之间导航)和辅助导航(在当前页面上的部分之间导航)之类的内容.因此,如果您需要某些东西来识别主导航,因为您有太多nav元素,那么您可能会错误地使用它.

当然,该规范并不是100%确定的应该和不应该是一个nav元素.我建议看看你们nav的每个人,并考虑是否需要.