【问题标题】:HTML5 microdata: span content?HTML5 微数据:跨度内容?
【发布时间】:2014-11-23 12:25:00
【问题描述】:

我已阅读 the HTML5 specificationthe microdata specificationthe WHATWG HTML5 (with microdata) specification。这些写得很好,很容易理解。

但现在我阅读了schema.org Book specification,并遇到了如下的sn-ps:

<span itemprop="price" content="6.99">$6.99</span>
<span itemprop="inLanguage" content="en">English-language</span>
<span itemprop="name" content="Tolkien, J. R. R. (John Ronald Reuel)">
  J. R. R. Tolkien</span>

显然(与 JSON 版本相比),这些微数据属性的值是 span 元素的 content 属性的值。 (当然,如果没有content属性,则取值为span元素的textContents。)

但我在 HTML 和微数据规范中找不到对这种做法的任何支持。事实上,我什至找不到任何证据表明 span 元素上有 content 属性!

  • 当微数据规范给出values 的规则时,它没有说明span content 属性的任何内容。 [除非'元素的 textContent' 被 content 属性覆盖,但我也找不到任何支持。]

  • 即使是完整的 WHATWG HTML5+微数据规范也不支持span 上存在content 属性的说法(参见The span elementGlobal attributes)。

所以,我认为 schema.org 示例不符合标准。但这也是完全错误的吗?如果不是,这种做法从何而来,接受程度如何?

【问题讨论】:

    标签: html microdata


    【解决方案1】:

    是的,这是错误的。 Microdata 和 HTML5 都没有为 span 元素定义 content 属性。

    有几个人想使用它,例如这些问题中的代码:

    我不确定这种混乱到底来自哪里。

    (Google 的结构化数据测试工具错误地使用了content 属性而不是元素内容并没有帮助;但至少所有other Microdata parsers 似乎都正确地做到了。)

    也许有些人感到困惑,因为 RDFa(但不是 Microdata)定义并允许 content attribute 用于 span。见 HTML+RDFa 的Extensions to the HTML5 Syntax:

    为免生疑问,HTML5 内容模型中的所有元素都允许使用以下 RDFa 属性:@vocab@typeof@property@resource@prefix@content、@987654342 @、@rel@rev@datatype@inlist

    【讨论】:

    • 我就这个 Schema.org 示例提交了issue
    • “加一”获取有关解析器行为和 RDFa 混淆起源假设的信息。
    • 此文档示例确实显示了带有 &lt;span&gt; 标签的 @content 属性,尽管当前的标准是:support.google.com/webmasters/answer/146898。在(其他)微数据(解析器)中没有解决方案吗?
    • 用语法规范的链接重申上面的答案,@content 在 RDFa 中没有这些限制:w3.org/TR/rdfa-syntax/#A-content """如果某些显示的文本与实际的“值”不同它表示,可以使用@content 添加更精确的值。也可以选择使用@datatype""" 键入值
    【解决方案2】:

    (抱歉,我没有足够的声望来发表评论。)

    我们现在是 2017 年底。不知何故,MDN 网络文档 (https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/itemprop) 并且架构文档(http://schema.org/telephone)仍然建议使用微数据在span 上使用content 属性。当然,没有 html5 验证器会接受这个。

    【讨论】:

      猜你喜欢
      • 2015-03-03
      • 2017-05-16
      • 1970-01-01
      • 1970-01-01
      • 2012-08-15
      • 1970-01-01
      • 2015-06-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多