8

将微数据添加到我的页面后,我收到了来自 W3C 验证器的许多错误,抱怨itemprop

没有属性“ itemprop

从这样的代码:

<p itemprop="description">...</p>

这是我的 DOCTYPE 和html标签

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" 
xmlns:fb="http://www.facebook.com/2008/fbml">

如何修复验证器错误?

ps 以前我也有验证器错误itemscope。但是在我将其更改为itemscope="itemscope"之后,错误就解决了。

4

4 回答 4

15

带有HTML 5和 Microdata 的文档用于成功验证,但由于Bug #14020,验证器在将文档声明为“有效”方面变得更加严格。您的文档是有效的 HTML 5 + 微数据,但严格来说不是仅支持 HTML 5 的文档。

您可以使用http://Validator.nu/来验证 HTML 5 + 微数据。

Fabian 的答案中链接到的站点不是他提到的W3C站点,因此我不会像对早期(2000 年之前)版本的 HTML那样相信 HTML 5 。

您必须将 itemscope 更改为 itemscope="itemscope" 的原因是以前的浏览器和规范定义了不兼容的代码解释(有时为真,有时为假),例如 itemscope(无值)、itemscope=""(解释为空字符串被 XPath 视为 false)和 itemscope="false"(任何非空字符串有时被解释为 true)。因此,规范中的声明“布尔属性上不允许使用值 'true' 和 'false'”。但是,“true”和“false”可以出现在某些属性值中,因为它们允许出现在诸如可拖动的枚举属性上。请参阅关于编码布尔值的项目符号 #4 。

使用脚本插入无效代码的解决方法(在其他地方)可能会向验证器隐藏该代码,但它不会创建比使用静态 HTML 代码更有效的文档,因为 HTML 5 规范是根据内部文档定义的模型,而不是外部表示。请参阅HTML 5 Specifications focus on the DOM

于 2012-01-19T00:54:14.130 回答
4

好的,这是我为使用验证器所做的工作:

参考此页面:http ://www.w3.org/TR/2011/WD-microdata-20110525/

我在我的页面(如果你愿意的话是“包装器”)中包含了以下内容:

<div id="layout" itemscope>

如果您的页面的 div 标记或包含微数据的 div 中有 itemscope,那么 W3C Validtor 会很喜欢它。

于 2013-11-01T14:22:34.850 回答
1

DOCTYPE 需要是 HTML5 才能验证微数据。

<!DOCTYPE html>
<html xmlns:fb="http://www.facebook.com/2008/fbml">
.....

它将与段落标签一起使用:

http://www.w3.org/TR/2011/WD-microdata-20110525/

于 2011-12-11T13:10:03.983 回答
0

如果您只想删除此标签,您可以通过从位于主根文件夹中的文件中删除标签来实现

wp-includes/general-template.php ” 在891 行

你可以删除额外的标签。

于 2017-04-11T05:52:04.890 回答