11
4

4 回答 4

3

我非常喜欢您使用abbr标签添加上下文信息和提高可访问性的第三种方法。这是个好主意。

但是,您的任何标记都不完全符合国际单位制的规则。请参阅http://en.wikipedia.org/wiki/International_System_of_Units

您必须用一个空格字符分隔值和单位。

 <td>3.8&nbsp;<abbr title="Grams">g</abbr></td>
于 2013-03-22T10:55:26.053 回答
3

使用em单位/值是不正确的(通常;当然,在某些情况下它可能是合适的,但不是一般情况下)。em元素“表示其内容的重音强调”(“重音强调的位置改变了句子的含义。”)。

使用单元的abbr元素是正确的(可能对各种用例有用)。

在您小时候使用的示例tabletd。这不是有效的标记。如果您只有这样的名称-值对,您可以使用dl

<dl>
  <dt>Brain weight</dt>
  <dd>3.8&nbsp;<abbr title="grams">g</abbr></dd>
</dl>

有一个测量微格式的草案。


在 WHATWG 版本的 HTML(“生活标准”)中,您可以找到一个data元素. 一段时间以来,它也是 W3C HTML5 草案的一部分,但已被删除。

于 2013-03-22T20:05:17.690 回答
2

HTML 中的度量单位或数字没有标记,因此如果您需要对它们进行一些标记(例如,为了统一样式或使用客户端脚本处理它们),请使用具有属性的span元素class对于数字或单位或两者,例如

<td><span class=number>3.8</span> <span class=unit>g</span></td>

(请注意,按照国际标准,数字和单位应由空格分隔&nbsp;,如果需要,可以是不间断空格)。

通常,单位不需要标记。或者更确切地说,没有我们可以将标记用于有用的目的,而span仅仅为了好玩而编写标记会使 HTML 代码的可读性降低。

然而,在某些解释中,单位符号是缩写,因此abbr可以使用标记。请注意,在大多数浏览器中,默认情况下这会导致(下边框)下方出现虚线,这是一个非常令人讨厌的功能;要删除它,请abbr { border: none }在 CSS 中设置。本质上,单位符号是常规符号而不是缩写。

使用title属性 on spanabbr或其他元素,可使某些辅助软件在用户请求时显示属性值。它还倾向于使其显示在常见浏览器的工具提示中。值得怀疑的是,这些“提示”是否有用,而不仅仅是干扰众所周知的符号。

使用em将意味着原则上的强调,这很难被挪用,并且会导致在实践中使用斜体。按照国际标准,单位符号不得斜体。尽管您可以使用 CSS 删除斜体,但使用会导致斜体的标记会很奇怪。

于 2013-03-22T10:52:02.650 回答
0
<abbr title="Grams">g</abbr>

为之前对这个问题的错误理解道歉……在 html5 之前,我使用了一个有意义的 id/class 之前的正确答案。为上述问题定义自己的标签没有任何好处。

谢谢大家纠正我。

于 2013-03-22T09:46:26.443 回答