可访问的HTML - tfoot用法

时间:2014-05-02 07:57:03

标签: html html-table accessibility

我总是试图围绕着<tfoot>的使用,以及我应该朝着最容易接近的方向前进的方向。

<tfoot>应该汇总列:在完美的情况下,每列都在<tfoot>中有相应的摘要单元格。

不幸的是,情况绝非如此。

通常只有几列具有数字数据,其他列为文本,因此不可思议。

我一直在做的典型事情,很多人似乎都做过,<tfoot>中有空白单元格,还有一个单元格使用colspan="<num>"提供标签总计或类似的东西。

现在,由于未使用属性scope="col",而是使用id="" headers="",我的一部分认为即使总计单元格与它所跨越的两列不对应,这是可以的,因为headers。但是,它真的没问题吗?

我不确定。我不确定。我的一部分想要插入一个跨越所有列的单元格,以便插入只有这三个单元格的新表。这似乎同样错了。

从语义上讲,我认为最好的想法可能是将Totals完全取出表格,并使用<dl>包含总文本和相应的数字。

非常感谢明确的见解。谢谢:))

这是一个小提琴:http://jsfiddle.net/y29wg/

<table class="table table-striped" summary="Transaction summary. There is 1 row of column headings.">
    <thead>
        <tr>
            <th id="transaction-type" class="cell-100">Transaction</th>
            <th id="transaction-team" class="cell-150">Country</th>
            <th id="transaction-credit" class="text-right cell-100">Credit Amount</th>
            <th id="transaction-debit" class="text-right cell-100">Debit Amount</th>
            <th id="transaction-status" class="cell-100">Status</th>
            <th id="transaction-progress" class="cell-100">Progress</th>
        </tr>
    </thead>
    <tfoot>
        <tr>
            <th id="transaction-total" colspan="2" class="text-right">Total</th>
            <td headers="transaction-total" class="text-right">$845.00</td>
            <td headers="transaction-total" class="text-right">$510.00</td>
            <td></td>
            <td></td>
        </tr>
    </tfoot>
    <tbody>
        <tr>
            <td headers="transaction-type">Deposit</td>
            <td headers="transaction-team">n/a</td>
            <td headers="transaction-credit" class="text-right">$300.00</td>
            <td headers="transaction-debit" class="text-right">&#160;</td>
            <td headers="transaction-status">Deposited</td>
            <td headers="transaction-progress">Complete</td>
        </tr>
    </tbody>
</table>

1 个答案:

答案 0 :(得分:1)

tfoot element是表格的可选部分,包含“列摘要(页脚)”。这是相当模糊的,tfoot很少使用且不一致;甚至一些W3C页面也将其用于版权声明!因此,没有理由期望使用它可以获得任何特殊的可访问性好处。浏览器中唯一的特殊处理方式似乎是某些浏览器在打印时将表分割为两页或更多页时,可能会重复页面末尾的页脚行。

在示例中,定义可以使用tfoot。将总数与详细数据放在同一个表中非常有用,因为数据属于一起,这是一种常见的设置。空单元原则上是一个问题,因为它提出了“为什么这个单元格是空的?这是错误的吗?它传达了什么信息?“但是在这样的简单案例中,它没关系;使用短划线“ - ”或缩写“N / A”,或使用灰色背景,可能会使情况更加明显,但也可能会混淆或打扰。没有标记告诉某些单元格不是“真实的”,即不会(也不能)包含与行和列标题匹配的信息。