From aaa7034cbf238c9415462c3a6dff888800aafefd Mon Sep 17 00:00:00 2001 From: leticiars Date: Tue, 23 Jan 2024 19:30:28 +0000 Subject: [PATCH] [Tab][a11y] Fix title being announced twice when there's a badge in TalkBack mode. Resolves https://github.com/material-components/material-components-android/issues/3985 PiperOrigin-RevId: 600854666 (cherry picked from commit ef60931e2b68f3668a41d312c4906246fd801799) --- lib/java/com/google/android/material/tabs/TabLayout.java | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/lib/java/com/google/android/material/tabs/TabLayout.java b/lib/java/com/google/android/material/tabs/TabLayout.java index acc0a13ef10..33be8d85c50 100644 --- a/lib/java/com/google/android/material/tabs/TabLayout.java +++ b/lib/java/com/google/android/material/tabs/TabLayout.java @@ -2678,12 +2678,10 @@ public void setSelected(final boolean selected) { @Override public void onInitializeAccessibilityNodeInfo(@NonNull AccessibilityNodeInfo info) { super.onInitializeAccessibilityNodeInfo(info); + AccessibilityNodeInfoCompat infoCompat = AccessibilityNodeInfoCompat.wrap(info); if (badgeDrawable != null && badgeDrawable.isVisible()) { - CharSequence customContentDescription = getContentDescription(); - info.setContentDescription( - customContentDescription + ", " + badgeDrawable.getContentDescription()); + infoCompat.setContentDescription(badgeDrawable.getContentDescription()); } - AccessibilityNodeInfoCompat infoCompat = AccessibilityNodeInfoCompat.wrap(info); infoCompat.setCollectionItemInfo( CollectionItemInfoCompat.obtain( /* rowIndex= */ 0,