diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java index 2b071dbb7d87e..d709840d1b108 100644 --- a/core/java/android/view/View.java +++ b/core/java/android/view/View.java @@ -8457,6 +8457,18 @@ public class View implements Drawable.Callback, KeyEvent.Callback, * accurately supplying the semantics of their UI. * They should not need to specify what exactly is announced to users. * + *
+ * In general, only announce transitions and don’t generate a confirmation message for simple + * actions like a button press. Label your controls concisely and precisely instead, and for + * significant UI changes like window changes, use + * {@link android.app.Activity#setTitle(CharSequence)} and + * {@link View#setAccessibilityPaneTitle(CharSequence)}. + * + *
+ * Use {@link View#setAccessibilityLiveRegion(int)} to inform the user of changes to critical + * views within the user interface. These should still be used sparingly as they may generate + * announcements every time a View is updated. + * * @param text The announcement text. */ public void announceForAccessibility(CharSequence text) { diff --git a/core/java/android/view/accessibility/AccessibilityEvent.java b/core/java/android/view/accessibility/AccessibilityEvent.java index b0cf504ec568b..a52a99bec5007 100644 --- a/core/java/android/view/accessibility/AccessibilityEvent.java +++ b/core/java/android/view/accessibility/AccessibilityEvent.java @@ -24,6 +24,7 @@ import android.os.Parcel; import android.os.Parcelable; import android.text.TextUtils; import android.util.Log; +import android.view.View; import com.android.internal.util.BitUtils; @@ -519,6 +520,9 @@ public final class AccessibilityEvent extends AccessibilityRecord implements Par /** * Represents the event of an application making an announcement. + *
+ * In general, follow the practices described in + * {@link View#announceForAccessibility(CharSequence)}. */ public static final int TYPE_ANNOUNCEMENT = 0x00004000;