你开发的软件过不了可达性测试!

在文章开始前,我们首先要知道,什么是可达性(Accessibility) ?


可达性(Accessibility) 有一个通俗易懂的等价名词叫“无障碍”, 它体现在生活的各个方面,比如盲道,商场医院的无障碍通道,机场的无障碍电梯等都是“可达性”的一种实现。


具体到软件行业,可达性是指软件从设计到实现,能使残障人士,老年人,非本土人群等获得同等信息和服务。简言之,如果你的软件能够支持不同的人群来使用,那么你就做到了可达性。


640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1


举个例子,如今很多老年人也喜欢网购,但是手机上的字体和图片都很小,老人可能看不清楚。如果购物网站或者手机本身支持放大字体和图片,并在放大后保证足够的清晰度,就能使得老人购物也很方便。这就是可达性针对特定人群需要的一种实现。


欧美对软件可达性的要求比较高,比如美国有一个著名的508无障碍方案,199887日由《劳动力投资法》(P.L.105-220)修改。强制要求在美售卖的软件要符合可达性,通过可达性测试并按政府要求的格式生成相应的可达性报告。


在国内,随着信息技术产业的快速发展,人们对软件可达性的需求也越来越高。


可达性的实现覆盖视觉、听觉以及认知等方面,下面我们来看看可达性测试所需要涵盖的基本测试点。


视觉和听觉相关的测试

颜色/图片配字/对比度


颜色相关的测试主要是针对色盲/色弱用户考虑的。我本人在几年前有过这样一个经历,一位同事讲PPT,在接近绿色的背景上用了大红的字体。他用绿底色的本意是希望让观众的眼睛比较舒服,而红色字体是希望引起大家的注意。


640?wx_fmt=jpeg


但是有可达性测试经验的我,就对此特别敏感,因为如果观看者里有红绿色盲,那这样的PPT对其几乎就是不可读的。


在软件开发的过程中,此类情况还是很常见的。比如柱状图,用不同的颜色做分类展示。多数人看到这样的图并不会觉得有什么不妥。但可达性测试人员对此要尤其注意,凡是单纯用颜色来区分或分类的实现都是典型的可达性bug。


那么,如何做才能给对颜色辨识有困难的用户提供同等的信息呢?最常用的一个做法是加文字标注。


还拿柱状图做例子,比如用柱状图统计超市不同品牌的啤酒的售卖量,红色代表百威,绿色代表蓝带。那在颜色区分的同时,在红色柱旁加文字“百威”;在绿色柱旁边加文字“蓝带”。这样,即使不能分辨两种颜色,通过文字标注也可以获取等同的信息。


图片配字也是类似的原因和要求,少数人会对某些类型的图片识别有困难,或者无法辨识图片里不同颜色的差异,导致无法理解图片的内容。所以,如果软件的输出有非装饰性的图片即希望通过图片向客户传达信息或指示的时候,需要配上相应的文字说明。


对比度则是指字体和其背景的颜色的对比度/差异性要足够大(否则用户可能难以辨认文字内容),而且字体大小得满足特定需求。


具体要求W3C有非常细节的定义,同时W3C也列举了一些工具帮助检验前景/背景的对比度。内容较多,本文难以尽述,需要的读者可以参考W3Chttps://www.w3.org/TR/WCAG20-TECHS/G18


标题/标签/感知觉描述


标题/标签主要是针对视觉障碍的人群。符合可达性软件的一个基本要求是要支持读屏工具,对于盲人或弱视人群,可以通过读屏工具来“读”软件,并且操作软件。因此软件里的标题/标签必须是有意义且描述准确的。


这样的话,当读屏工具读到某个标题,使用者可以根据标题的内容来判断这部分内容是不是他/她感兴趣或需要的,从而决定是跳过还是进一步深入这个标题下面的具体内容。

 

在有些软件里我们会包含一些和感知觉相关的描述,例如形状,大小,位置,方位等等,对于大多数人群,这些描述为使用软件提供了便利性。但是一些有某类感知觉障碍的人可能无法理解其含义。


例如:“提交表格请点击圆形按钮”,这样的提示语对那些形状识别障碍人群来讲是没有帮助的,甚至会带来困惑。


一个合格的测试人员要能够发现问题,也要能提供改进意见。那么针对这个问题,期望行为应是什么样的呢?首先:我们应给这个按钮加一个标签,如“OK”;其次引导语应修正为“提交表格请点击圆形按钮:OK”。这样的话,即使不能识别形状,也可以通过标签“OK”找到相应的按钮。


音频/视频


当软件或应用中包含音频或者视频时,要确保除过音频/视频,软件还提供了其他方式来向用户提供等同的信息。


例如,软件提供了一段包含对白和声音(自然的或是人工合成的)的录音。那惯常的“可达性”的实现方法是:提供一份文档(文字信息),包含对白等,来传达等同的信息。


对于视频的可达性实现也是类似的要求。


键盘可达性测试


键盘可达性是指通过纯键盘操作来使用软件,主要是针对软件的某些功能实现只支持鼠标操作来讲的。之所以要求键盘可达性,是因为很多实现可达性的辅助技术是依赖键盘交互的。键盘可达性测试需要覆盖以下几个方面:

TAB遍历即所有的可操作部分(文字,标题,链接,按钮,输入框等等,装饰性图片除外)都可以通过敲Tab键来遍历。


SHIFT+TAB回溯:当你用TAB把整个软件遍历一遍以后,要用SHIFT+TAB来验证是否可以将整个软件回溯一遍。


TAB顺序合理是指使用TAB键遍历软件的时候,跳转顺序要与软件的使用流程相一致。例如,完成某个操作有5个步骤,而且步骤间有先后关系,那么TAB跳转的时候一定要按照先后顺序跳转。在我刚开始接触可达性测试的时候,当时的产品设计没有充分考虑可达性的需求,我曾经不止一次发现跳转顺序混乱的情况。


聚焦可视化是指当用TAB键跳转到一个控件,链接,标题……的时候,需要有肉眼可见的视觉效果让用户知道当前TAB跳转到什么位置了。通常的实现方法包括给在按钮周围显示一个高亮的边框,链接变颜色,文字信息四周有虚线边框等。


布局设计一致为了提高用户浏览软件的效率,要求重复出现的界面元素在不同页面显示的位置和顺序是一致的。比如,一个视力有缺陷的用户主要依赖“搜索”这个功能来查找网站的内容,网站设计实现的时候,最好“搜索”在每个页面出现的位置是一样的,这样就方便用户很容易地定位和找到“搜索”。其实,不光是视力缺陷的用户,普通用户也有这样的预期,布局一致的设计更符合人们的认知和使用习惯。


区块跳转很多残障人士主要依赖键盘操作软件,如视力缺陷人群很难使用鼠标,像前文介绍的,他们通过敲TAB键来遍历软件,并通过读屏软件获取相应的信息。这样的话,如果一个软件或应用里含有大量的重复信息,如成百上千个链接,当使用TAB键遍历的时候,就会淹没浩如烟海的链接里。对这些用户来说,软件的可用性就很差,甚至几乎是不可用的。可达性软件有一个要求叫区块跳转,可以在一定程度上解决这个问题。


下面举个例子,来说明区块跳转是什么,及如何实现。例如一些大的门户网站,把信息作如下分类:新闻、财经、体育、房产、时尚、科技……,每一个分类都可以被称为一个“区块”。那么在设计实现的时候基本做到以下几点就实现了区块跳转:

1. 每个页面顶部放置一个可以直接跳回网站主页的链接。

2. 每个“区块”的顶部放置一个可以直接跳转到“区块”结束位置的链接;

3. 在页面顶部放置可以直接跳转到其他“区块”的链接。


实现了上述三个要求,基本上就可以做到无论在任何页面,都可以直接在区块间跳转。


比如,用户感兴趣的是“理财”话题,那么按照键盘遍历的顺序,他首先到达的是新闻版块,由于该话题不是他关心的,该用户可以选择直接跳转到新闻版块结束的位置,继续TAB,就可以到达他感兴趣的财经版块了。


借由这样的实现,通过键盘访问网站的用户无须遍历他并不感兴趣的新闻版块,节省了大量的操作时间,网站的可用性也大大提升。


对读屏软件的支持


为了满足视力有缺陷的用户使用软件的需求,可达性的另一个基本要求是能够支持读屏软件,也即软件传达的信息以及如何操作都可以被“读”出来。


JAWS是一款使用非常广泛的专业读屏软件,由Freedom Scientific出品,最新的版本JAWS 2018发布于201710月,感兴趣的读者可以通过如下链接下载并尝试使用。http://www.freedomscientific.com/Downloads/JAWS


正因为JAWS有相当广泛的用户群,所以很多可达性软件也都支持JAWS,不光文字性的信息要被读出来。一些控件,如按键,表单,输入框,甚至图片等也要能被JAWS识别并读出来这可以通过给控件添加标签等方法来实现。


可达性测试的工具


像任何其他测试一样,可达性测试也有一些自动/半自动化的测试工具。


比如,IBM Rational Policy Tester (RPT) 用来扫描Web网页的静态内容并判断是否符合可达性要求;Firefox 的 Dynamic Assessment Plugin (DAP)无论对开发和测试来讲都是一款很强大的工具,可以用来检测色差对比度,跳转顺序等。


一些大公司也会开发一些仅供内部员工使用的可达性测试工具,不对外开放。


不过,与其他测试(如功能、性能)稍有不同的是,可达性的自动化测试并不能取代(或部分取代)手工测试,而只能作为一种辅助测试手段。


例如,Web的自动化测试扫描出来的结果,并不能作为最终测试结果直接提交,而是需要由专职测试人员对扫描出的问题进行复审,结合产品的具体实现来判定这些问题是否真的是可达性bug。由此足见,可达性测试对专业知识的要求之高。


上文介绍了软件可达性的基本要求和测试点。当然,可达性的外延很宽泛,而且随着科技的发展,可达性的标准也在不停地完善和丰富。另外针对不同的应用,比如单机版软件,Web应用或者移动终端,可达性的要求和测试点也不尽相同。


有志于探索可达性测试的达人,通过进一步的学习可以发现更多有趣的知识和技术。


随着学习的深入,你会慢慢意识到,所谓可达性并不只是为了满足“残障”人士的需求,它的很多要求都更贴合人们的认知方式和使用习惯,可达性的实现会给所有使用软件的人带来极大便利。



本文作者 zjyforuok ,首发于51Testing软件测试网。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值