我们是不是应该在站点导航中使用 (HTML5) rel 属性

Posted

技术标签:

【中文标题】我们是不是应该在站点导航中使用 (HTML5) rel 属性【英文标题】:Should we be using (HTML5) rel attributes within site navigation我们是否应该在站点导航中使用 (HTML5) rel 属性 【发布时间】:2012-05-03 11:27:02 【问题描述】:

简单直接的问题,但我找不到任何建议。

支持的适当的 html5 值是:

作者 首先 最后 下一个 上一页 帮助 许可证(不是“许可证”)

示例

由索引、关于、联系方式和法律组成的导航

..从index.html页面的角度来看:

带有 rel="first" 的 index.html about.html with rel=author next" 带有 rel="help" 的contact.html legal.html with rel="license last"

...从contact.html页面的角度来看:

带有 rel="first" 的 index.html about.html with rel=author prev" 带有 rel="help" 的contact.html legal.html 带有 rel="license next last"

我接受在导航中使用 rel 的效果很小;但它可能会对搜索引擎有所帮助。

我给出的例子既是为了证明这在实践中如何运作,也是为了批评!

亲切的问候, 戴尔

对以下 cmets 示例的编辑

由索引、关于、联系方式和法律组成的导航

..从index.html页面的角度来看:

没有 rel 的 index.html about.html with rel=author" 带有 rel="help" 的contact.html legal.html 带有 rel="license"

...从contact.html页面的角度来看:

没有 rel 的 index.html about.html with rel=author" 带有 rel="help" 的contact.html legal.html 带有 rel="license"

【问题讨论】:

【参考方案1】:

好问题!老实说,我不是 rel 属性的专家(所以如果我错了,请有人纠正我),但从我能找到的内容来看,Google 可以通过该属性验证identity on a web page。比如

<a rel="me" href="https://plus.google.com/110037486217106671520">Luke Southam</a>

我知道这与网站导航无关,但它表明 Google 正在读取和索引 <a></a> 标记内的属性。至于在网站导航中使用它,如果它(可能)帮助谷歌(或其他搜索引擎)更好地索引你的网站,我说去吧。

【讨论】:

是的,我熟悉有关 Google 推广(有人说不公平)带有 rel="me" 标记的页面的文章。因此,这似乎是合乎逻辑的行动方案。但是在示例中我的“rel”标记在语义上是否正确? 就像我之前说的 To be honest i'm no expert with the rel attribute 。但是在阅读了一些文档之后,helpauthorlicence 似乎是正确的,但我不明白 firstprevnextlast 是什么 在阅读 this 后,使用 relnext 和 relprev 进行分页。它可能有效,但就导航中使用的它而言,我看不到重点。可以按任何顺序查看网站(订购文章除外),在我看来,使用nextprev 等进行导航毫无意义。坚持使用helpauthorlicence 感谢您找到该资源。我同意您关于不使用“第一个”/“最后一个”/“下一个”/“上一个”的想法,因为它给出了查看网站的顺序。如果引入某些功能以允许鼠标/键盘操作更改为下一页/上一页,这将很烦人。因此,当用户想要跳转到下一张图片时,用户会被跳转到下一页。 刚刚更正了“license”的拼写。我是英国人,我使用的“licence”英文拼写无效。【参考方案2】:

是的,您可以将rel 用于导航中的链接。因为……

…您可以为每个链接使用rel

使用适当的链接类型,即。您只能在 HTML5 中使用一组特定的 defined and registered rel values。


first & last, next & prev

firstlast 不再在 HTML5 规范中定义。在 Microformats wiki 页面 existing rel values 中,它们被列为 beginend 的同义词,定义为:

标识以当前文档为节点的文档序列的作者定义的开始[/结束]。

因此它们不适合典型的网站导航。当应按特定顺序阅读链接文档时使用它们。

nextprev 在 HTML5 规范中是 defined:

[...] 表示文档是序列的一部分 [...]

与上面first/last 的参数相同:仅在有特定顺序时使用它(这不是由“关于”、“联系”、“法律”等组成的导航的情况) .最突出的用途是分页。

author

author link type

表示引用的文档提供了有关定义超链接的元素的最近article 元素祖先的作者的更多信息,如果有的话,或者整个页面的作者,否则。

您只需确保您的导航(即此author 链接)不是article 元素的子元素(这对于网站导航来说非常罕见)。

help

help link type 定义为:

对于aarea 元素,help 关键字表示引用的文档为定义超链接的元素的父级及其子级提供了更多帮助信息。

所以这似乎不合适(即使如果联系页面会提供“更多帮助信息”,因为从技术上讲,这将是导航本身的帮助(→链接),而不是整个页面(只有在head 中的link 元素中使用,或者帮助链接是body 的直接子元素时才会出现这种情况。)

license

license link type

[...] 表示引用的文档提供了提供当前文档主要内容的版权许可条款。

似乎合适(如果您的法律页面包含这些条款)。

【讨论】:

以上是关于我们是不是应该在站点导航中使用 (HTML5) rel 属性的主要内容,如果未能解决你的问题,请参考以下文章

我啥时候应该使用导航控制器?

<导航> 或 <菜单> (HTML5)

每个Web开发人员都应该知道的10个HTML5黑客

html5 Android 应用上的 Google 导航

快收藏:HTML5中Nav元素的正确打开方式

我应该在 HTML5 中使用 <![CDATA[...]]> 吗?