我正在创建一个 面向盲人和视障人士的阅读服务网站,并使用JavaScript(带有jQuery)在页面加载后将一些内容打印到某些页面上。
屏幕阅读器是否会读取使用jquery打印到页面上的内容?
从此页面中可以了解到-"通常,[屏幕阅读器]访问DOM(文档对象模型),并使用浏览器API(应用程序编程接口)获取所需信息。"
我们知道jQuery是一个DOM操作库。
因此问题变成了...屏幕阅读器是否会获取整个DOM的副本,然后解析并阅读它?还是他们阅读DOM,就像jQuery所作的一样?
以下是我在其中一个页面上使用JavaScript的示例。它使用一个函数来确定我们正在播放的节目,并打印出该节目的名称和听取链接。
所以,正如您所看到的,如果屏幕阅读器不能读取javascript/jquery打印到#now-playing-div的内容,则不会读出任何内容。接着,我们开始收到一些困惑的听众的电子邮件,他们想知道“现在播放”链接发生了什么事情。
今天早上我加入了这个:
屏幕阅读器是否会读取使用jquery打印到页面上的内容?
从此页面中可以了解到-"通常,[屏幕阅读器]访问DOM(文档对象模型),并使用浏览器API(应用程序编程接口)获取所需信息。"
我们知道jQuery是一个DOM操作库。
因此问题变成了...屏幕阅读器是否会获取整个DOM的副本,然后解析并阅读它?还是他们阅读DOM,就像jQuery所作的一样?
以下是我在其中一个页面上使用JavaScript的示例。它使用一个函数来确定我们正在播放的节目,并打印出该节目的名称和听取链接。
<div id="now-playing-div"></div>
<script>
// invoke the audio-reader javascript library
$( document ).ready( function() {
var callback = nowPlaying; // catalog, schedule, podcasts, archive or nowPlaying
var selector = '#now-playing-div';
makeAudioReaderPage(callback, selector);
});
</script>
所以,正如您所看到的,如果屏幕阅读器不能读取javascript/jquery打印到#now-playing-div的内容,则不会读出任何内容。接着,我们开始收到一些困惑的听众的电子邮件,他们想知道“现在播放”链接发生了什么事情。
今天早上我加入了这个:
<div id='no-js'>Please enable JavaScript to receive this content.</div>
<script>
$( document ).ready( function() {
$('#no-js').toggle();
});
</script>
但是,如果问题不在于需要启用JavaScript(最近的一项调查显示99%的屏幕阅读器用户已经启用了JavaScript),那么问题就没有得到解决,反而会变得更糟,因为现在屏幕阅读器用户会认为JavaScript未启用。
该怎么办?