1.添加组件内容描述
可以在组件的布局XML文件里,添加android:contentDescription属性。当然,也可以在布局实例化代码里,使用someView.setContentDescription(someString) 方法。
2.实现组件可聚焦
有些框架组件,如Button、CheckBox等,默认 是可聚焦的;而像ImageView和TextView这样的框架组件需要手动登记。设置android: focusable属性值为true或使用监听器都可以让组件可聚焦。
3.提升辅助体验
有些UI组件,如ImageView,虽然会给用户提供一些信息,但没有文字性内容。你也应该给 这些组件添加内容描述。如果某个组件提供不了任何有意义的说明,应该把它的内容描述设置为 null,让TalkBack直接忽略它。
4.使用label提供上下文
TalkBack默认读出EditText框里的内容。没输入标题之前,TalkBack会读出android:hint 指定的内容。所以不需要也不应该给EditText设置内容描述。 然而,这实际是有问题的。眼见为实,在标题栏里输入文字:Sticker vandalism①。然后,点 按聚焦EditText框,TalkBack提示:“编辑框,Sticker vandalism。”
这个问题就是,如果输入了其他文字,TalkBack使用者就失去了上下文,不知道EditText 框到底是做什么的。这对于视力好的人来说一目了然,因为上面有标题文字标签。如果就输入了 简单标题,有视力障碍的用户就要费力猜测了。显然,使用体验就有了大差异。
解决方法:
给TextView添加android:labelFor属性就可以了。可以很容易地标明EditText和TextView的关系,让TalkBack掌握同样的上下文关系。
android:labelFor="@+id/crime_title"
android:labelFor属性告诉TalkBack,TextView是以某个ID值指定的视图(EditText)的 标签
效果:
点按聚焦EditText框,TalkBack提示:“编辑框,Sticker vandalism,用于crime 标题。”
5.辅助功能扫描器
Google提供了一个辅助功能扫描器。它能评估应用在辅助功能方面做得如何并给出改 进意见。首先,访问play.google.com/store/apps/details?id=com.google.android.apps.accessibility.auditor, 按指导安装扫描器。 安装完成后,手机屏幕上会出现一个蓝色的打勾图标。好戏开始了,启动应用, 点按蓝色的打勾图标,辅助功能扫描器开始工作。分析时会看到进度条。一旦完成,会弹出 一个窗口给出建议。点按带框的组件,查看修改建议。