我本来打算用<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>
搜索引擎会尊重语义标记的这种用法吗?我的意思是,“忽略”或降低所有用导航标签包装的内容(甚至div等)的优先级,即使不是直接的,甚至是所有导航内容。
对于
header
和footer
内有div
s标记的问题相同。提前感谢您的帮助。
最佳答案
您不应该在nav
中包含与导航无关的内容。不仅规范是very clear关于它,它也会损害可访问性。
因此,您的两个div
元素(.statement
和.randomstuff
)需要离开nav
元素。只有当它们与nav
中的内容“相切相关”时,您才可以将这两个元素放在aside
中的nav
element中,但我不认为您的内容是这样的。
我可以问一下,对于每个页面上都包含但不是导航的常规页面内容,你会推荐什么HTML5标签吗?与页眉、页脚和导航具有相同的用途,阻止结果中包含内容,因为它是通用的,并且位于每个页面上。
没有一般的答案;这取决于您的内容应该使用哪个元素。
通过使用分区元素(section
,article
,nav
,aside
,section
,header
)和标题创建总体结构(文档大纲)。现在每个部分(不要与footer
元素混淆!)可以有header
/footer
元素。就是这样。未包含在address
/small
中的节中的所有内容都可以视为该节的主要内容。像nav
或aside
这样的细粒度元素可以提供其内容所起作用的额外线索。
现在,如果某个东西(搜索引擎、屏幕阅读器、人工智能……)想要使用您的文档,它可能会利用您的标记。如果这种情况在多大程度上取决于几个因素,比如用例、意愿、技能、成本等等,那么“做搜索引擎…?”,因为a)有无数的搜索引擎(每个人都可以每天创建一个新的搜索引擎)和b)一些(特别是“大玩家”一般的网络搜索)不喜欢谈论这方面的细节。
但是,我们可以假设对于所有这些用户代理/消费者的用例来说什么是有用的:
屏幕阅读器可能提供只读取主要内容的功能(忽略footer
,article
,nav
,…)
博客文章搜索引擎在aside
内的得分可能高于在header
/footer
内的得分。
搜索引擎可能会在导航搜索查询中给small
、address
、nav
和footer
中的单词打分,而在研究查询中可能会给词打分。
可读性插件可能会试图通过忽略aside
、nav
和顶级nav
元素来查找主要内容。
…
html定义了所有元素的含义。如果所有html作者都尊重这一点,我们就可以构建和使用能够完美利用标记的用户代理。然而,实际上,作者可能(错误地)使用来“贬低”样板内容,这将迫使所有消费用户代理忘记的特殊含义(因为它可能包含其他非导航内容,这对他们的用例可能很重要)。
关于html5 - HTML5语义标签的使用,将搜索引擎尊重大包装吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14190161/