从技术上讲不是段落

时间:2017-07-14 20:06:33

标签: html accessibility semantic-markup

更常见的是,当我为网站编写标记时,只要出现任何形式的文本,我就会使用<p>标记。是否是博客文章中的段落

<p>
    Lorem ipsum dolor sit amet, consectetur adipiscing elit. 
    Nam eget mattis enim. Ut tempus pulvinar est et consectetur. 
    Sed malesuada ex et augue vulputate congue sit amet ut nunc. 
</p>

或者它是否只是一小段信息,例如页脚中的地址,标题中的电话号码,甚至是警告信息。

<p>0191 482 4003</p>
<p>123 Random Address Road</p>
<p>Wait! An error has occurred.</p>

从技术上讲,我不认为这些是文本的“段落”,而是具有自己特定背景的小片段。

这个经验法则有例外。例如,如果文本内容是时间(例如,在时钟小部件中),我将使用<time>小部件。

是否有更“'语义正确'的方式来显示技术上不是段落的文本?对于某些情况,可能是更具体的HTML标记,例如<time>代码?

1 个答案:

答案 0 :(得分:3)

元素的语义由html规范描述。我认为可以公平地说,语义正确的用法是与规范中的一致。

有两个html规范,但在这种情况下,它们提供完全相同的段落描述:

  

段落通常是一段措辞内容,它形成一个文本块,其中包含一个或多个讨论特定主题的句子,如排版,但也可用于更一般的主题分组。例如,地址也是一个段落,如诗歌中的一个表单,一个副行或一个节的一部分。   https://html.spec.whatwg.org/multipage/dom.html#paragraphshttps://www.w3.org/TR/html5/dom.html#paragraphs

您提供的示例符合该描述,因此我认为它们在语义上是正确的用法。

但是,关于标题中的电话号码或页脚中的地址,事实证明可能存在更加语义正确的元素。

地址元素:

  

address元素表示其最近的文章或正文元素祖先的联系信息。如果这是body元素,则联系信息作为整体应用于文档。   https://html.spec.whatwg.org/multipage/sections.html#the-address-elementhttps://www.w3.org/TR/html5/sections.html#the-address-element

<address></address>

例如,如果您在整个时间内创建一个关于地址历史记录的网页,您可以在正文中使用段落标记来演示历史地址,但在页眉/页脚中,您将使用地址标记来标记您的联系信息作为页面作者。