验证iOS应用的无障碍特性

原文:Verifying
App Accessibility on iOS

译者:刘辉、李鸿利(中国信息无障碍产品联盟&信息无障碍研究会

1.  关于在iOS上验证无障碍特性

重要:该文档包含在开发过程中用到的一个API或技术的初步信息。该信息可能随时会改变,根据该文档实现的软件,应该在最终操作系统软件中测试该软件。

到现在为止,开发者已经做了无障碍优化。但是怎样确保应用的无障碍特性?开发者可以使用与视障用户相同的屏幕阅读技术与应用进行交互,测试应用的无障碍特性。这样,开发者可以复制无障碍的体验。当亲自体验了应用的无障碍性能,开发者可能会考虑增强应用的无障碍特性。如果已经做了无障碍优化,现在来亲自体验下。

继续阅读学习怎样验证无障碍特性按预想的效果增强。

1.1 概览

开发者可以在真实设备上和iOS模拟器中测试应用的无障碍特性。

1.1.1 学习如何使用VoiceOver

iOS原生屏幕阅读技术被称为VoiceOver。为视障用户增加了的可用性,VoiceOver改变了系统点击和扫动的解释方式。因为VoiceOver以一种非传统方式控制设备,学习怎样使用VoiceOver看起来非常困难。但是学习使用VoiceOver的重点是学习正确的手势和几个可用性技巧。

相关章节:在设备上使用VoiceOver测试无障碍特性

1.1.2 学习如何使用无障碍检查器

无障碍检查器(Accessibility Inspector)是一个简便的工具,可以帮助开发者测试有缺陷的无障碍实现。无障碍检查器运行在Mac内置的iOS模拟器上。打开检查器之后,开发者可以看到所有VoiceOver使用的可获得的信息。

相关章节:在iOS模拟器中使用无障碍检查器调试无障碍特性

1.2先决条件为视障用户增加的可用性

该文档假设开发者根据以下文档,已经尝试过进行无障碍优化:

1.3 更多

你好再见:使用无障碍API增大用户基数——下载样例代码项目,查看操作中的无障碍实现。

2.  在设备上使用VoiceOver测试无障碍特性

使用VoiceOver测试应用是一个好的想法,这样开发者可以使用与VoiceOver用户相同的方式体验应用。使用VoiceOver操作应用可以暴露出问题区域——例如,让人疑惑的标签,无用的提示,不可到达的元素——这些都让应用有障碍。

VoiceOver是一个复杂的技术,为残障用户提供很多强大的功能。虽然开发者使用VoiceOver测试应用不需要成为VoiceOver专家用户,但还是需要了解一些简单的基础手势。该章节描述了怎样激活VoiceOver,并用来操作应用。

2.1 第一步

到“设置—>通用—>无障碍—>VoiceOver”,然后点击开关打开VoiceOver,如图1-1所示。如果在应用中为无障碍元素提供了提示,开发者需要保证“读出提示(Speak Hints)”开关打开(默认打开)。在离开VoiceOver设置之前,保证讲话速率滑块(Speaking Rate slider)有一个合适的值。

图1-1 在设置中打开VoiceOver

注意:替代方式,可以使用快速点击Home键三下,打开VoiceOver,此方法被描述在“三击Home键快速打开VoiceOver”。

打开VoiceOver后,测试者将会注意到很多熟悉的手势有了不同的效果。例如,单击让VoiceOver读出选定的项目,双击激活选定项目。当一个元素被选中,VoiceOver会在元素周围画一个黑色的圆角矩形,该矩形被称为VoiceOver光标。VoiceOver用户可以自信的导航界面,因为VoiceOver光标会阻止用户意外触发某些事件。

表1-1详细描述VoiceOver全部手势。

表1-1 VoiceOver手势不同于标准手势


VoiceOver手势


行为


在屏幕上拖动


选择并读出触摸的每个项目。


单指单击


读出已选定的项目。


单指左右扫动


选择下一个或上一个项目。元素顺序由屏幕上从左到右、从上到下的布局坐标决定。使用shouldGroupAccessibilityChildren属性将无障碍属性组合在一起,可以重写该顺序。


单指上下扫动

  • 在一个可调整的元素上,例如滑块,增加或减少值。可调整元素实现UIAccessibilityTraitAdjustable特性。
  • 在文本视图,向前或向后移动插入点。

单指双击

该动作实现以下效果:

  • 激活已选定项目;
  • 开关已选定开关;
  • 当解锁开关被选定时,解锁屏幕。

拆分点击——触摸并保持在一个元素上,然后使用其他手指点击屏幕其他位置。


将选定和激活手势合二为一。一旦熟悉,该手势可快速输入,尤其是打字的时候。


单指双击长按——一个手指,双击,在第二下点击的时候,持续长按屏幕,不要抬起。


拖动一个项目。


双指单击


打断阅读。再次双指单击继续阅读。


双指双击——也被称为魔法点击。


打开或停止当前行为。例如,魔发点击可以暂停时钟应用的秒表计时,和接听挂起通话应用的电话。不是所有视图都实现了魔法点击。用户必须选择实现该功能。详见响应特殊VoiceOver手势


双指搓擦——一个Z字形手势,也被称为退出。


返回父级。例如,一个退出手势可以在导航控制器中回退弹出导航堆栈。不是所有视图都实现了退出手势。详见响应特殊VoiceOver手势


双指向上扫动


从屏幕顶部开始读出所有无障碍项目。


双指向下扫动


从当前位置开始读出所有无障碍项目。


双指捏合打开


选择文本。


双指捏合关闭


取消选中文本。


三指上下扫动


滚动屏幕上的列表或区域。


三指左右扫动


导航到下一页或上一页。


三指双击——如果缩放功能被激活,该手势变为三指三击。


开关语音。如果设备没有被静音,VoiceOver语音标识、或音频反馈持续作用。


三指三击——如果缩放功能被激活,该手势变为三指四击。


切换屏幕帘。详见“使用屏幕帘模拟VoiceOver体验”。


四指单击屏幕顶部或底部


选择屏幕上第一个或最后一个无障碍元素。

提示:在“设置—>通用—>无障碍—>VoiceOver”中,有一个VoiceOver练习区域可以练习VoiceOver手势。VoiceOver被激活后,练习按钮才会出现。

当测试应用时,保证交互控制和重要信息条目可以被VoiceOver光标访问。UI装饰与VoiceOver用户无关,不需要可访问。

重要:为了避免界面听起来像机器人,尽力雕琢无障碍描述文本。创建无障碍标签和提示的指南,详见提供准确和有用的属性信息

2.2 VoiceOver提示和技巧

该章节包含特定VoiceOver快捷键和手势,帮助用户操作和管理VoiceOver。使用这些技巧,可以快速改变VoiceOver设置,当屏幕上有很多元素时跳转到特定元素,从视障用户的角度使用iOS。

2.2.1 使用三击Home键快速开关VoiceOver

通过在“设置—>通用—>无障碍—>三击“中设置,可以快速开关VoiceOver,如图1-2所示。然后,通过三击Home键,可以打开和关闭VoiceOver。这比每次导航到设置应用开关VoiceOver快很多,极大的提升无障碍测试效率,当不确定使用的手势是否正确的时候可以简单的关闭VoiceOver。

图1-2 设置VoiceOver三击Home键激活

2.2.2 使用VoiceOver转子微调语音粒度

可以使用VoiceOver转子将VoiceOver语音分解为单个单词甚至单个字符,如图1-3所示。双指顺时针或逆时针转动,就像转动一个表盘,用来循环转子选项。选定一个选项之后,根据已选定的转子选项,单指上下扫动获得上一个或下一个值。

图1-3 使用VoiceOver转子逐字读出文本

也可以在“设置—>通用—>无障碍—>VoiceOver—>转子”中,添加选项到转子。例如,添加讲话速度,在iOS任何位置通过上下扫动调整讲话速度。转子选项上下文敏感,可能不会出现在所有环境中。

2.2.3 使用项目选择器快速滚动

项目选择器可以帮助用户快速选择正在寻找的元素,尤其是当视图内有大量元素的时候。使用双指三击屏幕,触发项目选择器,如图1-4所示,然后选择右边的索引列表,上下拂动获得上一个或下一个字母。当需要跳转到无索引列表的桌面视图中的特定点时,该方法有用。当屏幕上没有搜索区域的时候,搜索项目、整理非字母顺序的列表时有用。使用退出手势取消项目选择器——一个双指Z字形手势。

图1-4 项目选择器

2.3 使用屏幕帘模拟VoiceOver体验

模拟使用应用的视障用户体验,测试人员可以适当地使用VoiceOver屏幕帘。当激活屏幕帘,VoiceOver关闭设备显示,导致没有人能读出屏幕上的内容。关闭屏幕显示测试,要求测试人员依靠VoiceOver朗读的信息,并移除了视觉用户使用应用的诱惑。使用VoiceOver时,三指三击屏幕关闭屏幕显示。打开屏幕显示,再次执行相同操作。

注意:如果缩放被激活,屏幕帘手势变为三指四击。

3. 在iOS模拟器中使用无障碍检查器调试无障碍性能

无障碍检查器(Accessibility Inspector)展示了应用中每个无障碍元素的无障碍信息。开发者可以使用无障碍检查器模拟应用中VoiceOver与无障碍元素的交互,调试无障碍元素提供的信息。

注意:无障碍检查器可以帮助开发者在开发期间调试应用的无障碍性能,但是该测试不能代替在真实设备上使用VoiceOver测试应用。一个需要注意的事情是,无障碍检查器不会朗读出无障碍信息,所以测试者不能听到元素描述的朗读。尽管无障碍检查器是快速验证元素是否提供了合适无障碍信息的理想工具,但是开发者应该在真实设备上测试应用,打开VoiceOver,保证应用按照用户期待的方式运行。详见在设备上使用VoiceOver测试无障碍性能。

无障碍检查器运行在iOS模拟器中,能让测试者简单看到屏幕上每个元素的无障碍标签、值、提示(如果应用)、特性和框架组合。测试者也能看到最近发送无障碍通知的列表。

启动无障碍检查器:

1.  在iOS模拟器中运行应用(更多信息,详见模拟用户指南)。

2.  在模拟设备环境,按Home键返回主屏幕。

3.  打开“设置—>通用—>无障碍”。

4.  打开无障碍检查器开关。无障碍检查器保持活跃直到被关闭,不管开发者退出或重启iOS模拟器。

当在iOS模拟器中运行应用,单击模拟单击、使用鼠标滚动、键盘模拟拂动或单指拖拽。但是当激活无障碍检查器,单击聚焦检查器到一个元素;检查器不会模拟元素上的点击。当无障碍检查器激活时,要模拟元素上单击,双击元素。当无障碍检查器聚焦一个元素,会在元素周围绘制一个阴影矩形框(类似VoiceOver光标),如图2-1所示。

图2-1 无障碍检查器在选择元素周围绘制一个阴影矩形框

为了能够滚动,必须先使无障碍检查器无效。使用鼠标拖拽滚动,到达预期位置后,重新激活无障碍检查器,点击面板左上角的关闭控件(关闭控件看起来像个环形,里面有个X号)。点击这个控件不会真的关闭无障碍检查器;关闭检查器,需要到“通用—无障碍—无障碍检查器“,改变开关设置。

当无障碍检查器未被激活,如图2-2所示,不会影响与iOS模拟器中任何模拟app功能的交互方式。

图2-2 无障碍检查器未激活界面

4. 文档修订记录

该表格描述了该文档的改变。


日期


事项


2013-04-23


新的文档描述了怎样保证一个iOS应用可以被VoiceOver用户使用。

扫描下方二维码,进入信息无障碍知识库,技术人的百科全书:

时间: 2024-08-02 07:58:06

验证iOS应用的无障碍特性的相关文章

WWDC总结:开发者需要知道的iOS 9 SDK新特性

http://blog.csdn.net/uxyheaven/article/details/46470801 编者按:WWDC 2015苹果开发者大会是移动开发者一年一度的盛会,InfoQ中文站除了第一时间整理Keynote内容分享给大家之外,还邀请了资深的一线开发者分享他们的收获.本文为王巍(@onevcat)对WWDC上透露的iOS 9 SDK新特性的总结,分享给广大的iOS开发者. 年年岁岁花相似,岁岁年年人不同.今年的 WWDC 一如既往的热闹,得益于 Apple 的随机抽选机制,这两

在WWDC 2014上,没提到的iOS 8 八大新特性

title: The following iterative sequence is defined for the set of positive integers: n n/2 (n is even) n 3n + 1 (n is odd) Using the rule above and starting with 13, we generate the following sequence: 13 40 20 10 5 16 8 4 2 1 It can be seen that thi

iOS Sprite Kit最新特性Physics Field虚拟物理场Swift測试

在WWDC2014上,Sprite Kit又有了非常多新的提升! 当中一个非常有意思的东西就是Physics Field!也就是物理场! 这意味着我们在Sprite kit上编写虚拟物理场的游戏将变得非常easy! 这里我依据WWDC2014上What's new in Sprite kit的官方视频上的DEMO, 用Swift语言自己做了一个Demo. 截图例如以下: 先放上GitHub链接: https://github.com/songrotek/PhysicsFieldsWorld.gi

iOS Sprite Kit最新特性Physics Field虚拟物理场Swift测试

在WWDC2014上,Sprite Kit又有了很多新的提升! 其中一个很有意思的东西就是Physics Field!也就是物理场! 这意味着我们在Sprite kit上编写虚拟物理场的游戏将变得非常简单! 这里我根据WWDC2014上What's new in Sprite kit的官方视频上的DEMO, 用Swift语言自己做了一个Demo. 截图如下: 先放上GitHub链接: https://github.com/songrotek/PhysicsFieldsWorld.git 我另外录

ios平台的一些特性

硬件资源方面: 1)只有一个应用程序在运行正在运行.并且程序展现是只有一个窗口,这个是在ios9之前的,io9以及以后出现了多任务在ipad上. 2)有限的内存和CPU.ios中需要更加高效的代码执行任务. 3)多样化不问题的网络接入.在手机方面的的网络点是随时的变化的,而不是想笔记本或者台式机那样基本稳定,所以,要考虑到网络的情况. 4)ios中的屏幕的多样化,(不过相对于Android来说还是比较少的),注意横屏和竖屏的切换.不同的分辨率,一般都是显示内容的屏幕的比率占用尽可能的大,而比如:

了解iOS各个版本新特性总结

参考了一下的文章:https://blog.csdn.net/zxtc19920/article/details/54341836 iOS7新特性 · 在iOS7当中,使用麦克风也需要取得用户同意了.如果用户不允许app使用麦克风的话,那么需要使用麦克风的app就不能接收不到任何声音 · [NSArray firstObject]的实现,iOS4之前只是一个私有的方法 · UIImage.renderingMode着色(Tint Color),可以设置一个UIImage在渲染时是否使用当前视图的

IOS:Camera的特性分析与使用

Camera是IOS中很重要的一个信息获取途径. 以下我们主要从硬件特性以及软件特性两个方面来看看Canera的使用,先来看看软件上我们使用Camera都能干点什么. 先来看看以下一张图: 相机软件部分主要介绍两个部分: <1> UIImagePickerController <2> AVCapture AVCapture的结构和使用在前面的博客中已经介绍了,这里先来看看UIImagePickerController的相关特点. 我们使用UIImagePickerControlle

iOS开发-项目新特性

iOS开发实用技巧—项目新特性页面的处理 iOS开发实用技巧篇—项目新特性页面的处理 说明:本文主要说明在项目开发中会涉及到的最最简单的新特性界面(实用UIScrollView展示多张图片的轮播)的处理. 代码示例: 新建一个专门的处理新特性界面的控制器,可以实用代码也可以用xib,在这里实用纯代码方式,创建一个控制器NewfeatureViewController. 头文件代码: 1 // 2 // JMNewfeatureViewController.h 3 // 4 5 #import <

开发者所需要知道的 iOS 10 SDK 新特性

转自:https://onevcat.com/2016/06/ios-10-sdk/ 写的很好啊.哈哈哈 总览 距离 iPhone 横空出世已经过去了 9 个年头,iOS 的版本号也跨入了两位数.在我们回顾过去四五年 iOS 系统的发展的时候,不免感叹变化速度之快,迭代周期之短.iOS 7 翻天覆地的全新设计,iOS 8 中 Size Classes 的出现,应用扩展,以及 Cloud Kit 的加入,iOS 9 里的分屏多任务特性等等.Apple 近年都是在 WWDC 发布新的系统和软件,然后