Accessibility Check fail when using TextInputLayout

A great way to make TextInputLayout accessible is to use "LabelFor" as recommanded by ChrisCM, but you don't have to add an invisible label view to do so: Just put the labelFor or your Textinputlayout and make it point to your EditText

Example:

<android.support.design.widget.TextInputLayout
  android:labelFor="@+id/username"
  android:contentDescription="@string/username_hint"
  android:accessibilityLiveRegion="polite">
    <edittext
      android:id="@+id/username"
      android:hint="@string/username_hint"
       …/>
</android.support.design.widget.TextInputLayout>

This way you get the exact same visual behaviour and make "Espresso Accessibility Check" and Talkback happy :)

(To make TextInputLayout fully accessible I also added android:accessibilityliveregion on the TextInputLayout element to trigger talkback whenever the error is poping)

A big thanks to this post this blog post which helped a lot



Hints aren't great for accessibility in general. They disappear when text is entered. Try using a "LabelFor" instead. If you don't want a visible label, you can set your label to not be displayed.

This app will give you hints on how to make text boxes accessible.

https://play.google.com/store/apps/details?id=com.dequesystems.accessibility101