2017-01-30 52 views
3

关于语义的问题。如果我有一个基本上是一个大表的HTML页面,那么我使用什么元素作为标题?正确的表格标题

通常,您将页面标题使用h1,对表格标题使用caption。但是如果表格是页面上唯一的东西呢?包括两个看起来有点傻。所以我使用h1而忘记caption,反之亦然?

有关于此的正式(W3C或WHATWG)建议吗?如果是这样,我找不到它们。

PS为了这个问题,我们假设表格填充了表格数据,OK。

回答

0

在这种情况下,还没有真正的标准。你最好选择看起来更好,感觉更适合页面的。就像你说的那样,看起来很傻,所以只需使用一个更好的。即便如此,您仍然可以在CSS中自定义h1caption的外观,因此它不是最终所有类型的交易。

元素倾向于用于某些事情,有些确实有一定的用途,但是像h1这样的视觉事物没有标准化。

https://developer.mozilla.org/en-US/docs/Web/HTML/Element

+1

它看起来不是真正的问题。您可以轻松制作[看起来像h1的标题](https://jsfiddle.net/MrLister/12ef8qq2/)或[反之亦然](https://jsfiddle.net/MrLister/12ef8qq2/2/)。我在问语义。 –

2

一个表标题可以包含自由格式的内容。您可以在caption元素中包含该表格的描述,为标题元素留下标题,而且看起来并不傻。

speccaption元素包含一个例子:

在抽象的,该表是不明确的。然而,一个标题给表的编号(在主散文参考),解释它的使用,它更有意义:

<caption> 
<p>Table 1. 
<p>This table shows the total score obtained from rolling two 
six-sided dice. The first row represents the value of the first die, 
the first column the value of the second die. The total is given in 
the cell that corresponds to the values of the two dice. 
</caption> 

如果表是不言自明,你可以离开了标题,但我仍然建议有一个文档级的标题。标题是文档大纲的关键部分,而caption不起作用(特别是,即使它代表文档标题,title元素也不起作用。尽管无论如何都不存在大纲的真实世界实现,但您不能错过拥有文档级标题。

2

我认为一个问题应该总是如何最终呈现给屏幕阅读器用户。

似乎the caption element gets exposed by some platform accessibility APIs in a special way(例如,在IAccessible2 API为IA2_ROLE_CAPTIONIA2_RELATION_LABEL_FOR中),但不是在所有的人(例如,苹果公司的AX API似乎并没有做任何事情,所以特别用它)。

在比较中,我认为h1 and all other headings always get exposed with a heading role。屏幕阅读器始终以一种方式公开所有标题,以便于在文档中进行导航。

所以我想也许是因为屏幕阅读器用户,captionh1之间:在问题描述,如果文档中的将有一个,而不是其他方面,它可能是最好的,它是h1