8

使用<sup>标签是表示权力的正确方式吗?在屏幕阅读器中,不会3<sup>2</sup>只是读为三二或三十二吗?似乎必须有一种更方便的方法来做到这一点。

4

2 回答 2

6

HTML 中没有其他标记元素来指示权力。甚至sup元素也不意味着指数;它表示上标,这反过来可能意味着不同的东西。根据 HTML5 草案,sup并且sub应该“仅在缺少这些元素会改变内容的含义时使用。但他们仍然展示了类似的例子<span lang="fr"><abbr>M<sup>lle</sup></abbr>,其中上标是文体。

的处理方式sup因浏览器而异,但我们不能真正期望浏览器读取3<sup>2</sup>为“三上标二”或“三的二次方”。如果他们这样做,M<sup>lle</sup>听起来真的很奇怪。

关于上标字符的使用也可以做类似的说明,例如“²”。它们的内在含义是上标,而不是表示指数。

这也意味着您可以合理地考虑使用其他标记,例如3<span class=sup>2</span>. 该span元素在语义上是空的,但并不比span具有“表示语义”的 差多少。这样做的原因可能是没有真正令人满意的方式来设置sup元素的样式;,span你从一张干净的桌子开始。

于 2012-08-31T16:36:52.010 回答
3

一般来说,当下标/上标有 Unicode 等价物时,您应该直接使用该字符而不是sub/sup元素(这不是必须的,只是建议,所以继续使用您喜欢的任何东西)。

您可以在这些 Wikipedia 文章中找到其中一些下标/上标 Unicode 字符:

如果将字符集设置为 Unicode 编码(如 UTF-8),则可以直接在文档中输入(或复制/粘贴)这些字符。HTML5 示例:<meta charset="utf-8">. 否则你会使用字符实体

例外:在数学上下文中,您应该MathMLmsub/一起使用msup(因此不要在此处使用这些特殊的下标/上标 Unicode 字符)。math您可以在元素内使用 HTML5 中的 MathML 。

这两个“应该”的来源:XML 和其他标记语言中的 Unicode:5.6 上标和下标通过德语博客文章

似乎必须有一种更方便的方法来做到这一点。

sub通过使用/元素或使用相关的 Unicode 字符标记这些下标/上标等价物sup,您正在完成您的工作:告诉用户代理“含义”,因此他们可以知道如何处理文本,例如 in-文档搜索(浏览器中的“CTRL + f”)、文本转语音(屏幕阅读器)、网络搜索(搜索引擎)……</p>

如果屏幕阅读器不能正确阅读/宣布or 3<sup>2</sup>,这将是一个(严重的)错误,他们应该修复。

这种用户代理的唯一问题是人们是否滥用这些字符/元素。在这种情况下它不相关,但可能对于其他读者:当下标/上标只是风格(并且通过下标/上标没有新含义)时,您应该使用 CSS(而不是特殊的 Unicode 字符或sub/sup元素):与/垂直对齐(您也必须调整字体大小。请参阅this answer to a different question。)subsuper

于 2012-09-01T02:42:52.303 回答