关于Android的Accessibility--介绍

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013867301/article/details/83243308

Accessibility

Accessibility不仅对disability有帮助,而是对所有用户都有增益(比如声音代替文字,开车、带小孩等场景)。
只要不方便使用的场景即可被归为需求来源。

disability类型: 失明、弱视、色盲;聋、弱听, 运动能力限制
来自The world bank的数据,世界人口的15%有某种类型的disability

基本作用范围:内容标签,触摸区域大小,颜色对比度,视图属性

分组
自然顺序的读取内容标签,显然不够连续、快捷

  • 可能需要多次点击(每次点击才能读取内容)
  • 可能需要滑动(如果相同类型的部分内容在屏幕外)

这样就需要进行分组来节约时间,让同一类型的内容被划分到一个组内,然后可以统一读取

最佳实践
点击要反馈声音
对于操作,要增加颜色之外的提示(比如图形和提示)
对音视频,要有可操作性:播放暂停,音量调整,字幕开关;如果音视频表达的内容很重要,也需要写一份文本

不要让一些界面元素在一定时间内隐藏或者消失(容易混淆)
如果多个元素的操作意图相同,那么不管何时,不管是否单独操作元素,都应该有统一的反馈信息

Android中的Accessibility

虽然Accessibility功能可以让你的app实现很多便利,但是你应该只用来帮助人们与你app的交互。

使用平台级别accessibility services的应用,其目的应该只是为了帮助提升可用性

内容标签
不管元素如何,内容标签一定要简洁明了
而且每个界面中都需要保证内容标签的唯一性,注意列表回收的情景

  • 对于图形元素,如ImageView
    xml中属性为android:contentDescription;代码中为view.setContentDescription()
    声明无描述的方式:
android:contentDescription="@null"      
android:importantForAccessibility="no"  //4.1以上
  • 对于可编辑元素,如EditText
    android:hint或setHint()
  • 对于其他view元素
    使用android:labelFor来表示内容,4.2及以上

Accessibility services会自动捕获TextView中的文字,所以一般性不需要做处理TextView

触摸区域大小
最小触摸区域是48*48dp–使用padding或者TouchDelegate拓展

颜色对比度
常规文字在18点及以上,加粗文字在14点及以上–对比度至少3.0/1;
在18点以下,加粗文字在14点以下–对比度至少4.5/1

视图属性
…个人理解成clickble等状态属性

分组
如果对ViewGroup设置android:focusable=“true”;那么childViews都会被连续读取。
对ViewGroup设置android:contentDescription会覆盖上述的分组逻辑(具体什么效果没说,估计是只读取ViewGroup的内容标签)

如果界面很复杂,比如一个表格样式 那么可以对每一行设置
(示例中是用RelativeLayout嵌套LinearLayout实现的,然后对LinearLayout设置focusable=“true”,那么疑问来了,ConstraintLayout怎么办?)

最佳实践
实现方式要符合Android原生态的导航习惯,不管键盘或手势

Android设备的Accessibility应用

Voice Access(beta)。目的是让用户使用语音控制Android设备。目前只能在5.0及以上设备上使用,且只支持英文。
TalkBack是Android机子自带的AccessibilityService应用,一般位于系统设置的无障碍(Accessibility)选项下,包含教程。可以对Accessibility选项做一些设置:

  • Display speech output :开启这个选项后,可以不依赖常规的Spoken feedback(TalkBack5.1及以后) – 记得设置Speech volume为Match media volume,并把设备的音频声音关闭(设为0)。

而TalkBack默认通过手势来处理焦点的切换和双击选择的,为了更加方便使用,Android提供了硬件方式–Switch Access。

Switch,包括外设键盘按键(如AbleNet, Enabling Devices, RJ Cooper, or Tecla公司的产品)、常规按钮(音量加减)。

相关的接入配置如下所示:
TalkBack5.1及以后可以在Accessibility中的Switch Access选项设置,比如设置音量上下键(记得关闭Auto-scan);外设设备的安装方式可以在【更多帮助】里查询。

除了接入配置,还可以:

  • Group selection :在Accessibility>Switch Access中,逐个选择元素显然太累,而且容易造成内容不连贯。开启这个分组选择之后会快捷很多(记得关闭Auto-scan)。

还提供一种组合,可以把TalkBack的内容以Braille的形式输出到屏幕上。这需要一个app – BrailleBack – 然后可以通过蓝牙的方式,连接Braille显示屏。这个显示屏可以动态的刷新内容。

没有更多推荐了,返回首页