如何防止屏幕阅读器在不暂停的情况下阅读列表项的全部内容?

时间:2018-09-07 12:45:55

标签: html accessibility voiceover screen-readers talkback

我有一个网站,该网站显示在Android应用程序的网络视图中。我正在使用“话语提示”导航屏幕来测试可访问性。当我到达列表项时,会在停止之前读出全部内容(这是我想要的),但是在读出template <class T> inline auto func(T & val) { //return ...; } class A { friend auto func<A>(A & val); } h2之间没有暂停,因此听起来不自然。是否有一种简单的方法可以添加暂停,使其不会一起读出?

我唯一想到的就是在p上添加aria-label,在其中我可以添加相同的内容,但添加句号。

li

1 个答案:

答案 0 :(得分:1)

通常,您不想在代码中添加暂停。屏幕阅读器用户已经习惯了它的工作方式,并且可以根据需要按元素,单词或字符进行导航。

如果您仍然想追踪事物,可以尝试使用NVDA(免费屏幕阅读器)并打开语音查看器工具。 (运行NVDA时,按Ins + N即可获得菜单,导航至“工具”,然后选择“语音查看器”。)然后导航至列表,您可以看到正在阅读的内容。我知道这种调试方案是在运行NVDA的PC上,您最初的问题是关于Android上的Talkback的,但可能会有所帮助。我对“话语提示”不熟悉,因此不确定它是否具有语音查看器类型工具。

您是否还可以导航到网络视图之外的页面,以查看对讲自身的处理方式?

屏幕阅读器遇到标点符号时自然会暂停。因此,句号或逗号会使它暂停。如果您在阅读时确实需要暂停,可以插入一个视觉上隐藏的逗号(因此有视力的用户看不到它,而屏幕阅读软件可以看到)。但是,这样做的一个缺点是盲文用户会“感觉”逗号。

<h2>Header</h2>
<span class="sr-only">,</span>
<p>Description</p>

您可以在Google的“仅sr”类中进行搜索。这很常见,并且在视觉上隐藏了文本。您可以根据需要将<span>放在<h2>内,也可以放在<p>内,也可以单独放置。

但是同样,我不建议在文本中添加特定的停顿。