屏幕阅读器能够阅读由JavaScript动态创建的网页吗?

3
我曾经认为,对于视力受损用户而言,屏幕阅读器不能读取由JavaScript动态创建的网页,因为我们在学习时被教育要创建即使禁用JavaScript也能正常工作的网页。
最近,有人告诉我,屏幕阅读器实际上可以读取由AJAX Web应用程序动态创建的Web内容。
那么既然屏幕阅读器可以做到这一点,为什么还需要遵循无障碍性规范以确保网页在禁用JavaScript时也能正常工作呢?
3个回答

5
这是一个使用屏幕阅读器的人的视角。JavaScript语言本身并不与屏幕阅读器不兼容。如果您想使用JavaScript生成链接、表单字段和其他有效的HTML元素,那么它应该可以正常工作。JavaScript和其他网络技术可能会导致问题的地方在于您创建了非标准的页面操作方式。Stack Overflow上的投票系统就是一个例子。当它是可点击的链接时,我的屏幕阅读器可以很好地使用它。但是在将其更改为删除链接后,它变得不太易用,我必须使用虚拟鼠标指针来进行投票。我认为测试的最佳方法是尝试使用只有键盘的网站。您能否在页面上通过Tab键访问所有允许用户执行操作的元素?由于投票和接受答案的设置方式,Stack Overflow目前未通过此测试。如果您想实时更新内容并通知屏幕阅读器用户已更新,请查看http://www.w3.org/WAI/intro/aria.php。如果您想使用屏幕阅读器进行测试,请查看http://www.nvda-project.org,这是一个质量良好、免费且开源的Windows屏幕阅读器。

1

链接不应该是你回答中唯一的信息。请阅读 https://meta.stackexchange.com/q/8231/169394。 - borisdiakur

0
出于类似的原因,您应该创建将标记和样式分开的网页,HTML 应该是一个可读的逻辑文档,通过使用 CSS 添加样式进行增强,然后通过 JavaScript 进一步增强动画或动态样式,或者只是 CSS 应该做但没有做的事情。就我而言,这是它的基础,虽然我并不总能实现所有这些东西。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接