W3C验证错误:没有属性X.

时间:2013-03-14 23:30:39

标签: validation

我编辑帖子,对于许多更改,我有1个错误:没有属性X

  

您在文档中使用了上面提到的属性,但是   您正在使用的文档类型不支持该属性   元件。此错误通常是由于错误使用“严格”引起的   文档类型与使用框架的文档(例如,您必须使用   “过渡”文档类型,以获取“目标”属性),或通过   使用供应商专有扩展,例如“marginheight”(这是   通常使用CSS来修复以实现所需的效果)。

     

如果不支持元素本身,也可能导致此错误   您正在使用的文档类型,因为未定义的元素将没有   支持的属性;在这种情况下,请参阅元素未定义的错误   消息以获取更多信息。

     

如何修复:检查元素和属性的拼写和大小写,   (记住XHTML都是小写的)和/或检查它们是否都是小写的   允许使用所选的文档类型,和/或使用CSS代替此   属性。如果在使用元素时收到此错误   要将Flash媒体合并到网页中,请参阅有效的FAQ项   闪光灯。

Line 71, column 16: there is no attribute "property"

<meta property='og:locale' content='en_US'/>

我该如何解决这个问题?

先谢谢。


1更新: 我替换了

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

with:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml">

错误不再存在,但我还有其他任何错误。


2更新

我在header.php中替换了

<meta http-equiv="content-language" content="en_US" />

为:

<meta http-equiv="content-language" content="en_us" />

我做的第二件事: 在opengraph.php(Yoast插件)中,我将替换:

if ( $echo )
            echo "<meta property='og:locale' content='" . esc_attr( $locale ) . "'/>\n";
        else
            return $locale;

为:

if ( $echo )
            echo "<meta property='og:locale' content='en_us'/>\n";
        else
            return $locale;

但结果是一样的。 1错误。

1 个答案:

答案 0 :(得分:2)

<meta>标记没有名为“property”的属性。您似乎正在使用W3C的HTML验证程序验证Open Graph协议标记。这几乎可以保证不起作用。看Facebook's debugger tool可能是有利的。它应该提供有关OG标记的反馈。