Os itens editáveis de uma app permitem aos utilizadores introduzir texto. Cada item editável deve ter uma etiqueta descritiva a indicar a respetiva finalidade.
O Android oferece várias formas de os programadores etiquetarem Views
na interface do utilizador de uma app. Algumas destas formas de etiquetagem podem melhorar a acessibilidade de itens editáveis numa interface.
Implementação
Para etiquetar um elemento TextView
ou EditText
editável, use android:hint
para apresentar uma etiqueta de texto descritiva no item quando este estiver vazio.
<EditText
android:id="@+id/email_subject"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="@string/email_subject_hint" />
Se a interface do utilizador de uma app já disponibilizar uma etiqueta de texto para o item editável, defina android:labelFor
na etiqueta de View
para indicar o item que a etiqueta descreve.
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/email_subject_label"
android:labelFor="@id/email_subject" />
<EditText
android:id="@+id/email_subject"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
Sugestão: o elemento TextInputLayout
na Biblioteca de suporte ao design do Android não só oferece uma forma fácil de gerir um elemento EditText
e uma etiqueta de texto associada, como também funciona bem com os serviços de acessibilidade do Android.
A definição de um elemento android:contentDescription
em qualquer EditText
ou TextView
editável pode interferir com a capacidade de um serviço de acessibilidade descrever, navegar e interagir com o texto introduzido por um utilizador no item.
Design
Quando os utilizadores navegam para itens editáveis com um leitor de ecrã, uma interface do utilizador corretamente implementada deve incluir os seguintes elementos:
- Se o campo editável estiver vazio, existe uma etiqueta descritiva que o leitor de ecrã lê.
- Se um utilizador tiver introduzido texto no campo editável, o leitor de ecrã lê o texto além da etiqueta descritiva.
Quando um utilizador navega a um nível de detalhe inferior, como caráter por caráter, o leitor de ecrã lê o texto introduzido ou a sugestão, caso o campo esteja vazio.
Teste
Para confirmar manualmente se uma app inclui itens editáveis corretamente etiquetados:
- Ative o TalkBack.
- Na app, mova o foco de acessibilidade para o item editável vazio.
- Verifique se a descrição oral do TalkBack do item editável vazio contém uma etiqueta e se essa etiqueta descritiva corresponde a alguma etiqueta visual na app.
- Escreva algum texto no item editável.
- Mova o foco de acessibilidade para o item editável.
- Para verificar se a descrição oral inclui o texto introduzido, ouça a descrição do TalkBack relativa ao item editável.
As ferramentas de teste automáticas do Android conseguem detetar um elemento contentDescription
preenchido em itens editáveis. Considere usar o Teste de acessibilidade para Android para testar manualmente a sua app no dispositivo. Para testes automáticos, ative a verificação de acessibilidade no Espresso e Robolectric.