0Pricing
Web Accessibility Academy · 课时

布局表格是个陷阱

了解为何使用表格布局会让屏幕阅读器产生困惑。

布局表格是个陷阱 是 CoddyKit 上的免费 Web Accessibility Academy 课时。 这是第 4 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Web Accessibility Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Web Accessibility Academy 课程共包含 4 节课。

表格曾经用于页面布局

多年前,开发者使用 table 元素构建页面布局。这种做法至今仍存在于旧代码中,并且仍会造成实际的无障碍问题。

布局表格为何有害

屏幕阅读器会将每个表格都视为数据表格。对于您的布局,它会读出行、列和单元格数量,让用户被毫无意义的结构信息淹没。

阅读顺序出现错误

布局表格经常将内容分散到顺序混乱的单元格中。视觉顺序与阅读顺序逐渐偏离,使用户无所适从。

使用 CSS 进行布局

现代布局应交给 CSS。请使用 flexbox 或 grid 来排列页面,并且只在确实表示表格数据时使用 table 元素。

.cards { display: grid; grid-template-columns: 1fr 1fr; }

使用 Flexbox 处理一维布局

当您需要将项目排列成一行或一列时,flexbox 是自然的选择。它能够适应内容,同时不会引入表格语义。

.row { display: flex; gap: 1rem; }

使用 Grid 处理二维布局

对于同时包含行和列的布局,CSS grid 提供了真正的布局系统。它将页面的外观与标记的含义分离开来。

保持语义清晰

使用 CSS 布局后,您的 HTML 可以使用真正的地标,例如 header、nav 和 main。屏幕阅读器用户获得的是有意义的页面地图,而不是单元格数量。

最后手段:role=presentation

如果确实无法移除遗留的布局表格,请添加 role=presentation。这样会去除表格语义,使辅助技术忽略这个网格。

<table role="presentation"> ... </table>

Presentation 是补丁,不是方案

请将 role=presentation 视为临时补救措施。真正的解决方案是迁移到 CSS,从根本上移除问题,而不是仅仅将其隐藏。

如何识别布局表格

没有标题、没有 th,并且单元格中放的是完整页面区域而不是数值,这些都是危险信号。这种模式几乎总是表示需要重构的布局表格。

一个表格,一个用途

请对任何表格进行一个简单的测试:它是否用行和列呈现彼此相关的数据?如果不是,它就是布局表格,应当用 CSS 替代。

快速检查

您接手了一个页面,而它纯粹使用表格来定位多列内容。

回顾:数据使用表格,布局使用 CSS

绝不要使用 table 进行页面布局。请使用 flexbox 或 grid,仅在真实数据场景中使用 table,并且只将 role=presentation 作为遗留代码的临时措施。

常见问题解答

「布局表格是个陷阱」课时是免费的吗?

是的 — 「布局表格是个陷阱」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Web Accessibility Academy 课程的其余内容,请升级到 CoddyKit PRO。 Web Accessibility Academy 课程共包含 4 节课。

「布局表格是个陷阱」这节课中我会学到什么?

了解为何使用表格布局会让屏幕阅读器产生困惑。 你通过在浏览器中直接运行的动手代码来练习 Web Accessibility Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Web Accessibility Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Web Accessibility Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 4 节课,共 4 节。

「布局表格是个陷阱」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Web Accessibility Academy 课中编写并运行代码吗?

能。每节 Web Accessibility Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. th、scope 与 caption 元素
  2. 正确设置行表头和列表头
  3. 复杂表格:headers 与 id 配对
  4. 布局表格是个陷阱
← 返回 Web Accessibility Academy