我有一个类似于此的HTML结构,表示表的行标题单元格:
foreach($task_array as $val) {
$chap[] = $val['task_chapter_name'];
$task[] = $val['task_name'];
}
div /按钮的目的是启用动态添加新行标题,因此它位于底部,将现有行标题分开。
在VoiceOver中,只有在分组到div时才会宣布分配给div的本地化文本。但是,在JAWS中,它会读取th的内容作为div的rowheader,即使div包含在其中。我搜索了一些属性的文档,这些属性允许div忽略行标题,但是空出来了。我很感激您提供的任何帮助。
谢谢!
答案 0 :(得分:1)
在添加scope="row"
(从that is all that role does开始)之前,您是否尝试使用role="rowheader"
? tabindex="0"
上th
的内容是什么(除非用户滚动,否则隐藏的内容除外,thus using the tabindex
to allow a keyboard user to see it)?
为什么div
充当按钮(role="button"
),然后从真实button
(role="presentation" tabindex="-1"
)中删除语义(和制表位) ?没有看到新的或降级按钮的任何文本,更不用说在th
中很难看到你期望发生的事情。
如果您有一个可以测试它的URL,那么我将调整我的答案,但是现在您有很多奇怪的角色重新映射和制表符停止,我怀疑这个问题令人困惑。
遗憾的是,我无法将所有这些都放在评论中,因此答案不会回答你的问题,而是试图让它达到我可以回答的程度。