表格:当为空时支持列表头导航

作者: coolassassin创建于 2026年5月27日更新于 2026年9月17日
标签enhancementTable

UpDATE: 问题摘要是列可能包含带有过滤器的菜单,最终会有一个空表. 用户需要能够在表格空出时访问这些菜单来清除过滤并带回内容. 见https://GitHub.com/adobe/react-spectrum/issues/10121#issuescomment-5721063368 可能的方向

  • 历史问题内容 - 随着tableIndex的出行,第一个进入QQ表的Tab使用"使用可选择的集合"+"GridKeyboardDelegate. FirstKey()',目标为第一行/细胞. 在列标题上需要第一个 Tab 的 Apps( 类标题, WCAG 模式) 必须手动对战焦点 Key, 网格 tab Index {0}, 以及每个单元格的 Tab Index 覆盖 。

期待的行为?

诸如"初始焦点目标="第一Column Header"(或"autoFocus="第一Header")等将初始焦点Key设置到第一列,并相应将DOM焦点移动.

当前的行为

在第一个 Tab 上, 输入一个 RAC 列表 :

虽然焦点Key是无效的,但“[作用='grid]”却得到tabIndex={0}'。 在Focus上称"GetFirstKey ()",它选择了第一行(并带有焦点模块:"细胞"——第一个细胞). 列头不作为初始目标. 项目只有在其密钥匹配时才会得到“ tabIndex ++0 ++ ” ; 其它的都是 - 1 。 在第一个列标题上没有启动 Tab 的道具, 而“ Table” 并不显示要覆盖此选项的键盘Delegate 。

结果:首先Tab降落在网格上或一个体细胞上,而不是头部. 需要头号标签的 Apps 必须手动补补 TabIndex 并聚焦 。

可能的解决办法

使用可选择的集合(焦点为366,tabinIndex594),'GridKeyboardDelegate.getFirstKey','TableKeyboardDelegate' (各栏为isCell',但不为GetFirstKey')。

  • 背景情况

与标头+正体的表,从外出Tab = 聚焦于第一个正体细胞上,而不是第一列正体.

今天的工作情况: 自定义 Marshall + tabIndex 在app代码(react-aria-组件表消费者)中覆盖.

实例

无回复( N)

您的公司/团队

无回复( N)

追踪问题

无回复( N)

内容来源: adobe/react-spectrum