开发人员的观点:屏幕阅读器测试的问题

2021-01-08 22:07:41

对于视力障碍,文盲或有学习障碍的人,屏幕阅读器是使用网络的重要组成部分。

当今的屏幕阅读器可以遍历网页和应用程序,并读取用户界面元素,内容,并允许用户导航和与网络交互。

有许多适用于不同设备和平台的屏幕阅读器,每种屏幕阅读器具有不同级别的功能,界面和功能。最常见的是JAWS,NVDA,VoiceOver和TalkBack。

根据最新的WebAIM屏幕阅读器用户调查,在台式机屏幕阅读器使用方面,JAWS和NVDA的使用实际上是相等的,大约40%的受访者表示他们使用了另一种。

根据上图,过去十年的发展趋势十分明显,随着JAWS使用量的下降,NVDA的使用量也在增加,到2019年NVDA首次超过JAWS的使用量达到了顶点。

作为经常遇到时间限制的开发人员,我经常想知道:对于屏幕阅读器而言,测试的基线应该是什么?为了达到最高水平的WCAG合规性,最需要涵盖哪些浏览器和屏幕阅读器组合? ?

鉴于2021年开发的几乎所有Web应用程序也都在移动设备上使用,因此要求在iOS和Android设备以及面向台式机用户的Windows和macOS上进行测试,因此很难为如此广泛的场景提供足够的支持。

假设在最佳情况下,将以以下组合测试给定的页面或功能:

我应该澄清一下,通过“最佳情况”,我可以方便地省略Internet Explorer的任何版本,但是可能会令人沮丧,包括它至少会再进行两轮测试。

还值得注意的是,WebAIM还建议将Microsoft Edge与Narrator结合使用,但是鉴于其使用率较低,我们将其省略(稍后会详细介绍)。

假设,根据开发人员所使用的功能或页面的大小,假设开发人员对每种浏览器和屏幕阅读器都有经验,则每一轮测试都需要一个小时才能完成。

在这种情况下,全面测试所有这些组合对屏幕阅读器的支持会增加11个小时的开发工作,而这仅仅是测试!

Web开发人员将熟悉与浏览器版本碎片有关的问题,并且在使用屏幕阅读器进行测试时,此问题会变得更加复杂。不仅要应对浏览器中不同级别的HTML,Javascript和CSS支持,而且可能会遇到困难,而要解决这一问题,polyfills和诸如caniuse.com之类的工具使工作变得更加轻松。

当涉及屏幕阅读器版本碎片时,文档或对开发人员的支持很少。解决问题通常归结为反复试验,重新测试并希望达到最佳效果。

在此领域中非常有用的一条信息将是来自供应商的屏幕阅读器更新的渗透。例如,如果开发人员知道屏幕阅读器用户之间的更新采用率很高,那么他们可以相信,如果屏幕阅读器更新解决了问题,则较旧版本的补丁程序可能会被淘汰。这种方法在Chrome和Firefox等浏览器中效果非常好。

令人遗憾的是,开发人员目前无法识别正在使用的屏幕阅读器的类型或版本,因此,实现目标修复目前还不是一种选择。

考虑到跨如此多的设备,浏览器和屏幕阅读器进行正确测试所需的范围和时间,将专用的可访问性测试器嵌入团队中可以显着提高生成可正确访问的应用程序的质量和速度。

让我们面对现实:开发人员已经很难适应自己领域的变化速度,更不用说全面的可访问性审核所需的知识水平了。

这并不是说开发人员应该完全忽略可访问性。但是,即使对于最有经验的以可访问性为重点的开发人员,也希望有人知道有关代码,浏览器和屏幕阅读器的特定组合的特定错误。

俗话说“好程序员就是懒惰的程序员”。当我想到这里进行测试时,我会想到。我很懒惰(尽管可能不是那么出色的程序员),但我依靠斧头之类的自动化工具为我完成了大部分可访问性。尽管当前的工具范围非常出色,并且可以解决最明显的问题,但对于屏幕阅读器而言,却无法解决:您需要手动测试。

为什么?好吧,浏览器和屏幕阅读器支持的当前状态无处不在。为了强调这一点,Powermapper网站提供了一系列清晰的屏幕阅读器支持WAI-ARIA属性。不会任凭别人-随着浏览器和屏幕阅读器的更新,情况正在不断改善-但重点仍然是。当前的自动化测试工具将无法捕获这些问题,因为它们本质上以与代码棉签相同的方式测试代码的有效性。

并非每个团队都拥有专门的可访问性测试仪,甚至没有专门的测试仪。有时,您只需要使用可用的资源就可以做到最好。

"我们什么时候可以停止支持?对于Internet Explorer 9/10以及最近的11版本,多年来一直是开发人员的绝望呐喊,并且随着使用率的下降,开发人员为使代码正常工作而发力的速度也越来越快。

如前所述,这使我回到带有讲述人的Microsoft Edge。在该调查中有1%的用户,并且在您的应用程序或站点中可能有0%的用户,是否值得在此组合上进行测试?更具体地说,有多少用户证明支持是合理的,以及随之而来的测试和开发开销?

截至2020年12月,Chrome是迄今为止世界上最受欢迎的浏览器,拥有65.3%的用户。更高版本的Microsoft Edge使用相同的渲染引擎,因此很有可能如果它在Chrome中运行,则在Edge中也将类似地工作。

根据WebAIM的统计数据,可以肯定的是,NVDA将在未来几年内开始超越JAWS领先。鉴于它也是开源和免费的,我不禁与Firefox在2000年代浏览器大战中取代Internet Explorer的方式进行比较。

就用户而言,Safari远远落后于Chrome,截至撰写本文时,Safari占有16.7%的份额,但它具有成为macOS中默认浏览器的优势。它也是免费的,并且VoiceOver对辅助功能的支持首屈一指。除此之外,由于与移动版的相似性,台式机版中发现的所有问题很可能都具有类似的修复程序。

Safari是迄今为止iOS上最受欢迎的浏览器,iOS上的所有其他浏览器都使用WebKit渲染引擎。 VoiceOver是移动屏幕阅读器的黄金标准(也是iOS设备的唯一选择),因此使用此组合测试iOS辅助功能是很有意义的。

与iOS类似,将其作为Android的默认浏览器和屏幕阅读器组合使其成为一个简单的选择,因为它将覆盖该平台上的绝大多数用户。尽管制造商确实包括自己的浏览器,并且Android上还有很多其他选项,但是绝大多数时间他们使用内置渲染引擎,因此对可访问性的期望应该与Chrome体验相似(如果不相同) 。

这绝不是所有人的万能解决方案。每种情况都会有所不同,最好的做法是吸引用户并提出要求,而不是尝试为他们做出决定。

现实情况是,如果您的网站或应用程序的设计或功能因不支持用户使用的软件而对许多用户而言看起来不好或无法正常工作,则可能通过销售或声誉对您的业务产生潜在的影响。同样,如果您的用户使用的是旧版本的屏幕阅读器和浏览器组合,则可访问性差将产生负面影响。

冒着被点燃的风险,我不喜欢支付我可以免费获得的东西的想法。 NVDA是一个将屏幕阅读器带给每个人的项目,包括那些没有能力支付费用的人,因此我支持它。伴随着使用情况的清晰轨迹,可以预期大多数用户将在未来5至10年内采用它,这并非不合理。

然而,归根结底,确定测试工作应放在哪里的最好选择是与用户交谈,以了解他们的需求和使用的软件。如果您无权访问此信息,则上面建议的测试范围将足以满足您的网站或应用程序的绝大多数用户的需求,并且很可能在未来几年内会继续这样做。