语义问题。如果我有一个基本上是一个大表的HTML页面,我将使用哪个元素作为标题?
通常,您使用clpfd
作为页面标题,h1
作为表格的标题。但如果表格是页面上唯一的内容呢?包括两者看起来有点傻。那么我使用caption
并忘记h1
,反之亦然?
是否有关于此的正式(W3C或WHATWG)建议?如果是这样,我找不到它们。
PS为了这个问题,让我们假设表格中填充了表格数据,确定。
答案 0 :(得分:2)
表格标题可以包含自由格式的内容。你可以在caption
元素中包含表格的描述,留下标题元素的标题,它根本不会显得愚蠢。
caption
元素的spec包含一个示例:
在摘要中,这个表格并不清楚。但是,如果有一个标题给出表格的编号(供主要散文参考)并解释其用法,那就更有意义了:
<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
元素,即使它代表文档标题)。尽管无论如何都不存在大纲的实际实现,但是在文档级标题上你可能会出错。
答案 1 :(得分:2)
我认为一个问题应该始终是如何最终呈现给屏幕阅读器用户。
似乎是the caption
element gets exposed by some platform accessibility APIs in a special way(例如,在IAccessible2 API中为IA2_ROLE_CAPTION
而IA2_RELATION_LABEL_FOR
)但并非所有这些(例如,Apple的AX API似乎没有做任何特别的事情)。
相比之下,我认为h1
and all other headings always get exposed with a heading
role。屏幕阅读器始终以一种方式公开所有标题,以便于在文档中导航。
所以我认为可能是屏幕阅读器用户,在caption
和h1
之间:在上下文中,问题描述了,如果一个文档将有一个而不是另一个,那么它可能是最好的是h1
。
答案 2 :(得分:0)
在这样的情况下,还没有真正的标准。你最好只选择一个看起来更好并且更适合页面的那个。就像你说的那样看起来很傻,所以只需使用更合适的那个。即便如此,您仍然可以在CSS中自定义h1
或caption
的外观,因此它不是最终所有类型的交易。
元素往往用于某些事物,有些确实有某些用途,但像h1
这样的视觉事物并不是标准化的。