1

If I have a form that updates via AJAX, there is a chance that the original value field (as it was output to the browser) will not match the text that the form field now has inside.

I know from a blind user that I help on occasion that Jaws 9 and later has strong support for rich internet applications (specifically AJAX and DOM changes) but I'm not sure if this support goes back as far as Jaws 7 (as their release history implies).

Basically, there are two concerns:

  • If I load the form totally blank with no values set, and then use AJAX to load the data on page load (or after user hits a button), will Jaws read the inserted values?

  • If I load the form with values set and those values change via AJAX will the reader read what is in the values or on screen?

My hope is that this is a case where deficiencies of the older versions will work to my favor, and that it always reads whatever is on screen (in the input fields) and disregards the values. And that it expects form values to change so it reads whatever is current, not just what loads.

But of course I'd rather know for sure rather than find out otherwise later.

4

1 回答 1

2

屏幕阅读器与他们自己的界面版本交互 - “虚拟缓冲区”。与网页交互的屏幕阅读器(至少是 JAWS)实际上似乎结合了从 DOM 读取节点和扫描屏幕上显示的内容。所以,我想答案是“这取决于”。正如@pst 所建议的那样,如果可能的话,实际上没有替代品可以由屏幕阅读器用户进行测试。

您的解决方案选项看起来有点像这样:

有关与屏幕阅读器等辅助软件进行通信的现代方法,请查看WAI ARIA。Gez Lemon 写了一篇很好的 WAI ARIA 简介- 非常值得花时间阅读。

较旧的屏幕阅读器不擅长更新虚拟缓冲区,但 JAWS 7.1 及更高版本为开发人员提供了一种机制。同样,Gez Lemon 在他的博客为 JAWS 用户改进 Ajax 应用程序中提供了帮助。如果您想更深入地研究这一点,詹姆斯爱德华兹的一些很好的背景阅读和研究也值得一读。

于 2011-03-24T12:13:48.807 回答