conflicting-type-in-label
Avoid specifying elements' types in their accessible name, particularly when the specified role does not match the actual element type.
Description
Elements' accessible names should never contain their type or role designation. This issue becomes more severe when the role specified in the element name does not match its actual type or role. Such a situation may cause ambiguity and confusion regarding the element's purpose, as its exact role is unclear.
Quick Fixes
Ensure that elements' accessible names do not include terms like "button", "link", "tab" or such.
Android (.xml), pass:
1<CheckBox2 android:id="@+id/exampleId"3 android:layout_width="wrap_content"4 android:layout_height="wrap_content"5 android:contentDescription="Accept terms of use"6 android:checked="true" />
Android (.xml), fail:
1<CheckBox2 android:id="@+id/exampleId"3 android:layout_width="wrap_content"4 android:layout_height="wrap_content"5 android:contentDescription="Accept terms of use button"6 android:checked="true" />
How Users Are Affected
Screen reader users may experience confusion or ambiguity regarding the element's purpose and how to operate it. Voice control users will be required to specify the element type redundantly every time they want to activate it.
WCAG Success criteria
This issue might cause elements to fail one or more of the following Success criteria:
1.3.1 Info and Relationships (A)