HTML表格高级特性和可访问性
学习 Web 开发
学习 HTML :指南与教程
HTML 表格
HTML表格高级特性和可访问性
Select your preferred language
Table of contents
使用
为你的表格增加一个标题
添加 , , 和 结构
嵌套表格
对于视力受损的用户的表格
总结
上一页
Overview: Tables
下一页
这个模块的第二篇文章中,我们来看一下 HTML 表格更高级的功能,比如像 表格的标题/摘要,以及将你表格中的各行分组成头部、正文、页脚部分,提高视力受损用户的可访问性。
学习本章节的前提条件: HTML 的基础知识 (see Introduction to HTML).
目的: 学习 HTML 表格进一步的功能,以及表格的无障碍访问性。
使用 为你的表格增加一个标题
你可以为你的表格增加一个标题,通过 元素,再把 元素放入 元素中. 你应该把它放在 标签的下面。
Dinosaurs in the Jurassic period
...
从上面简单的例子可以推断,标题意味着包含对于表格内容的描述,这对那些希望可以快速浏览网页中的表格对他们是否有帮助的读者们来说,是非常好的功能。特别是盲人用户,不需要让屏幕阅读设备读出很多单元格的内容,来让用户了解这张表格讲的是什么,而是可以依靠标题的内容,来决定是否需要了解更详细的内容。
标题就放在 标签的下面。
注意: 这个 summary 属性也可以在 元素中使用,用来提供一段描述,同样可以被屏幕阅读设备阅读。我们推荐使用 元素来代替使用,因为 summary 被 HTML5 规范, deprecated (废除了),也不能被视力正常的用户阅读。 (它不会出现在页面上)
动手练习: 添加一个标题
我们来试试看吧,回顾一下我们在之前的文章中第一次遇到的例子。.
打开你的语言老师的学校时间表,就是 HTML Table Basics 结尾中的例子,或者把 timetable-fixed.html 文件复制下面.
为表格添加一个合适的标题。
保存你的代码,然后用浏览器打开,看看你的表格是什么样的。
注意:你也可以在 GitHub 上找到我们的版本 timetable-caption.html (see it live also).
添加 , , 和 结构
由于你的表格在结构上有点复杂,如果把它们定义得更加结构化,那会帮助我们更能了解结构。一个明确的方法是使用 , ,和 , 这些元素允许你把表格中的部分标记为表头、页脚、正文部分。
这些元素不会使表格更易于屏幕阅读器用户访问,也不会造成任何视觉上的改变。然而,它们在应用样式和布局上会起到作用,可以更好地让 CSS 应用到表格上。给你一些有趣的例子,在长表格的情况下,你可以在每个打印页面上使表格页眉和页脚重复,你也可以让表格的正文部分显示在一个单独的页面上,并通过上下滚动来获得内容。
试着使用它们:
需要嵌套在 table 元素中,放置在头部的位置,因为它通常代表第一行,第一行中往往都是每列的标题,但是不是每种情况都是这样的。如果你使用了 / 元素,那么 元素就需要放在它们的下面。
需要嵌套在 table 元素中,放置在底部 (页脚)的位置,一般是最后一行,往往是对前面所有行的总结,比如,你可以按照预想的方式将放在表格的底部,或者就放在 的下面。(浏览器仍将它呈现在表格的底部)
需要嵌套在 table 元素中,放置在 的下面或者是 的下面,这取决于你如何设计你的结构。(放在下面也可以生效.)
注意: 总是包含在每个表中,如果你没有在代码中指定它,那就是隐式的。可以来验证一下,打开一个你之前没有包含 的例子,然后在你的 browser developer tools 中观察你的代码,你会看到浏览器为你添加了这个标签。你也许会想问,为什么你应该在所有表中都需要这个元素,因为它可以让你更好地控制表格结构和样式。
动手练习: 添加表格结构
让我们动手使用这些新元素。
首先,把 spending-record.html 和 minimal-table.css 拷贝到你的本地环境。
尝试在浏览器中打开它,你会发现看起来不错,但是它可以被改善得更好。 "SUM" 行包含了已经使用的金额的总和,不过它出现在了错误的位置,以及代码中还遗失了一些细节。
将明显的标题行改为使用 元素,"SUM" 行使用 元素,剩余的内容使用 元素。
先保存,再刷新。你会看到,添加了 元素后,导致 "SUM" 这行跑到了表格的底部。
接着, 添加一个 colspan 属性,使 "SUM" 单元格占 4 个单元格的位置,所以实际数字是显示在 “Cost” 列的底部。
让我们为表格添加一些简单的额外属性,能够让你理解这些属性是如何帮助更好地让表格应用 CSS 的。在你的 HTML 文件的 head 标签部分,你会看到一个空的