android开发无障碍app

2019-07-24 01:21:15

最近做一些为盲人提供服务的APP,还是挺有感触的,感谢手机和互联网的普及,他们的生活比以前丰富了很多。

通过读屏软件,盲人可以操作手机,上网浏览信息。读屏软件的工作原理很简单,就是读出屏幕上按钮、文本的信息。

但是,由于许多按钮都是纯图片的,导致读屏软件无法读出,降低了软件的使用性。

下面我就来说说应用无障碍适配的一些技巧,让我们开发的APP能够为更多人服务。

 

使用android:contentDescription标签

其实,我们只需要在xml文件里使用android:contentDescription标签描述控件是做什么用的就可以了,就是这么简单!

<Button
    android:id=”@+id/pause_button”
    android:src=”@drawable/pause”
    android:contentDescription=”暂停按钮”/>

这样读屏软件就能读出按钮的说明了。使用contentDescription已经能够解决90%以上的无障碍适配问题。

 

主动说出帮助信息

View类提供了一系列无障碍的函数,帮助我们在自定义View时更好的提供说明信息:

 

sendAccessibilityEvent(int eventType)

发出一个无障碍事件通知,让读屏软件读出相应的事件,例如:TYPE_VIEW_CLICKED、TYPE_VIEW_CONTEXT_CLICKED等

 

announceForAccessibility(CharSequence text)

让读屏软件直接读出一个字符串

 

通过这些很简单的方法,就可以实现app的无障碍了,让我们一起做得更好吧!


  • 2019-01-08 14:35:50

    ueditor 特殊符号转义

    几个月前,就有同事跟我反馈,说磨途歌的留言板有问题。当时看了一下,她用的是谷歌浏览器,确实打不出中文,才按下一个字母,英文字母就从输入法的输入框中直接跳出来了,更换火狐浏览器就没这个问题。很奇怪的是,在我电脑上的火狐浏览器跟谷歌浏览器都没有问题,一开始还以为是她电脑的问题,就没在意了。

  • 2019-01-12 23:28:58

    NodeJS实现视频转码

    视频转码就是一个先解码,再编码的过程,从而将原来的视频转换成我们需要的视频。这种转换可能包括各式(mp4/avi/flv等)、分辨率、码率、帧率等。

  • 2019-01-21 09:41:54

    NodeJS实现视频转码

    视频转码就是一个先解码,再编码的过程,从而将原来的视频转换成我们需要的视频。这种转换可能包括各式(mp4/avi/flv等)、分辨率、码率、帧率等。