【问题标题】:Can't use arrow keys to navigate in a tab group ONLY when NVDA is launched. Any solutions for this?仅当 NVDA 启动时,才能使用箭头键在选项卡组中导航。有什么解决办法吗?
【发布时间】:2022-11-26 08:08:04
【问题描述】:

当 NVDA 关闭时,箭头键导航工作正常,但一旦我在后台打开 NVDA,我就无法使用它在选项卡组中导航。

你有没有遇到过这种情况,你对如何解决它有什么建议吗?谢谢你。

角色设置为“演示”,我尝试将其更改为 tablist 但它不起作用。角色“选项卡”改变了选项卡组的整个导航行为,所以我想避免这种情况,因为预期的行为是使用左/右箭头键导航。

【问题讨论】:

    标签: accessibility wai-aria uiaccessibility nvda web-accessibility


    【解决方案1】:

    发布一些代码会很有帮助,否则我们只是在猜测。

    当你标签对于选项卡导航器,焦点是否移动到在组中选择的选项卡? (什么时候制表符第一次访问它,我假设选择了第一个选项卡。)一旦选项卡导航器获得焦点,您就可以使用左/右箭头键导航到其他选项卡(当 NVDA 未运行时)?

    (不幸的是,模式被称为“制表符”,这在谈论标签钥匙)

    我首先要确保您遵循“tab navigator”设计模式。如果一切都按照该设计模式中的解释工作,特别是“Keyboard Interaction”部分,那么听起来您没有在正确的元素上设置 roles

    您所描述的行为听起来像是左/右箭头键将转到 NVDA 而不是选项卡导航器。你没有说当你在 NVDA 运行时按左/右会发生什么。字符是一个一个读的吗?这肯定意味着左/右箭头键盘事件将转到 NVDA。

    如果这是真的,那么您没有在正确的元素上设置 role="tablist"(并且可能没有在正确的元素上设置 role="tab"。)再次确认您遵循设计模式。

    当你有 role="tablist" 时,它会自动将 NVDA 从“浏览模式”(键盘事件发送到 NVDA)切换到“表单模式”(键盘事件发送到你的应用程序)。当键盘事件发送到您的应用程序时,左/右箭头键应该像 NVDA 未运行时一样工作。

    您可以在“Fundamental Keyboard Navigation Conventions”中查看导致 NVDA 自动为您切换模式的角色列表。选项卡模式是其中的一个角色。

    您应该能够通过在运行 NVDA 的情况下切换到标签导航器然后按惯导系统+空间.这会将“浏览模式”切换为“表单模式”,然后您的箭头键应该可以使用。

    【讨论】:

      最近更新 更多