html5 – 邮政地址的标记

我们应该为邮政地址使用哪个 HTML5标记?我们可以使用哪些词汇来实现机器可读性?

例如,W3C’s main office的地址:

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

解决方法

只有当该邮政地址代表“最近的物品或身体元素祖先”的联系信息时,才可以使用 address element,当然这并不是所有的地址.但是,如果使用地址,则不影响以下内容.

整个地址应包含在p element,because“地址也是一段”.
由于地址不能翻译,所以translate attribute应该设置为否.

每行(除最后一行)之后应该有一个br element,因为换行符在地址中是有意义的(或者是HTML5规范称之为“内容的一部分”).

每个地址部分(名称,街道,城市等)可以包含在span element中.这不是必需的,但允许使用语义注释.
可以使用abbr element扩展地址部分,这对于不熟悉地址格式的用户(例如“什么意味着MA?”)可能是有用的.

至此,我们有:

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

词汇

除了房间外,Schema.org的PostalAddress type可用于所有地址部分.

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

一个Address classISA Programme Location Core Vocabulary定义.房间可以用locatorName property指定.

微格式具有h-card(带有p-adr)和h-adr.可以使用p扩展地址指定房间.

以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>

相关文章

HTML5和CSS3实现3D展示商品信息的代码
利用HTML5中的Canvas绘制笑脸的代码
Html5剪切板功能的实现
如何通过HTML5触摸事件实现移动端简易进度条
Html5移动端获奖无缝滚动动画实现
关于HTML5和CSS3实现机器猫的代码