2011-06-01 75 views
4

链接属性rel="canonical"应该针对html5进行验证吗?rel =“canonical”html5无法验证

这是我第一次用这个,我得到以下验证错误:

“坏值规范对元素链接属性为rel:关键字规范未注册”

这种表明它应该虽然我无法找到任何具体的文件。

编辑 - 这里是抛出验证断了线:

<link rel="canonical" href="http://dev.local/" /> 

我已经有和没有结束斜杠试过

+0

让我们看看这是不是验证 – Gareth 2011-06-01 21:16:51

回答

2

没有为canonicalrelin the HTML5 spec没有定义,但它也可以这样说:

rel属性没有默认值。如果该属性被省略或者属性中的值都没有被用户代理识别,则文档与目标资源没有特别的关系,除了两者之间存在超链接。

所以,它在技术上不符合HTML5,但它会被不理解它的UA忽略。

+0

所以,那么你说的验证是在标记页面为无效正确的实际代码? – David 2011-06-01 21:31:12

+0

那么,HTML5规范确实允许任何人在http://microformats.org/wiki/existing-rel-values注册一个新的'rel'。 W3C一致性检查器(*而非严格意义上的“验证器”)确实表示它可能“不可靠,或者不完全符合某些尖端技术的最新发展”。所以不,说你的网页无效是不正确的。 – Gareth 2011-06-01 21:57:20

0

从我可以从验证器的输出中获得的信息以及定义链接rel属性的规范部分我会说验证器将文档标记为无效,因为“canonical”类型只是一个提议而不是现在的official linkTypes的一部分。

同时该页面还表示...

“建议”或 “批准”定义为与状态 微格式维基现有-REL-值 页扩展

类型可能与“...上的效果 ...”字段中的链接,a和区域 元素上的rel 属性一起使用。 [MFREL]

验证消息是指this list当前对“官方目录”有效的扩展。 直到6月2日为止,这个列表并没有包含规范链接类型,所以验证器在IMO将文档标记为无效时是正确的。

但现在规范型是建议类型列表中,我认为这只是一个之前也验证程序会将其识别:-)

+0

如果该链接上列出了“canonical”,验证器为什么会将它标记为无效是正确的? – 2011-06-03 09:43:29

+0

大声笑,误读了整个部分。对不起。我的答复会尽快回复。 – 2011-06-03 11:57:54

+0

如果你看看当规范被添加到列表中,你会注意到,它发生在昨晚;-) – 2011-06-03 12:03:37

0

在错误的描述他们做参考的时间问题Microformats wiki作为有效链接类型的列表,其列表包含“规范”链接类型。

我认为这是验证器中的一个临时错误,因为它仅在我的HTML5网站上报告rel =“canonical”的错误,但不在我的其他XHTML网站上报告。

4

Validator正在标记规范无效,因为canonical是最近的增加(正如Gutmann指出的那样),并且验证工具不会实时更新。 W3C告诉我们为什么canonical是在Micorformats wiki上,但没有验证。这是因为验证器中维基数据的更新是手动的。

你会在验证报告看到: “列为HTML规范允许或作为允许上没有在列表中重复的关键字的微格式维基上市的链接类型,用空格分开列表注意。验证程序中的wiki数据更新是手动的,并且不会实时发生

这将验证其下一次手动更新。

2

使用此data-rel

<link data-rel="canonical" href="http://dev.local/" />