android开发手机talkback模式总结

作者: 奔跑吧李博 | 来源:发表于2022-05-28 09:41 被阅读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的焦点,关闭的时候再恢复焦点。

    相关文章

      网友评论

        本文标题:android开发手机talkback模式总结

        本文链接:https://www.haomeiwen.com/subject/xixmprtx.html