Android技术知识Android开发经验谈Android开发

android开发手机talkback模式总结

2022-05-28  本文已影响0人  奔跑吧李博

TalkBack(盲人模式)是专为盲人和有视力障碍的人士提供的辅助功能,其操作方式与普通方式有较大差异。

进入TalkBack模式

通常在 设置 -> 更多设置 -> 无障碍 -> 视觉 里面开启。


退出TalkBack模式

同样在如上路径里关闭。或者直接音量+-键同时按关闭。

TalkBack模式操作特点:

进入TalkBack模式后,单指触摸屏幕,屏幕上会用绿色的方框包围当前点击的区域,同时手机还会发出语音提示,任何操作动作和消息通知来了也会播报。需要用双击代替正常模式下的单击操作,双指滑动代替正常模式下的单指滑动操作。

无障碍模式下view的事件分发流程:

在实际开发中遇到问题总结:

类型一:无障碍模式下点击View播报“未加标签”
原因:该view触摸范围内无文字,并且没有设置contentDescription属性
解决方案:在该 View 的 android:contentDescription 属性上设置需要播报的内容。

类型二:焦点过多,需要删除多余焦点或需要某个 View 能够进行播报

解决方案:将不需要播报的 View 的 android:importantForAccessibility 属性设置为 no,将需要播报的 View 的该属性设置为 yes。

<attr name="importantForAccessibility" format="integer">
            <!--默认行为,系统根据其子view的类型自动判断是否对其进行读取-->
            <enum name="auto" value="0" />
            <!--允许在无障碍模式下访问-->
            <enum name="yes" value="1" />
            <!--禁止在无障碍模式下访问-->
            <enum name="no" value="2" />
            <!--表示其子view都禁止无障碍模式下访问-->
            <enum name="noHideDescendants" value="4" />
</attr>

还有一种情况是合并焦点,将某些文字去除焦点,然后给包裹文字的View将文字内容添加到contentDescription中,合并为一个焦点进行播报。

类型三:无障碍模式下在上层页面点击仍能选中下层 View

解决方案:将下层的根 View 的 android:importantForAccessibility 属性设置为"noHideDescendants",去除下层view的焦点,关闭的时候再恢复焦点。

上一篇下一篇

猜你喜欢

热点阅读