不要将<address>用于地址</address>

时间:2015-01-20 20:33:28

标签: html html5 semantic-markup

以下是HTML5 spec所说的内容:

  
      
  1. address元素代表联系信息[...]
  2.   
  3. address元素不得用于表示任意地址[...]
  4.   

这不是很荒谬吗?他们说“请勿使用<address>作为地址”。他们为什么要将该元素地址命名呢?也许他们必须将其命名为<contacts>

他们说:“p元素是用于标记邮政地址的适当元素”但是,嘿,<p>元素适用于任何事情。它可以是一部小说......

如果您想在其网站页脚中标记公司邮政地址,您使用的是什么?只是<p>?我不认为这是一个段落,是吗?

2 个答案:

答案 0 :(得分:7)

哼......当你引用specs时,不要删除相关部分(重点是我的):

  

地址元素代表最近文章或正文元素祖先的联系信息

     

地址元素不得用于表示任意地址(例如邮政地址),,除非这些地址实际上是相关的联系信息。

据我所知:

地址元素不得用于表示任意地址(例如邮政地址),除非这些地址实际上是最近文章或正文元素祖先的相关联系信息。

目前还不清楚吗?

关于页脚中的公司地址:可以使用&lt; address&gt;标记最近的文章或正文元素祖先是否与公司有关。

您必须使用&lt; p&gt;标记与最近的文章或正文元素祖先无关的地址。

答案 1 :(得分:3)

basic markup for postal addresses是一个p元素,其中br元素用于分隔行。

address element传达其他信息,即此邮政地址是article(如果有)或{的联系信息(的一部分) {1}}(如果没有父body)。

因此,在这两种情况下,您应该为邮政地址设置相同的标记,无论是否有article容器(取决于邮政地址的目的)。

在您的具体示例中(公司网站页脚中的公司地址),您应该使用address元素,因为您的公司是该网页的相关联系人。请注意,此address还可能包含贵公司的电子邮件地址,电话号码等。

为什么元素名为address而不是address

可能是因为元素名称是从以前的非HTML规范中采用的(也许它的目的/含义在某些时候重新定义了HTML)。
Early History of HTML,它在&#34; 1990年之前:GMLguide和GML&#34; &#34;滑铁卢SCRIPT GML用户指南&#34; (1988年某种SGML的前身)提到了几个现在在HTML中使用的标签,其中包括contacts

但这并不重要。虽然描述性元素名称很有用,但它们并不是必需的。语义由HTML规范定义,而不是由元素名称定义。

查看各种HTML版本,我们可以看到它从未打算用于每种类型的邮政地址: