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



我有一个句子,其中包括用另一种语言定义一个术语。在通读了 W3C 官方文档后,我使用以下标记来传达含义:

<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> 元素将某些单词和短语标记为"关键字",而不会引起它们的注意(因此我添加了 class="no-bold" 来使用 CSS 更改其外观(。这是元素的正确用法吗?

样式不会改变含义。因此,如果在某些上下文中将b与样式一起使用是合适的(例如,使其加粗(,那么在该上下文中使用没有任何样式的b也是合适的。

可以想象,用户代理使用这些b元素,即使您不设置它们的样式或不对它们执行任何其他操作。

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

class b元素的名称

但是,类名no-bold并不理想,因为

  • 它将当前样式与内容耦合(您可能希望更改样式而不必更改 HTML(,并且
  • 它没有描述 b 元素的用途(对标记的使用者没有用(。

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

[...]作者可以在b元素上使用class属性来识别使用该元素的原因,这样,如果要在以后更改特定用途的样式,作者就不必对每种使用进行注释。

更合适的名称可能是definition-keyword或类似的东西。

最新更新