Qiuwen:无障碍访问:修订间差异

求闻百科,共笔求闻
添加的内容 删除的内容
第671行: 第671行:


== 表格 ==
== 表格 ==
{{参见|Help:表格}}
表格可以用来呈现二维的数据。在HTML中,表格是具有一定的语义的。因此,表格不仅需要在视觉上正确,还应该有恰当的语义。


=== 使用标题单元格 ===
屏幕阅读器和其它网页浏览器工具通过特定表格标签帮助用户导航其中记录的数据。
{{shortcut|QW:DTAB}}
标题单元格内置了加粗、居中的样式,同时还具有相应的语义。因此,请恰当地使用标题单元格。在HTML中,它代表{{tag|th}}元素。而在wikitext表格语法中,它是使用<code>!</code>(感叹号)来实现的<ref>{{Cite web |title=H51: Using table markup to present tabular information |url=https://www.w3.org/WAI/WCAG21/Techniques/html/H51 |website=Techniques for WCAG 2.1 |publisher=[[W3C]] |access-date=2023-05-15}}</ref><ref>{{Cite web |title=11.2.6 Table cells: The TH and TD elements |url=https://www.w3.org/TR/html40/struct/tables.html#h-11.2.6 |website=HTML 4.01 Specification |publisher=[[W3C]] |access-date=2023-05-15}}</ref>。


{{编辑演示
使用正确的维基表格管道语法利于所有可用特性。见[[Help:表格]]获得更多关于表格特定语法的信息。请不要单独使用格式——从CSS或硬编码风格——创建语义意义(如改变背景颜色)。
|title=正确使用标题单元格的例子
|result=-{}-
{{(!}} class="wikitable"
! 标题单元格1 !! 标题单元格2
{{!}}-
{{!}} 数据1-1 {{!!}} 数据1-2
{{!}}-
{{!}} 数据2-1 {{!!}} 数据2-2
{{!)}}
}}


请不要仅通过样式来使得一些单元格看上去像是标题单元格。
“系列模板”及[[Help:信息框|信息框]]由表格制成。
{{编辑演示
|title=使用样式伪造标题单元格的错误例子
|result=-{}-
{{(!}} class="wikitable"
{{!}} style="text-align: center" {{!}} '''标题单元格1'''
{{!}} style="text-align: center" {{!}} '''标题单元格2'''
{{!}}-
{{!}} 数据1-1 {{!!}} 数据1-2
{{!}}-
{{!}} 数据2-1 {{!!}} 数据2-2
{{!)}}
}}


如有可能,您可以使用<code>scope="col"</code>或者<code>scope="row"</code>来更加清晰地表这个标题单元格的用途,这有助于屏幕阅读器更好的阅读这个表格<ref name="H63">{{Cite web |title=H63: Using the scope attribute to associate header cells and data cells in data tables |url=https://www.w3.org/WAI/WCAG21/Techniques/html/H63 |website=Techniques for WCAG 2.1 |publisher=[[W3C]] |access-date=2023-05-15}}</ref>
通过在相邻单元格中嵌入成组的HTML{{Xtag|br}}、{{Xtag|hr}}标签,可以在视觉上创建多行信息框,不过该技术并不适合HTML表格结构。屏幕阅读器用户是以单元格和HTML行为单位阅读,而非以视觉上的行阅读,因此这对它们会产生问题。
{{编辑演示

|title=使用<code>scope</code>参数的正确例子
=== 数据表格 ===
|result=-{}-
{{shortcut|QW:DTAB}}
{{(!}} class="wikitable"
以下给出了数据表格的示例:
! scope="col" {{!}} 列标题0
<pre>
! scope="col" {{!}} 列标题1
{|
! scope="col" {{!}} 列标题2
|+ [标题文字]
{{!}}-
|-
! scope="col" | [列标题1]
! scope="row" {{!}} 标题1
{{!}} 数据1-1 {{!!}} 数据1-2
! scope="col" | [列标题2]
{{!}}-
! scope="col" | [列标题3]
! scope="row" {{!}} 标题2
|-
{{!}} 数据2-1 {{!!}} 数据2-2
! scope="row" | [列标题1]
{{!)}}
| [常规单元格1,2] || [常规单元格1,3]
}}
|-
! scope="row" | [列标题2]
| [常规单元格2,2] || [常规单元格2,3]
...
|}
</pre>


=== 表格标题 ===
; 标题文字(<code>|+</code>) : 标题文字是表格的题头,描述其性质<ref name="H39">{{Cite web |title=H39: Using caption elements to associate data table captions with data tables |url=https://www.w3.org/WAI/WCAG21/Techniques/html/H39 |website=Techniques for WCAG 2.1 |publisher=[[W3C]] |access-date=2023-05-15}}</ref>。
; 行、列标题(<code> ! </code>): 如同标题文字,它们使信息以更为逻辑结构展现给读者<ref>{{Cite web |title=H51: Using table markup to present tabular information |url=https://www.w3.org/WAI/WCAG21/Techniques/html/H51 |website=Techniques for WCAG 2.1 |publisher=[[W3C]] |access-date=2023-05-15}}</ref>。行列标题有助于屏幕阅读器显示数据单元标题信息。例如:题信息会单元数据之前念出,或标题信息根据要求提供<ref>{{Cite web |title=11.2.6 Table cells: The TH and TD elements |url=https://www.w3.org/TR/html40/struct/tables.html#h-11.2.6 |website=HTML 4.01 Specification |publisher=[[W3C]] |access-date=2023-05-15}}</ref>。
表格标题是显示在表格最上方的本描述整个表格内容<ref name="H39">{{Cite web |title=H39: Using caption elements to associate data table captions with data tables |url=https://www.w3.org/WAI/WCAG21/Techniques/html/H39 |website=Techniques for WCAG 2.1 |publisher=[[W3C]] |access-date=2023-05-15}}</ref>。在HTML中,表格标题是{{tag|caption}}签。wikitext中,表格标题是以<code>|+</code>(管道符号和一个加号)开始的内容
; 标题的范围(<code> ! scope="col" | and ! scope="row" | </code>): 这清晰的定义了行标题或列标题,指标题和其他单元格的对应关系。<ref name="H63">{{Cite web |title=H63: Using the scope attribute to associate header cells and data cells in data tables |url=https://www.w3.org/WAI/WCAG21/Techniques/html/H63 |website=Techniques for WCAG 2.1 |publisher=[[W3C]] |access-date=2023-05-15}}</ref>


{{编辑演示|title=使用表格标题的例子
简而言之,数据表格应满足下列要求:
|result=-{}-
{{(!}} class="wikitable"
{{!}}+ 表格标题
! 标题单元格1 !! 标题单元格2
{{!}}-
{{!}} 数据1-1 {{!!}} 数据1-2
{{!}}-
{{!}} 数据2-1 {{!!}} 数据2-2
{{!)}}
}}


不建议使用横跨一整行的单元格来表示一个表格标题,因为这语义不太正确。
# 正确的表格标题
{{编辑演示|title=伪造表格标题的例子
# 正确的标题结构
|result=-{}-
# 图像和颜色
{{(!}} class="wikitable"
# 避免嵌套表格
! colspan="2" {{!}} 表格标题
{{!}}-
! 标题单元格1 !! 标题单元格2
{{!}}-
{{!}} 数据1-1 {{!!}} 数据1-2
{{!}}-
{{!}} 数据2-1 {{!!}} 数据2-2
{{!)}}
}}


=== 排版表格 ===
=== 排版表格 ===