Android ImageView 的可访问性

Android accessibility for ImageView

我已经为一些 ImageView 添加了 contentDescription。使用 TalkBack 进行测试时,其中一些将 "button" 附加到 contentDescription 而另一些则没有。语音不存在一致的行为吗?

注意:一些 ImageViews 有 OnClickListener 而其他的有 onTouchListener。带有 onClickListener 的 ImageView 附加 "button" 和 contentDescription 而带有 onTouchListener 的 ImageView 则没有。

此外,我注意到设置 android:clickable="true" 为带有 onTouchListener 的 ImageView 宣布 "button" 和 contentDescription。

处理这种不一致的最佳方法是什么?
设置 android:clickable="true" 是否会影响 onTouchListener 的现有功能?

从可访问性的角度来看,"button" 不是 View 的子类型,而是接受交互的元素。活动图像、接受触摸事件的图像、可点击对象、onClickListeners 等都是活动图像的示例。这些图像显示为按钮,因为如果用户在屏幕上双击并聚焦它们,它们就会执行操作。如果图像只是提供信息,它只会读出它的内容描述。相当于如果他们聚焦了一段文字。

TalkBack 通过添加一些关于他们正在与之交互的对象类型的信息,帮助视力不佳的用户识别图像是活动图像还是信息图像。在这种情况下,类型是由可以发生的交互类型定义的,而不是由它实际的对象类型定义的。