1. 数据表格的无障碍,caption、th scope、ARIA grid 模式与键盘网格导航(行/列移动)在复杂表格的工程实现?
数据表格的无障碍中,caption、th scope、ARIA grid 模式与键盘网格导航(行/列移动)在复杂表格中的工程实现是怎样的?
- caption、th scope、thead/tbody 的原生表格语义
- ARIA grid 模式与原生 table 的取舍
- 键盘网格导航(方向键移动、编辑、排序)的实现
基础语义:caption 提供表格标题、th scope="col/row" 建立表头与单元格的关联、thead/tbody/tfoot 分组,屏幕阅读器据此朗读行列上下文;复杂表格(可排序、可编辑、冻结列)单靠原生 table 语义不足,需升级为 ARIA grid 模式:容器 role="grid",行 role="row"、单元格 role="gridcell"(表头 rowheader/columnheader),配合 aria-colindex/aria-rowindex 应对 DOM 与视觉行列不一致。键盘网格导航工程实现:方向键在单元格间移动(记录焦点坐标、Tab 进入/离开网格)、Home/End 跳行首尾、Ctrl+Home 到网格起点,编辑单元格用 Enter/F2 进入、焦点恢复与 aria-required/aria-invalid 播报,排序按钮用 aria-sort 表达状态。关键:grid 模式要求完整键盘契约,实现复杂度高,静态表格优先原生 table。
考察复杂表格的无障碍工程:原生语义覆盖基础、grid 模式提供导航与状态表达,答案需说明升级条件与键盘契约实现。