我们可以在html5的同一页面上使用多个标签吗?
我在Zeldman.com上看过this文章,但对我来说并不完全清楚
即
<header><nav>links here</nav></header>
<footer><nav>links here</nav></footer>
答案 0 :(得分:128)
是的,绝对的。您可以将多个header
,nav
和footer
标记视为不受惩罚。
只要您确保在语义上使用标记并且不将它们放在无效的位置(它们是块级元素,因此您不能将它们放在内联元素中,例如)那么你不应该太担心粘贴者说的话。很容易陷入争论微小的细节而不是向前推进你的项目。
答案 1 :(得分:2)
答案是肯定的。您可以在页脚中添加<nav>
标记,以获取更多信息,然后查看mdn <nav>
documentation。
答案 2 :(得分:1)
是的,绝对可以有多个<nav>
元素。
您只需要确保要使使用屏幕阅读器的用户可以区分它们即可。您可以使用<nav>
标记每个aria-label
。
<nav aria-label=’primary’>
<ul>
...List on links here...
</ul>
</nav>
<nav aria-label=’secondary’>
<ul>
...List on links here...
</ul>
</nav>
或者,如果<nav>
之一作为屏幕上的可见文本可以被标识为标签元素,则可以像下面这样使用aria-labelledby
:
<nav aria-label="Site Menu">
<ul>
...List on links here...
</ul>
</nav>
<article>
<h1>Title</h1>
...
<nav aria-labelledby="id-1">
<h2 id="id-1">
Related Content
</h2>
<ul>
...List on links here...
</ul>
</nav>
</article>
您可以阅读有关使用Multiple Navigation Landmarks的更多信息。