<em> 中的 <strong> 或 <strong> 中的 <em> 重要吗?

Posted

技术标签:

【中文标题】<em> 中的 <strong> 或 <strong> 中的 <em> 重要吗?【英文标题】:Does it matter <strong> in <em> or <em> in <strong>? 【发布时间】:2011-01-13 02:56:57 【问题描述】:

&lt;strong&gt;&lt;em&gt; 中是否重要

<p><strong><em>Some text</em></strong></p>

&lt;em&gt; 中的&lt;strong&gt;

<p><em><strong>Some text</strong></em></p>

哪个语义正确且更易于访问?

更新:

屏幕阅读器在这两种情况下的表现如何?

【问题讨论】:

【参考方案1】:

语法正确但语义不正确。 &lt;strong&gt; 可以说是&lt;em&gt; 的“高阶”形式。如果您正在寻找&lt;b&gt;&lt;i&gt; 的效果,请使用CSS。记住不要因为元素的外观而选择元素,而是因为它们的含义。

【讨论】:

【参考方案2】:

只要您没有混淆结束标签的顺序,您列出的两种方式都是完全正确的标记方式。这是不正确的:

<p><em><strong>Some text</em></strong></p>

【讨论】:

【参考方案3】:

如果你关心语义,你应该避免在一个元素上同时使用emstrong

Strong:呈现为强调的强烈 文字

(via)

如果您关心有效的 html,那么这两种解决方案都很好且有效。

【讨论】:

我编辑了我的答案。冗余不是最好的解决方案。如果您关心默认样式,那么您应该开始使用良好的重置 css 并自己定义一切! 编辑:OP 删除了他的评论,所以我在此评论中所说的话没有多大意义 注意:如果您希望文本加粗斜体(em+strong 就是这样做的),请使用 em 或 strong,并使用 CSS 更改它们的效果。这就是“干净”的方式...... 我完全同意@sleske,它会产生更清晰的代码。 font-style:bold // 字体装饰:斜体【参考方案4】:

根据w3strong强调。这意味着emstrong 不应在语义上一起使用,因为strong 已经是em

如果您认为强烈的强调应该是粗斜体,我认为您应该添加一个 CSS 声明,在其中将强烈的样式设置为粗斜体。

【讨论】:

【参考方案5】:

从视觉效果的角度来看,没关系。

就语义而言,这很重要,因为您在同一元素(某些文本)中使用了强调和强调。这与在某些地方使用h1 相同,只是因为您想要大文本而不是因为它们是标题。

EM:表示强调。

STRONG:表示更加强调。

Source

短语元素的呈现 取决于用户代理。一般来说, 视觉用户代理在 斜体和粗体字的 STRONG 文本。 **语音合成器用户代理可能 更改合成参数,例如 相应地作为音量、音调和速率。

所以要小心。使用 CSS 来完成视觉效果,而不是标记。

【讨论】:

但是如果我们将使用 css,那么如果 css 在浏览器中被禁用,那么文本将不会像我想要的那样 您真的关心语义/可访问性吗?要完全实现它,您应该分离内容、表示和行为层。 titleandsummary.com/… 害怕屏幕阅读器不想使用 css 是没有意义的,因为有屏幕阅读器的人对文本 看起来 不感兴趣,他们对什么文本感兴趣意味着【参考方案6】:

在 (X)HTML5 中,定义/含义是:

em: 表示其内容的重音强调(改变句子的意思) strong: 表示其内容的重要性(不改变句子的意思)

所以原则上这些元素可以一起使用。

要获得一个想法,请考虑大声朗读文本(但取决于语言):em 可能会改变语调(重音),strong 可能会增加响度。

我认为在语义上使用&lt;strong&gt;&lt;em&gt;foo&lt;/em&gt;&lt;/strong&gt;&lt;em&gt;&lt;strong&gt;foo&lt;/strong&gt;&lt;/em&gt; 没有区别;至少我在规范中找不到任何相关内容。

【讨论】:

以上是关于<em> 中的 <strong> 或 <strong> 中的 <em> 重要吗?的主要内容,如果未能解决你的问题,请参考以下文章

<strong> 和 <em> 标签有啥区别?

h1/title,b/strong,i/em 的区别

CSS里<em></em> <strong></strong>是啥意思?

如何用python和智能方式覆盖<strong> <em> <u>到<strong>的所有情况?

标记重要和强调的文本 strong & em

文本标签及文本样式