2

我目前正在标记一些用户警报,如下所示

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

我发现其他答案表明,尽管 html 有效,但这在语义上无效。但是在所有情况下都嵌套 em/strong 标签真的不行吗?上面的例子在我看来是一个完全合理的用途——特别强调已经强调的东西的一个小节。但是屏幕阅读器可以将其解释为它应该被解释的意思,还是会让他们感到困惑?

4

4 回答 4

3

就 HTML 而言,允许<strong>在, 中使用。<em>但是,在您问题的特定语义范围内,这不是最佳选择。

有人回答提倡使用<b>,并很好地解释了为什么它是合适的,并提供了支持它的规范链接

b 元素代表一段文本,出于实用目的而被关注的文本,没有传达任何额外的重要性,也没有暗示替代语气或情绪,例如文档摘要中的关键词、评论中的产品名称、可操作的词在交互式文本驱动的软件中,或者文章 lede。

但后来他们出于某种原因删除了答案。如果他们想重新发布他们的答案,我会很乐意投票并标记为答案。

此外,对于您确实想要更加强调已强调段落的小节的情况,@Alohci 上面的评论指出,在 html5 中嵌套<em>标签是允许的

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

于 2012-03-16T11:16:26.077 回答
0

是的,在您发布的情况下很好,因为“强”部分没有包含整个文本。它挑选出文本的特定部分。

类似的问题:

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

是它,有效地,它被用来制作粗体和斜体。在语义上,<strong>overrides <em>,使后者无关紧要。但是,在您的示例中,整个事物都有<em>,并且只有一部分也有<strong>

另一种解释方法是尝试大声朗读。你能给予一些强调和力量吗?你能分辨出强调说某事和强调强调说某事之间的区别?不,但是,你可以说一些重点的话,在中间说一些更强烈的话。

于 2012-03-16T10:54:06.110 回答
0

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

也就是说,除了遵守某种公认的编码风格之外,这并不重要。在实践中,重要的是默认渲染是斜体或倾斜的em,粗体的strong,并且通过嵌套它们你会得到粗斜体。就像你通过使用ib相同的方式得到的一样。

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

CSS 2.1 规范中具有听觉特征的示例样式表只是粗略的,最多是暗示性的,但可能有一些相关性的是,它使用相同的音高,但strong(and b) 比em(and i)使用了更高的压力和丰富度并且它没有规则嵌套很重要。也就是说,根据它,strong无论它是否在内部,都会呈现相同的内容em

于 2012-03-16T14:17:53.550 回答
-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

至于语义,您是在告诉浏览器您的某些文本应该既强又强调。这在视觉上意味着什么取决于浏览器的实现。强调通常用斜体表示,其中粗体表示粗体

于 2012-03-16T10:53:39.190 回答