Skip to content

Commit 31f8015

Browse files
Material Design Teamimhappi
Material Design Team
authored andcommitted
[Snackbar] Set the accessibility pane title right before the Snackbar's appearance to resolve an event stream issue
PiperOrigin-RevId: 664967701
1 parent 544180a commit 31f8015

File tree

2 files changed

+5
-2
lines changed

2 files changed

+5
-2
lines changed

lib/java/com/google/android/material/snackbar/BaseTransientBottomBar.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -388,8 +388,6 @@ protected BaseTransientBottomBar(
388388

389389
view.setAccessibilityLiveRegion(View.ACCESSIBILITY_LIVE_REGION_POLITE);
390390
view.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_YES);
391-
ViewCompat.setAccessibilityPaneTitle(
392-
view, getContext().getString(R.string.snackbar_accessibility_pane_title));
393391

394392
// Make sure that we fit system windows and have a listener to apply any insets
395393
view.setFitsSystemWindows(true);
@@ -831,6 +829,10 @@ void onLayoutChange() {
831829
}
832830

833831
private void showViewImpl() {
832+
if (ViewCompat.getAccessibilityPaneTitle(view) == null) {
833+
ViewCompat.setAccessibilityPaneTitle(
834+
view, getContext().getString(R.string.snackbar_accessibility_pane_title));
835+
}
834836
if (shouldAnimate()) {
835837
// If animations are enabled, animate it in
836838
animateViewIn();

tests/javatests/com/google/android/material/snackbar/SnackbarTest.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -405,6 +405,7 @@ public void testAccessibilityPaneTitle() throws Throwable {
405405
final Snackbar snackbar =
406406
Snackbar.make(coordinatorLayout, MESSAGE_TEXT, Snackbar.LENGTH_INDEFINITE)
407407
.setAction(ACTION_TEXT, mock(View.OnClickListener.class));
408+
SnackbarUtils.showTransientBottomBarAndWaitUntilFullyShown(snackbar);
408409
assertEquals(
409410
snackbar.getContext().getString(R.string.snackbar_accessibility_pane_title),
410411
ViewCompat.getAccessibilityPaneTitle(snackbar.getView()).toString());

0 commit comments

Comments
 (0)