headers属性仅通过id字符串匹配关联表头,不识别class、位置或大小写,id含空格非法,空格分隔的id顺序决定读屏播报顺序,且优先级高于scope,仅限同一table内同tbody/thead/tfoot中的th元素。

headers属性只认id,不认位置或class
它不是靠“上面那个
headers="year q1",浏览器就去 DOM 里找id="year"和id="q1"的<th>元素。找不到、拼错、大小写不对、ID含空格——全部静默失效,没有任何报错提示。
<p>常见错误包括:</p>
<ul><li>
<code><th class="name">姓名</th>配<td headers="name"> → 不生效,<code>headers完全不看class
<th id="Name">姓名</th>配<td headers="name"> → 大小写不一致,匹配失败
<li>
<code><th id="q1 sales">Q1 销售额</th> → ID 含空格非法,该<th>的<code>id根本不会被解析
多个表头用空格分隔,顺序影响读屏播报
headers值必须是空格分隔的id列表,比如headers="region quarter metric"。逗号、引号、竖线、JSON格式——全都不认。浏览器只按空格切分字符串,然后逐个查getElementById()。
顺序不是可有可无的细节:NVDA 和 VoiceOver 会严格按这个顺序依次读出每个<th>的文本,再读<code><td>内容。比如<code><td headers="dept name">研发部 张三</td>会被读成“部门 研发部 张三,姓名 研发部 张三”,语义错乱。正确写法是headers="name dept",让“姓名”先播报。
注意:headers="q1 year"和headers="year q1"都能匹配成功,但播报顺序不同,需按业务逻辑排列。
如果你了解HTML,CSS和JavaScript,您已经拥有所需的工具开发Android应用程序。本动手本书展示了如何使用这些开源web标准设计和建造,可适应任何Android设备的应用程序 - 无需使用Java。您将学习如何创建一个在您选择的平台的Android友好的网络应用程序,然后转换与自由PhoneGap框架到一个原生的Android应用程序。了解为什么设备无关的移动应用是未来的潮流,并开始构建应用程序,提供更
headers和scope不能混用,前者完全覆盖后者
如果一个<td>同时写了<code>headers="name"和scope="col",所有现代读屏器(NVDA 2024+、JAWS 2022+、VoiceOver)都会忽略scope,只按headers解析。这不是兼容性补丁,而是 WAI-ARIA 明确规定的优先级规则。
所以实际操作中:
- 简单二维表(无合并、无多级)→ 只用
scope,轻量且足够 - 出现
rowspan/colspan、嵌套<thead>、跨</thead> <tbody>分组 → 必须统一用<code>headers,并删掉所有scope - 动态渲染表格时,确保
<th id="xxx">在<code><td headers="xxx">挂载前已存在 DOM 中,否则首次无障碍树构建会漏掉关联 <h3>headers不跨<tbody>,也不支持“页维度”这类隐式结构 <p>HTML 表格没有原生“页”或“工作表”概念。<code>headers只能引用当前<table>内、且在同一<code><tbody>(或<code><thead>/<code><tfoot>)里的<code><th>。哪怕视觉上两个<code><tbody>是同一维度(比如“2023年”和“2024年”两个tbody),它们里面的<code><th id="year">互不可见。 <p>这意味着:</p> <ul><li>不要试图用<code>headers="year q1"绑定跨的表头- 若真需要多维(如年份+季度+地区),所有相关
<th>必须放在同一个<code><thead>或<code><tbody>里 <li>用<code><colgroup></colgroup>或<tr>模拟的“分组”不产生新语义层级,<code>headers仍只认id,不认结构最易被忽略的一点:headers本身不触发任何 DOM 变化、不响应事件、不参与 CSS 选择器匹配——它只是给辅助技术看的一层语义标签。想靠它实现点击高亮、联动筛选、自动排序?得自己写 JS 解析
td.headers.split(' '),再手动查document.getElementById()。 - 若真需要多维(如年份+季度+地区),所有相关
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










