2013-01-23 101 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正確拾取了數據(一個事件項目)。