Accessibility improvements for design lib
Set live regions on Snackbar, TextInputLayout's error
and counter views.
BUG: 22988138
Change-Id: Iaf4ddd80b70b2467ee024562ba0dbf9a6ca9a5c0
diff --git a/design/src/android/support/design/widget/Snackbar.java b/design/src/android/support/design/widget/Snackbar.java
index af300f1..eb2c4ef 100644
--- a/design/src/android/support/design/widget/Snackbar.java
+++ b/design/src/android/support/design/widget/Snackbar.java
@@ -507,7 +507,8 @@
private void animateViewIn() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
ViewCompat.setTranslationY(mView, mView.getHeight());
- ViewCompat.animate(mView).translationY(0f)
+ ViewCompat.animate(mView)
+ .translationY(0f)
.setInterpolator(FAST_OUT_SLOW_IN_INTERPOLATOR)
.setDuration(ANIMATION_DURATION)
.setListener(new ViewPropertyAnimatorListenerAdapter() {
@@ -526,7 +527,8 @@
}
}).start();
} else {
- Animation anim = AnimationUtils.loadAnimation(mView.getContext(), R.anim.design_snackbar_in);
+ Animation anim = AnimationUtils.loadAnimation(mView.getContext(),
+ R.anim.design_snackbar_in);
anim.setInterpolator(FAST_OUT_SLOW_IN_INTERPOLATOR);
anim.setDuration(ANIMATION_DURATION);
anim.setAnimationListener(new Animation.AnimationListener() {
@@ -550,7 +552,8 @@
private void animateViewOut(final int event) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
- ViewCompat.animate(mView).translationY(mView.getHeight())
+ ViewCompat.animate(mView)
+ .translationY(mView.getHeight())
.setInterpolator(FAST_OUT_SLOW_IN_INTERPOLATOR)
.setDuration(ANIMATION_DURATION)
.setListener(new ViewPropertyAnimatorListenerAdapter() {
@@ -668,6 +671,9 @@
// in the layout since older versions of the Android do not inflate includes with
// the correct Context.
LayoutInflater.from(context).inflate(R.layout.design_layout_snackbar_include, this);
+
+ ViewCompat.setAccessibilityLiveRegion(this,
+ ViewCompat.ACCESSIBILITY_LIVE_REGION_POLITE);
}
@Override
diff --git a/design/src/android/support/design/widget/TextInputLayout.java b/design/src/android/support/design/widget/TextInputLayout.java
index b34f05e..404bb32 100644
--- a/design/src/android/support/design/widget/TextInputLayout.java
+++ b/design/src/android/support/design/widget/TextInputLayout.java
@@ -362,6 +362,8 @@
mErrorView = new TextView(getContext());
mErrorView.setTextAppearance(getContext(), mErrorTextAppearance);
mErrorView.setVisibility(INVISIBLE);
+ ViewCompat.setAccessibilityLiveRegion(mErrorView,
+ ViewCompat.ACCESSIBILITY_LIVE_REGION_POLITE);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
0, LinearLayout.LayoutParams.WRAP_CONTENT);
params.weight = 1.f;
@@ -447,8 +449,6 @@
updateEditTextBackground();
}
}
-
- sendAccessibilityEvent(AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED);
}
/**
@@ -467,6 +467,8 @@
LinearLayout.LayoutParams.WRAP_CONTENT);
params.gravity = (params.gravity & Gravity.VERTICAL_GRAVITY_MASK) |
GravityCompat.END;
+ ViewCompat.setAccessibilityLiveRegion(mCounterView,
+ ViewCompat.ACCESSIBILITY_LIVE_REGION_POLITE);
addIndicator(mCounterView, -1, params);
if (mEditText == null) {
updateCounter(0);