【问题标题】:While using screen reader such as NVDA, how to press Left or Right key?在使用 NVDA 等屏幕阅读器时,如何按向左或向右键?
【发布时间】:2022-01-15 03:09:45
【问题描述】:

在使用 NVDA 等屏幕阅读器时,当按下左键或右键时,屏幕阅读器会逐字母读取当前或下一个元素。

如果有人知道如何按左键或右键来触发元素的按键事件?

谢谢。

【问题讨论】:

    标签: keyboard-shortcuts screen-readers


    【解决方案1】:

    屏幕阅读器有两种模式:浏览模式(键盘事件被发送到屏幕阅读器)和表单模式(键盘事件被发送到 html 元素)。

    大多数屏幕阅读器的默认设置是为某些类型的 html 元素在两种模式之间自动切换,尽管您也可以在两种模式之间手动切换。

    因此,将键盘事件发送到您的元素的关键是使用right html element(这些元素需要键盘焦点管理)或为该元素使用role

    以下元素将自动在浏览模式(箭头键读取下一个字符)和表单模式(html 元素处理箭头键)之间切换:

    • 组合框
    • 网格
    • 列表框
    • 菜单或菜单栏
    • 无线电组
    • 标签
    • 工具栏
    • 树形网格
    • 树视图

    其中一些元素具有原生 html 元素(例如,<input type='radio'>),但其他元素需要角色(例如,<div role='tablist'>)。

    如果您的组件不属于这些小部件之一,那么您可以使用role="application",但我总是谨慎使用该角色。它经常被滥用,如果角色使用不正确,可能会使屏幕阅读器用户难以使用网站。

    【讨论】:

    • 感谢 slugolicious。在我通过按 [NVDA] + 切换到表单模式后它可以工作。
    • 是的,您可以手动切换,但您必须问自己是否应该让用户这样做,或者是否应该自动为他们切换。
    • 在我的例子中,控件是一个可拖动的按钮,用作数据网格中的列调整大小处理程序。对于键盘可操作性,它使用 键的按键事件来模拟单击和拖动行为。 NVDA 可能不会在按钮上自动切换到Forms Mode。而且由于它在第三方组件中,我无法使用application 角色对其进行测试。谢谢你的帮助。如果我有新的发现,我会告诉你的。
    • 是的,我们也为表格实现了列大小调整,使用拖动列宽范例。我们使用修改后的箭头(如 ctrl+left 或 shift+left)来调整大小。
    猜你喜欢
    • 2021-07-16
    • 1970-01-01
    • 1970-01-01
    • 2020-04-29
    • 1970-01-01
    • 2023-02-02
    • 2018-10-04
    • 2022-08-04
    • 1970-01-01
    相关资源
    最近更新 更多