2013-01-23 57 views
2

因此,我们使用了一些丰富的片段,它们使用html5标记方案。为丰富代码片段分配项目范围属性值

我们的问题是itemscope属性没有值。

<div itemscope itemtype="http://schema.org/LocalBusiness"> 

这会导致我们的旧产品html验证失败,因为它认为它是空的标记。如果你像这样分配一个值1,谷歌和标记规则的工作原理是否相同。

<div itemscope="1" itemtype="http://schema.org/LocalBusiness"> 

它是现在,直到我们能够正确地更新我们的验证方法周围的工作,但是这是一个更远的地方项目。

所以基本上有一个合适的语法,使其对html5之前的Googles Rich Snippet规则,html5和较早的验证引擎仍然有效?

回答

6

(此答案基本上由Peter Murray复制,特别是这些twocomments。)

HTML5规范允许boolean attributes用空字符串的值或属性名称:

如果属性是否存在,其值必须是空字符串或与该属性的规范名称匹配的值,该值不带前导或尾随空格。

因此,无论这样的:

<div itemscope="" itemtype="http://schema.org/LocalBusiness"> 

或本:

<div itemscope="itemscope" itemtype="http://schema.org/LocalBusiness"> 

是有效的HTML5。

要确保谷歌能够正确识别itemscope="itemscope",他(彼得·默里)创建了一个example page并运行它通过Google's rich snippet validator。从results中,您可以看到Google正确拾取了数据(一个事件项目)。