diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java index fb7093bdb597e..94ea2060a7706 100644 --- a/core/java/android/view/View.java +++ b/core/java/android/view/View.java @@ -13908,6 +13908,11 @@ public class View implements Drawable.Callback, KeyEvent.Callback, * See also {@link #focusSearch(int)}, which is what you call to say that you * have focus, and you want your parent to look for the next one. * + *

+ * Note: Avoid setting accessibility focus. This is intended to be controlled by screen + * readers. Apps changing focus can confuse screen readers, so the resulting behavior can vary + * by device and screen reader version. + * * @return Whether this view actually took accessibility focus. * * @hide @@ -14746,6 +14751,12 @@ public class View implements Drawable.Callback, KeyEvent.Callback, * {@link AccessibilityNodeInfo#ACTION_SCROLL_FORWARD} to nested scrolling parents if * {@link #isNestedScrollingEnabled() nested scrolling is enabled} on this view.

* + *

+ * Note: Avoid setting accessibility focus with + * {@link AccessibilityNodeInfo#ACTION_ACCESSIBILITY_FOCUS}. This is intended to be controlled + * by screen readers. Apps changing focus can confuse screen readers, so the resulting behavior + * can vary by device and screen reader version. + * * @param action The action to perform. * @param arguments Optional action arguments. * @return Whether the action was performed. diff --git a/core/java/android/view/accessibility/AccessibilityNodeInfo.java b/core/java/android/view/accessibility/AccessibilityNodeInfo.java index 1f33806e8dd70..d07a7977b2abb 100644 --- a/core/java/android/view/accessibility/AccessibilityNodeInfo.java +++ b/core/java/android/view/accessibility/AccessibilityNodeInfo.java @@ -4829,6 +4829,9 @@ public class AccessibilityNodeInfo implements Parcelable { /** * Action that gives accessibility focus to the node. + *

+ * This is intended to be used by screen readers. Apps changing focus can confuse screen + * readers, so the resulting behavior can vary by device and screen reader version. */ public static final AccessibilityAction ACTION_ACCESSIBILITY_FOCUS = new AccessibilityAction(AccessibilityNodeInfo.ACTION_ACCESSIBILITY_FOCUS);