邮政地址的标记语言

24

我们应该使用哪种HTML5标记来表示邮政地址?并且我们可以使用哪些词汇来实现机器可读性?

W3C总部的地址为例:

W3C/MIT
32 Vassar Street
Room 32-G515
Cambridge, MA 02139 美国

1个回答

55

address元素只有在该邮寄地址代表“最近的articlebody元素祖先”的联系信息时才应使用,当然,并非所有地址都是如此。但无论是否使用address,都不影响以下内容。

整个地址应该被包含在p元素中,因为“地址也是段落”。
由于地址不应翻译,因此translate属性应设置为no

每一(除最后一行外)都应该跟随一个br元素,因为地址中的换行符是有意义的(或者像HTML5规范称之为“内容的一部分”)。

每一个地址部分(姓名、街道、城市等)都可以被包含在span元素中。这并非是必需的,但允许使用语义注释。
缩写的地址部分可以使用abbr元素展开,这对于不熟悉地址格式的用户很有用(例如,“MA是什么意思?”)。

到此为止,我们有:

<p translate="no">
  W3C/MIT<br>
  32 Vassar Street<br>
  Room 32-G515<br>
  Cambridge, <abbr title="Massachusetts">MA</abbr> 02139 USA
</p>

词汇表

PostalAddress类型可以用于除房间外的所有地址部分。

vCard Ontology(将vCard映射到RDF)定义了一个Address。似乎没有办法指定房间。

另一个AddressISA Programme Location Core Vocabulary中定义。房间可以使用locatorName属性指定。

Microformats具有h-card(具有其p-adr)和h-adr。房间可以使用p-extended-address指定。

以使用RDFa(Lite)的schema.org词汇表为例:

<p translate="no" typeof="schema:PostalAddress">
  <span property="schema:name">W3C/MIT</span><br>
  <span property="schema:streetAddress">32 Vassar Street</span><br>
  Room 32-G515<br>
  <span property="schema:addressLocality">Cambridge</span>, <abbr title="Massachusetts" property="schema:addressRegion">MA</abbr> <span property="schema:postalCode">02139</span> <abbr property="schema:addressCountry">USA</abbr>
</p>

1
这个microdatagenerator帮助我轻松地实现了上述目标。 - digitaldonkey

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接