我计划使用<nav>
标签来做一些事情,但是,我发现了以下情况。
以下面的标记为例:
<nav id="sidebar">
<div class="links">
<a href="/"></a>
<a href="/"></a>
<a href="/"></a>
</div>
<div class="links">
<a href="/"></a>
<a href="/"></a>
</div>
<div class="links">
<a href="/"></a>
</div>
<div class="statement">
random content here, unrelated to navigation
</div>
<div class="randomstuff">
unrelated to navigation, but still here
</div>
</nav>
搜索引擎是否会尊重这种语义标签的使用?我的意思是,&#34;忽略&#34;或者降低使用导航标签包装的所有内容的优先级(即使不是div等),即使不是直接,也不一定是所有导航内容。
内置header
的{{1}}和footer
代码也存在同样的问题。
提前感谢你的帮助。
答案 0 :(得分:3)
您不应在nav
中包含与导航无关的内容。不仅规范是very clear,它也会损害可访问性。
因此,您的两个div
元素(.statement
和.randomstuff
)需要退出nav
元素。只有当他们与nav
中的内容“切线相关”时,您才可以将这两个元素放在nav
内的aside
element内,但我不认为这是你的内容的案例。
我可以问一下您推荐的每个页面上包含但不是导航的常规页面内容的HTML5标签吗?提供与页眉,页脚和导航相同的目的,阻止包含在结果中,因为它是一般的和每页。
没有一般性答案;这取决于你的内容应该使用哪个元素。
您可以使用切片元素(section
,article
,nav
,aside
)和标题创建整体结构(文档大纲)。现在每个部分(不要与section
元素混淆!)可以拥有header
/ footer
个元素。而已。未包含在header
/ footer
中的部分内的所有内容都可以被视为该部分的主要内容 。 address
或small
等细粒度元素可以提供其内容所扮演角色的其他线索。
现在,如果某事(搜索引擎,屏幕阅读器,人工智能......)想要使用您的文档,它可能会利用您的标记。如果以及在多大程度上取决于几个因素,例如用例,意志,技能,成本等等。因此,对于“搜索引擎......?”没有一般性答案,因为 a)有无数的搜索引擎(每个人每天都可以创建一个新的)和 b)一些(特别是一般网络搜索的“大玩家”)不喜欢详细谈谈这些事情。
但我们可以假设对所有这些用户代理/消费者的用例有用:
nav
,aside
,footer
,...)article
内的nav
/ aside
header
,footer
,small
和address
更高中的字词进行评分,而 > 用于研究查询nav
,footer
和顶级aside
元素 HTML定义了所有元素的含义。如果所有HTML作者都尊重这一点,我们可以构建和使用完美使用标记的用户代理。但实际上,作者可能(错误地)使用nav
来“贬低”样板内容☺,这将迫使所有消费的用户代理忘记nav
的特殊含义(因为它可能包含其他内容) ,非导航内容,这对他们的用例很重要。)
答案 1 :(得分:1)
首先,任何与导航无关的内容都不应包含在nav
代码中。
至于搜索引擎会对这些内容做什么,如果你(或其他任何人)有这样不正确的标记是任何人的猜测。
简短的回答:没有人知道!
答案 2 :(得分:1)
在整个区块周围使用NAV并不具有语义意义。使用通用DIV进行布局。
出于语义目的,你可以为链接集使用多个NAV元素,但规范是相当开放的,所以你要做的就是:
<div id="sidebar">
<nav>
<div class="links">
<a href="/"></a>
<a href="/"></a>
<a href="/"></a>
</div>
</nav>
<nav>
<div class="links">
<a href="/"></a>
<a href="/"></a>
</div>
</nav>
<nav>
<div class="links">
<a href="/"></a>
</div>
</nav>
<section>
<div class="statement">
random content here, unrelated to navigation
</div>
<div class="randomstuff">
unrelated to navigation, but still here
</div>
</section>
</div>
你只需要诚实地问自己,“这在逻辑上是否可读?”。
事实是,关于HTML5标签有很多 HYPE 。就个人而言,我认为它们是一个好主意,但在实践中,它现在只能猜测搜索引擎对它们的作用。
希望这会有所帮助。 MIKEY