在HTML5中,可以在em标签中使用强标签吗?

时间:2012-03-16 10:51:56

标签: html accessibility semantics em

我目前正在按如下方式标记一些用户提醒

<em>You are in danger of exceeding your <strong>40GB</strong> download limit</em>

我发现other answers建议尽管有效的html,但这在语义上并不合适。但是在所有实例中嵌套em / strong标签真的不行吗?在我看来,上面的例子是一个非常合理的用法 - 特别强调已经强调的某个部分。但屏幕阅读器是否可以解释这个问题,因为它意味着被解释,或者它会使它们混淆不清?

4 个答案:

答案 0 :(得分:2)

在HTML方面允许在<strong>内使用<em>。但是,在您的问题的特定语义中,它不是最佳选择。

有人回答过提倡使用<b>,并对其原因进行了很好的解释,并提出link to the specs来支持它。

  

b元素表示注意力的文本范围   为实用目的而绘制而没有任何额外的重要性   并且没有任何替代声音或情绪的暗示,例如钥匙   文档中的单词摘要,评论中的产品名称,可操作的   交互式文本驱动软件中的文字或文章。

但他们因某种原因删除了答案。如果他们想重新发布他们的答案,我会高兴地将其投票并标记为答案。

此外,对于你真的想要更加强调alreday强调段落的一个部分的情况@ Alohci上面的评论指出,在html5嵌套<em>标签是允许的

  

不幸的是,<em><strong>的语义已发生变化   来自HTML4的HTML5,这可能会影响您问题的答案。如果   你对HTML5感兴趣,我建议你特别阅读   这里<em>的新定义:   http://dev.w3.org/html5/spec/the-em-element.html

答案 1 :(得分:0)

是的,在你发布的情况下这很好,因为'strong'部分没有包装整个文本。它挑选了文本的特定部分。

类似的问题:

<em><strong>something</strong></em>

是有效的,它用于制作大胆和斜体的东西。在语义上,<strong>会覆盖<em>,使后者无关紧要。但是,在您的示例中,整个事件都有<em>,并且其中只有一部分也有<strong>

另一种解释方法是尝试大声朗读。你能给出empahsis和力量吗?你是否能够区分强调强调强调的内容?不会。但是,你可以强调一些事情,在中间,更强烈地说些什么。

答案 2 :(得分:0)

这个问题几乎是纯粹的理论问题,唯一可行的方面就是:你是在一个社区工作,其他作者对标签的“语义”有一定的看法吗?在这种情况下,这个社区的想法很重要,而不是不同HTML5草案中的不同表述。

也就是说,除了遵守一些商定的编码风格之外,它无关紧要。在实践中,重要的是默认渲染是em的斜体或倾斜,strong的粗体,通过嵌套它们会得到粗体斜体。正如您以同样的方式使用ib一样。

屏幕阅读器通常会忽略这些类型的标记。通过任何通常使用的阅读速度来提高个别单词的声音或从女性到男性的声音变化只是太令人不安了。但是如果屏幕阅读器以某种方式对这个标记做出反应,他们可以用不同的方式做到这一点,并且他们很难尝试做出细微的差异。

CSS 2.1规范中的sample style sheet with aural features只是粗略而且最具启发性,但它可能有一些相关性,需要注意它对strong使用相同的音高但更高的压力和丰富度(和b)而不是em(和i),并且它没有嵌套很重要的规则。也就是说,根据它,strong将独立于是否在em内而呈现为相同。

答案 3 :(得分:-2)

你做得很好。您可以嵌套标记,只要它们正确嵌套即可。 这是有效的:

<em>You are in danger of exceeding your <strong>40GB</strong> download limit</em>

这不是:

<em>You are in danger of exceeding your <strong>40GB</em></strong> download limit

至于语义,你告诉浏览器你的一些文字应该既强又强。这在视觉上意味着什么取决于浏览器的实现。强调通常以斜体呈现,强者将粗体