diff --git a/lib/java/com/google/android/material/chip/Chip.java b/lib/java/com/google/android/material/chip/Chip.java index 8a8b83e02cd..a1e03a08b38 100644 --- a/lib/java/com/google/android/material/chip/Chip.java +++ b/lib/java/com/google/android/material/chip/Chip.java @@ -165,8 +165,6 @@ public class Chip extends AppCompatCheckBox @Nullable private CharSequence accessibilityClassName; private static final String BUTTON_ACCESSIBILITY_CLASS_NAME = "android.widget.Button"; - private static final String COMPOUND_BUTTON_ACCESSIBILITY_CLASS_NAME = - "android.widget.CompoundButton"; private static final String RADIO_BUTTON_ACCESSIBILITY_CLASS_NAME = "android.widget.RadioButton"; private static final String GENERIC_VIEW_ACCESSIBILITY_CLASS_NAME = "android.view.View"; @@ -2335,7 +2333,7 @@ public CharSequence getAccessibilityClassName() { if (parent instanceof ChipGroup && ((ChipGroup) parent).isSingleSelection()) { return RADIO_BUTTON_ACCESSIBILITY_CLASS_NAME; } else { - return COMPOUND_BUTTON_ACCESSIBILITY_CLASS_NAME; + return BUTTON_ACCESSIBILITY_CLASS_NAME; } } else if (isClickable()) { return BUTTON_ACCESSIBILITY_CLASS_NAME; diff --git a/lib/javatests/com/google/android/material/chip/ChipGroupTest.java b/lib/javatests/com/google/android/material/chip/ChipGroupTest.java index a0b43b679d9..031f3ad0c23 100644 --- a/lib/javatests/com/google/android/material/chip/ChipGroupTest.java +++ b/lib/javatests/com/google/android/material/chip/ChipGroupTest.java @@ -260,4 +260,17 @@ public void isNotSingleLine_initializesAccessibilityNodeInfo() { assertEquals(1, itemInfo.getRowIndex()); assertTrue(itemInfo.isSelected()); } + + @Test + public void getChipAccessibilityClassName_multipleChecked_buttonName() { + Chip chip = (Chip) chipgroup.getChildAt(0); + assertEquals("android.widget.Button", chip.getAccessibilityClassName().toString()); + } + + @Test + public void getChipAccessibilityClassName_singleChecked_radioButtonName() { + chipgroup.setSingleSelection(true); + Chip chip = (Chip) chipgroup.getChildAt(0); + assertEquals("android.widget.RadioButton", chip.getAccessibilityClassName().toString()); + } } diff --git a/lib/javatests/com/google/android/material/chip/ChipTest.java b/lib/javatests/com/google/android/material/chip/ChipTest.java index b8fd5765828..97326bd6380 100644 --- a/lib/javatests/com/google/android/material/chip/ChipTest.java +++ b/lib/javatests/com/google/android/material/chip/ChipTest.java @@ -19,6 +19,7 @@ import static com.google.android.material.internal.ViewUtils.dpToPx; import static com.google.common.truth.Truth.assertThat; +import static org.junit.Assert.assertEquals; import android.content.Context; import android.graphics.RectF; @@ -225,4 +226,15 @@ public void testZeroChipCornerRadius() { .isWithin(DELTA) .of(0); } + + @Test + public void getChipAccessibilityClassName_clickable_buttonName() { + assertEquals("android.widget.Button", chip.getAccessibilityClassName().toString()); + } + + @Test + public void getChipAccessibilityClassName_nonClickable_viewName() { + chip.setClickable(false); + assertEquals("android.view.View", chip.getAccessibilityClassName().toString()); + } }