javascript - 屏幕阅读器是否可以阅读由 JavaScript 动态创建的网页?

标签 javascript ajax accessibility

我曾经认为视力受损用户的屏幕阅读器无法阅读由 javascript 动态创建的网页,因为我被教育创建即使禁用 javascript 也能正常工作的网页。

最近,我听说屏幕阅读器实际上可以读取在 AJAX 网络应用程序中动态创建的网络内容。

那么,既然屏幕阅读器可以做到这一点,为什么在禁用 javascript 的情况下使网页正常工作是无障碍原则呢?

最佳答案

这是从一生都在使用屏幕阅读器的人的 Angular 出发的。 JavaScript 语言并非天生对屏幕阅读器不友好。如果您想使用 JavaScript 生成链接、表单字段和其他有效的 HTML 元素,它应该可以正常工作。当您创建在页面上执行操作的非标准方式时,JavaScript 和其他网络技术可能会导致问题。 Stack Overflow 上的投票系统就是一个例子。当它是您可以单击的链接时,它与我的屏幕阅读器配合得很好。更改它以删除链接后,它的可访问性要低得多,我必须使用虚拟鼠标指针进行投票。我会说最好的测试方法是尝试使用一个只有键盘的网站。您能否跳转到页面上允许用户执行操作的所有元素? Stack Overflow 目前无法通过此测试来设置投票和接受答案的方式。如果您想实时更新内容并通知屏幕阅读器用户内容已更新,请查看 http://www.w3.org/WAI/intro/aria.php如果您想使用屏幕阅读器进行测试,请查看 http://www.nvda-project.org一个高质量的免费开源 Windows 屏幕阅读器。

关于javascript - 屏幕阅读器是否可以阅读由 JavaScript 动态创建的网页?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3994694/

相关文章:

html - 相当于纯装饰性视频的空替代文字

android - ScrollView 通过对讲而不是其子 TextView 获得焦点

html - 有人可以解释 HTML5 aria-* 属性吗?

JavaScript:什么时候使用类还是原型(prototype)?

javascript - 尝试将 ExtJS 组件添加到 javascript 代码中

javascript - 将 Google map 中的坐标和数据保存到数据库中

jquery - Angular `$.ajax` 可以工作,但 '$resource` - 抛出错误如何解决这个问题?

javascript - Vue.js v-for 数组上的循环不起作用(零元素,非零长度)

javascript - 重复函数导致模态标题

javascript - Angular ng-repeat 将参数传递给 href 链接