为什么不应该/不会在文档大纲中被识别为部分标题?

时间:2012-08-15 03:10:19

标签: html5 html-table caption

目前,HTML5标准会自动从文章/部分/导航等中找到的第一个标题创建标题/标题。我遇到的问题是看到为什么<caption>不应该被视为相同作为标题的方式(为了大纲的目的)。

以下面的代码为例。为了在文档大纲中有一个标题部分,你必须采取什么措施:

<table>
    <caption>Results from zombie duck experiment</caption>
    <h2 style="display: none;">Results from zombie duck experiment</h2>
    <tr>
        <td>FAILURE</td>
        <td>FAILURE</td>
    </tr>
</table>

(产生此大纲:http://gsnedders.html5.org/outliner/process.py?url=http%3A%2F%2Froncya.com%2Ftransfer%2FHTML5CaptionDocumentOutline2.htm

我明白为什么会有效; HTMLDoctor甚至说它是推荐的做事方式:

  

出于辅助功能的原因,我们建议每个切片元素都有一个标题,甚至是<aside><nav>。如果您不希望这些标题可见,您可以随时使用CSS隐藏它们。 - http://html5doctor.com/outlines/

当然,但为什么不呢?:

<table>
    <caption>Results from zombie duck experiment</caption>
    <tr>
        <td>FAILURE</td>
        <td>FAILURE</td>
    </tr>
</table>

(产生这个失败的大纲:http://gsnedders.html5.org/outliner/process.py?url=http%3A%2F%2Froncya.com%2Ftransfer%2FHTML5CaptionDocumentOutline1.htm

我假设W3C做出了有意识的决定,我唯一的想法是:

  1. 表虽然有结尾标记,但并不真正用作包装纸。喜欢div,span,article,section,nav等。因此,在这个意义上,他们没有定义一个被包围的部分&#39;
  2. 标题是标题,标题不是标题(......没有多少答案)
  3. 典型字幕不适用于合适的标题(我不同意这一点)
  4. 对于3号,我认为典型的标题仍然可以作为文档大纲中的标题。无论他们是在桌子上还是在桌子下面。哎呀,我甚至无法理解为什么它会比没有更糟糕。以这些可能的标题为例 - 我认为它们都是合适的文档大纲部分标题:

    • 僵尸鸭实验的结果
    • 图3b
    • Windows 8区域定价
    • 哪个品牌包含什么?
    • 作弊码
    • 颜色
    • 亚伯拉罕林肯在不同历史时期的着装

    这对我来说肯定有道理。

1 个答案:

答案 0 :(得分:2)

在HTML5中,标题不仅包含简短的标题,还包含解释该表的描述性散文。规范提供了one example of use of caption

<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>

这不会成为文件大纲的好标题。

如果您希望将<h?>显示在文档大纲中,我建议您将<caption> <h2>Table 1.</h2> <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> 放在标题内。在上面的例子中,这是合适的:

<table>
    <caption><h2>Results from zombie duck experiment</h2></caption>
    <tr>
        <td>FAILURE</td>
        <td>FAILURE</td>
    </tr>
</table>

或在您的示例中:

{{1}}