多くの状況でandroid:importantForAccessibility="yes"
はandroid:focusable="true"
に置き換えられ、TalkBackとまったく同じように動作することに気付きました。フォーカスを使用する代わりにandroid:importantForAccessibility="yes"
を使用する必要がありますか?TalkBackを使用している場合、Androidのフォーカス可能とimportantForAccessibilityの違いは何ですか?
Androidはandroid:importantForAccessibility
として定義されています。
は、このビューには、アクセシビリティのために重要であるかどうかを記述します。重要な場合、ビューはアクセシビリティ・イベントを発生させ、画面に照会するアクセシビリティ・サービスに報告されます。注:推奨されていませんが、アクセシビリティサービスはこの属性を無視して、ビューツリー内のすべてのビューに対して操作を行うことがあります。ビューがフォーカスを取ることができるかどうか
と
android:focusable="true"
。デフォルトでは、これは "auto"で、ユーザがフォーカスをビューに移動できるかどうかをフレームワークが判断できるようにします。この属性をtrueに設定すると、ビューはフォーカスを取得できます。 「偽」に設定すると、ビューにはフォーカスが当てられません。この値は、requestFocus()を直接呼び出す動作には影響しません。requestFocus()は、このビューに関係なく常にフォーカスを要求します。フォーカスナビゲーションがフォーカスを移動しようとする場所にのみ影響します。 https://developer.android.com/reference/android/view/View.html#attr_android:focusable