2016iOS视图控制器编程指南——支持无障碍中国信息无障碍产品联盟&信息无障碍研究会译制刘辉刘彪沈广荣20160722原文地址目录1.
简介.
12.
移动VoiceOver光标到特定元素13.
响应特殊VoiceOver手势23.
1双指搓擦.
33.
2魔法轻拍.
33.
3三指滚动.
33.
4增加和减少.
34.
观察无障碍通知.
411.
简介一个可以被所有人使用的无障碍应用——包含能力障碍和肢体障碍的用户——保持应用的功能性和可用性是一个有用的工具.
为了实现无障碍,一个iOS应用应该提供其用户界面元素的信息给VoiceOver,视觉障碍用户就可以与这些元素进行交互了.
UIKit对象默认是无障碍的,但是开发者仍可以从视图控制器角度做某些事情来实现无障碍,这些事情包含:保证界面中的每个用户元素可访问,包含控件和静态元素,例如labels;保证无障碍元素提供精确有用的信息.
通过编程式设置VoiceOver焦点环的位置、响应特殊VoiceOver手势、观察无障碍通知,可以增强VoiceOver用户对应用的体验.
2.
移动VoiceOver光标到特定元素当应用在屏幕上呈现新的视图,思考设置VoiceOver光标的位置.
当屏幕布局改变时,VoiceOver焦点环,也被称为VoiceOver光标,重置其位置到屏幕上显示的从左到右从上到下的第一个元素.
将光标放置在一个更加合适的元素上,可以加快界面的用户导航.
例如,当新增一个新的视图控制器到导航控制器堆栈,VoiceOver光标落在导航条的返回按钮上.
开发者可能想要将光标移动到导航条的标题区域或者新弹出窗口的某个元素上.
为了改变光标的位置,使用UIAccessibilityPostNotification功能发送一个UIAccessibilityScreenChangedNotification通知.
该通知告知VoiceOver屏幕内容改变了.
当发送该通知时,指定想要哪个元素接收焦点,如表6-1所示.
表6-1发送一个无障碍通知改变第一个朗读的元素@implementationMyViewController-(void)viewDidAppear:(BOOL)animated{[superviewDidAppear:animated];//第二个参数是新的焦点元素.
2UIAccessibilityPostNotification(UIAccessibilityScreenChangedNotification,self.
myFirstElement);}@end布局改变,包含旋转引起的改变,重置VoiceOver光标的位置.
当视图控制器的布局改变时,发送UIAccessibilityLayoutChangedNotification通知.
和UIAccessibilityScreenChangedNotification通知一样,可以指定想要VoiceOver第一个聚焦的新元素对象.
3.
响应特殊VoiceOver手势为了触发应用特定操作,VoiceOver定义了5个特殊手势.
双指搓擦:一个双指Z字形手势,关闭模态对话框,或者返回导航层次中的上一级;魔法轻拍:一个双指双击手势,执行最期望的操作;三指滚动:一个三指扫动手势,垂直或水平滚动内容;增加:一个单指向上扫动手势,增加元素的值;减少:一个单指向下扫动手势,减少元素的值;使用这些手势执行视图或视图控制器的特定任务.
UIKit会寻找一个方法实现与手势对应的方法.
UIKit使用responder链搜索该方法,从有VoiceOver焦点的元素开始.
如果没有对象实现合适的方法,UIKit为该手势执行系统默认操作.
例如,如果在一个音乐应用中,从当前视图到应用门户都没有找到魔法轻拍的实现,魔法轻拍手势实现播放和暂停音乐.
尽管开发者可以在处理器中执行任何想要的操作,但是选择VoiceOver用户期望的应用操作应该遵循某些准则.
跟其他手势一样,VoiceOver手势的实现应该遵循一个模式,这样无障碍应用的交互就能符合直觉.
注意:所有VoiceOver特殊手势方法返回一个布尔值,该值决定是否通过responder链传递.
暂停传递,返回YES,否则,返回NO.
33.
1双指搓擦使用accessibilityPerformEscape方法处理双指搓擦手势.
对一个覆盖内容的视图——例如,一个模态对话框或一个警告框——使用该方法关闭该覆盖.
双指搓擦手势的功能像电脑键盘Esc键的功能;它关闭一个临时对话框或浮层来恢复主要内容.
开发者也可以使用双指搓擦手势在自定义导航层级中回到上一级.
如果已经使用了UINavigationController对象,不需要实现该手势,因为UINavigationController对象已经处理了该手势.
3.
2魔法轻拍使用accessibilityPerformMagicTap方法来处理魔法轻拍手势.
魔法轻拍快速执行用户常用的或最想要的操作.
例如,在电话应用中,一个魔法轻拍接听或挂断一个呼叫;在一个钟表应用中,魔法轻拍启动和停止秒表.
也可能会使用该手势去触发与VoiceOver光标高亮元素没有必然关系的操作.
在应用中任何位置处理魔法轻拍手势,都会在应用门户中实现accessibilityPerformMagicTap方法.
3.
3三指滚动使用accessibilityScroll:方法滚动自定义视图的内容,当VoiceOver用户执行三指滚动手势.
一个展示书页的自定义视图可能使用该手势来换页.
传递到该方法的参数标识滚动的方法.
3.
4增加和减少使用accessibilityIncrement和accessibilityDecrement方法来增加和减少元素的值.
具有UIAccessibilityTraitAdjustable特性的元素必须实现该方法.
44.
观察无障碍通知UIkit发送无障碍通知来告知应用相关事件.
应用对象可以观察任何相关通知,并使用他们实现合适的任务.
例如,当VoiceOver完成页面上最后一行的阅读,iBook应用使用UIAccessibilityAnnouncementDidFinishNotification通知来换页并继续阅读.
该行为提供一个无缝的、无中断的阅读体验.
使用默认通知中心为无障碍通知注册一个观察器.
表6-2展示了一个记录视图样例是否成功阅读通知或者是否被用户打断.
表6-2为无障碍通知注册一个观察器@implementationMyViewController-(void)viewDidLoad{[superviewDidLoad];[[NSNotificationCenterdefaultCenter]addObserver:selfselector:@selector(didFinishAnnouncement:)name:UIAccessibilityAnnouncementDidFinishNotificationobject:nil];}-(void)didFinishAnnouncement:(NSNotification*)dict{NSString*valueSpoken=[[dictuserInfo]objectForKey:UIAccessibilityAnnouncementKeyStringValue];NSString*wasSuccessful=[[dictuserInfo]objectForKey:UIAccessibilityAnnouncementKeyWasSuccessful];//.
.
.
}@end5订阅的另一个帮助通知是UIAccessibilityVoiceOverStatusChanged通知.
当VoiceOver打开或关闭时,可以使用该通知进行删除.
如果当应用挂起时,该通知出现,当应用回到前景时将会收到通知.
可以观察的无障碍通知列表,详见UIAccessibility协议参考.
有一段时间没有分享Gcore(gcorelabs)的信息了,这是一家成立于2011年的国外主机商,总部位于卢森堡,主要提供VPS主机和独立服务器租用等,数据中心包括俄罗斯、美国、日本、韩国、新加坡、荷兰、中国(香港)等多个国家和地区的十几个机房,商家针对不同系列的产品分为不同管理系统,比如VPS(Hosting)、Cloud等都是独立的用户中心体系,部落分享的主要是商家的Hosting(Virtu...
印象云,成立于2019年3月的商家,公司注册于中国香港,国人运行。目前主要从事美国CERA机房高防VPS以及香港三网CN2直连VPS和美国洛杉矶GIA三网线路服务器销售。印象云香港三网CN2机房,主要是CN2直连大陆,超低延迟!对于美国CERA机房应该不陌生,主要是做高防服务器产品的,并且此机房对中国大陆支持比较友好,印象云美国高防VPS服务器去程是163直连、三网回程CN2优化,单IP默认给20...
由于行业需求和自媒体的倾向问题,对于我们个人站长建站的方向还是有一些需要改变的。传统的个人网站建站内容方向可能会因为自媒体的分流导致个人网站很多行业不再成为流量的主导。于是我们很多个人网站都在想办法进行重新更换行业,包括前几天也有和网友在考虑是不是换个其他行业做做。这不有重新注册域名重新更换。鉴于快速上手的考虑还是采用香港服务器,这不腾讯云和阿里云早已不是新账户,考虑到新注册UCLOUD账户还算比...
ios6 1 3为你推荐
刷网站权重刷出来的流量会提高网站的权重吗?站长故事爱迪生发明电灯的故事简短金山杀毒怎么样金山杀毒软件咋样?中国论坛大全安徽论坛都有哪些?伪静态伪静态和真静态哪种静态方式好中小企业信息化信息化为中小企业发展带来了哪些机遇iphone越狱后怎么恢复苹果手机越狱之后能恢复原来吗?开机滚动条谁会调开机的滚动条bt封杀BT下载可以封杀迅雷吗?什么原理?能破吗?宕机宕机是什么意思?
liquidweb 电影服务器 win8升级win10正式版 windows2003iso 地址大全 卡巴斯基官方免费版 100mbps 搜索引擎提交入口 卡巴斯基是免费的吗 无限流量 登陆空间 架设邮件服务器 免费asp空间申请 浙江服务器 电信宽带测速软件 移动王卡 美国主机侦探 sonya 海尔t68驱动 29美元 更多