使用 TalkBack 时,Android focusable 和 importantForAccessibility



我注意到在许多情况下,android:importantForAccessibility="yes"可以用android:focusable="true"代替,并且与TalkBack的工作方式完全相同。什么时候应该使用android:importantForAccessibility="yes"而不是使用可聚焦?

Android 将android:importantForAccessibility定义为:

描述此视图是否对辅助功能很重要。如果它很重要,视图将触发辅助功能事件,并报告给查询屏幕的辅助功能服务。注: 虽然不建议使用,但无障碍服务可能会决定忽略此属性并对视图树中的所有视图进行操作。https://developer.android.com/reference/android/view/View.html#attr_android:importantForAccessibility

android:focusable="true"为:

控制视图是否可以获取焦点。默认情况下,这是"自动",它允许框架确定用户是否可以将焦点移动到视图。通过将此属性设置为 true,允许视图获得焦点。将其设置为"false"后,视图将不会获得焦点。此值不会影响直接调用 requestFocus(( 的行为,无论此视图如何,该函数都将始终请求焦点。它仅影响焦点导航将尝试移动焦点的位置。 https://developer.android.com/reference/android/view/View.html#attr_android:focusable

Focusable 是指"输入焦点"和"键盘焦点"。可聚焦控件是可以接收输入焦点(光标(或键盘焦点的控件...这基本上意味着用户可以使用轨迹球/键盘导航来突出显示此类控件并通过"选择"操作与此类控件进行交互......示例:按键盘上的回车键。

是重要的可访问性是指辅助功能焦点。这与输入焦点高度相关,但非常不同。 例如,仅关注"信息性"文本内容的输入是无意义的。 但是,允许段落接收辅助功能焦点非常重要。这允许用户使用 TalkBack 集中注意力并听到此类信息控件的语音反馈。

如果用户使用的是键盘导航,则输入焦点和辅助功能焦点将相同,但如果用户使用的是 TalkBack 滑动导航,则输入焦点和无障碍焦点可能会不同。

例如:

光标可能位于 EditText 框中,而辅助功能焦点位于它下面的段落上,通过 VoiceFeedback 向用户解释该控件的用途。

相关内容

  • 没有找到相关文章

最新更新