使用<b>元素标记关键字而不突出显示它们在语义上是否正确?

时间:2018-05-01 15:43:51

标签: html html5 semantic-markup

我有一个句子,包括用另一种语言定义一个术语。阅读完W3C official docs后,我使用以下标记来表达意思:

<p>The <strong><dfn><i lang="tl">barangay</i></dfn></strong> is the <em>smallest</em> <b class="no-bold">political unit</b> in the <b class="no-bold">Philippines</b>.</p>

根据我对文档的理解:

  • <strong>非常重要
  • <dfn>用于定义实例
  • <i>用于技术术语和/或音译
  • <em>用于强调压力
  • <b>用于突出显示关键字而不将其标记为重要

我不确定的是,我是否可以使用<b>元素将某些单词和短语标记为&#34;关键字&#34;,而不会引起注意(因此我添加了{{} 1}}使用CSS改变它的外观。这是否正确使用元素?

1 个答案:

答案 0 :(得分:3)

样式不会改变含义。因此,如果在某些情况下将b用于样式(例如,将其设置为粗体)是合适的,那么在该上下文中使用b而不使用任何样式也是合适的。

它是conceivable that a user-agent makes use of these b elements,即使你没有对它们进行样式处理或对它们不做任何其他操作。

一个实际示例:文本浏览器(或提要阅读器等,即任何不支持CSS的UA)默认情况下可能会以粗体显示。

{h1> class元素<{1}}元素的名称

但是,类名b并不理想,因为

  • 它将当前样式与内容相结合(您可能希望更改样式而无需更改HTML),并且
  • 它没有描述no-bold元素的用途是什么(对标记的使用者没用)。

这适用于任何元素,但规范也明确提及b元素:

  

[...]作者可以使用b元素上的class属性来确定元素的使用原因,以便在以后更改特定用途的样式时,作者不必经历每次使用的注释。

更合适的名称可能是b或类似名称。