【问题标题】:Can JAWS screenreader send it's focus to a javascript functionJAWS 屏幕阅读器可以将其焦点发送到 javascript 函数吗
【发布时间】:2017-03-22 21:43:34
【问题描述】:

我正在创建一个使用 JAWS 屏幕阅读器经常访问的 Web 应用程序。

我有几个例子可以帮助 javascript 了解 JAWS 专门关注的文本片段。

具体例子:

用户正在阅读一段文本。他们使用键盘命令打开一个弹出窗口,他们可以在其中写下他们正在阅读的内容的注释。当他们关闭弹出窗口时,我希望他们回到他们离开的地方。

我尝试过类似以下的方法:

HTML:

<textarea contenteditable='true' id='note'>
</textarea>

Javascript:

var focused;

function openNote() {
  focused = document.activeElement;
  $( '#note' ).show();
  $( '#note' ).focus();
}

function closeNote() {
  $( '#note' ).hide();
  $( focused ).focus();
} 

但是上面的代码并没有做我想要的。变量focused 会记住一个链接或一个按钮或类似的东西。但不是 JAWS 正在阅读的实际文本。

当调用openNote() 时,如何获得 JAWS 所关注的确切对象/文本?

【问题讨论】:

    标签: javascript jquery accessibility screen-readers jaws-screen-reader


    【解决方案1】:

    很遗憾,这是不可能的。您也无法知道 JAWS 是否在 在特定时刻运行。不过,我希望我能做到。
    所以,我相信你正在做的最好的事情就是让你的用户回来。您可以尝试一些可访问的模态窗口插件,例如Modaal,它的工作非常好,并且在可能的情况下将用户返回到他/她在打开模态之前所在的位置。

    【讨论】:

    • 很高兴您不知道我是否在运行 JAWS。我不想让人们知道我是否需要辅助技术。这将是对隐私的侵犯,并且可能违反 HIPAA
    • 谢谢@Andre Polykanine。您是正确的,浏览器无法与 JAWS 交互。但是,经过一些研究和联系 VFO(JAWS 的制造商)技术支持后,我发现您可以为 JAWS 编写脚本,以帮助它更好地与浏览器交互。就我而言,我的用户将成为服务的订阅者,我们可以表面上给他们这些脚本以安装在 JAWS 中,以便他们可以更好地使用我们的 Web 应用程序和它的笔记功能。所以你可以让它工作,而不是使用 Javascript,而是使用 JAWS 的脚本包。不是完美的解决方案,但还可以。
    • 啊,是的,您可以这样做,但请注意,如果您分发 JAWS 脚本,则会限制用户的屏幕阅读器选择。十九年来,我一直是 JAWS 的忠实用户,但现在也有其他屏幕阅读器。要回答隐私问题,嗯……我的意思是……我读起来有点奇怪。如果我知道谁以及何时使用辅助技术,我相信我可以以更细粒度的方式指导他/她。
    猜你喜欢
    • 1970-01-01
    • 2017-08-03
    • 1970-01-01
    • 1970-01-01
    • 2020-03-30
    • 1970-01-01
    • 2017-04-15
    • 1970-01-01
    • 2019-08-12
    相关资源
    最近更新 更多