【问题标题】:Don't use <address> for address不要使用 <address> 作为地址
【发布时间】:2015-01-20 20:33:27
【问题描述】:

HTML5 spec 是这样说的:

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

这不是很荒谬吗?他们说“不要使用&lt;address&gt; 作为地址”。那他们为什么要命名那个元素地址呢?也许他们必须将其命名为&lt;contacts&gt;

他们说:“p 元素通常是标记邮政地址的合适元素”但是,嘿,&lt;p&gt; 元素适用于任何东西。它可以是一部小说……

如果您想在他们网站的页脚中标记公司邮政地址,您会使用什么?只是&lt;p&gt;?我不认为这是一个段落,对吗?

【问题讨论】:

  • 不要使用它作为邮政地址。这算作联系信息。

标签: html semantic-markup


【解决方案1】:

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

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

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

据我了解:

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

还不清楚吗?

关于页脚中的公司地址:如果最近的文章或正文元素祖先是关于公司的,则可以使用

标记。

对于与最近的文章或正文元素祖先无关的地址,您必须使用

标记。

【讨论】:

    【解决方案2】:

    basic markup for postal addresses 是一个p 元素,带有用于分隔行的br 元素。

    address element 传达附加信息,即该邮政地址是article(如果有)或body(如果没有父 article)。

    因此,在这两种情况下,您应该对邮政地址使用相同的标记,无论是否使用 address 容器(取决于邮政地址的用途)。

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

    为什么元素被命名为address 而不是contacts

    可能是因为元素名称是从以前的非 HTML 规范中采用的(并且可能在讨论 HTML 时重新定义了它的用途/含义)。
    Early History of HTML 上,它在“Pre-1990: GMLguide and GML”部分中说,1988 年的“Waterloo SCRIPT GML 用户指南”(SGML 的某种前身)提到了现在在 HTML 中使用的几个标签,并且其中有ADDRESS

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

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

    【讨论】:

      猜你喜欢
      • 2021-08-10
      • 2021-07-28
      • 1970-01-01
      • 2018-09-23
      • 1970-01-01
      • 2017-12-27
      • 1970-01-01
      • 1970-01-01
      • 2019-04-22
      相关资源
      最近更新 更多