HTML表格,标题是属性列标识符吗?

时间:2018-10-02 19:19:05

标签: html5 html-table

我想给表<th>的每个标识符,所以当我使用<td>时(我知道标识符),其他的都没有关系(HTML headers Attribute),这似乎是我需要的:

     <table>
      <tr>
        <th id="name">Name</th>
        <th id="email">Email</th>
      </tr>
      <tr>
        <td headers="name">John Doe</td>
        <td headers="email">someone@example.com</td>
      </tr>
    </table> 

但是我这样更改<td>的顺序,首先更改电子邮件,然后更改名称:

     <table>
      <tr>
        <th id="name">Name</th>
        <th id="email">Email</th>
      </tr>
      <tr>
        <td headers="email">someone@example.com</td>
        <td headers="name">John Doe</td>
      </tr>
    </table>

正如您所看到的,我得到的结果是相同的。

1 个答案:

答案 0 :(得分:2)

header attribute 对演示文稿没有影响;它不会交换表单元格。 header属性只是表示<th>单元与哪个<td>单元相关,以增强屏幕阅读器的作用:

  

当关系过于复杂而无法单独使用 <th> 元素或 {{1}]进行识别时,这使屏幕阅读器可以说出与每个数据单元相关的标题。 } 元素和 <th> 属性。

请注意,如果表包含多个标题行,则每个scope单元格都可以与多个标头单元格相关。例如:

<td>

为了交换表单元格,最好使用 flexbox (使用 flex-direction )或JavaScript解决方案。