Os itens editáveis em um app permitem que os usuários insiram texto. Cada item editável precisa ter um marcador descritivo que indique a finalidade do item.
O Android oferece aos desenvolvedores várias maneiras de marcar Views
na interface do usuário de um app. No caso de itens editáveis em uma interface, algumas dessas formas de marcação podem melhorar a acessibilidade.
Implementação
Para marcar uma TextView
ou EditText
editável, use android:hint
para exibir um marcador descritivo de texto dentro do item quando ele 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 usuário de um app já fornece um marcador de texto para o item editável, defina android:labelFor
na marcação de View
para indicar que item o marcador 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>
Dica: TextInputLayout
na Biblioteca de Suporte ao Design do Android fornece uma maneira fácil de gerenciar uma EditText
e um marcador de texto associado e funciona bem com os serviços de acessibilidade do Android.
A definição de uma android:contentDescription
em qualquer EditText
ou TextView
editável pode interferir na capacidade de um serviço de acessibilidade de descrever o texto que um usuário digita dentro do item, navegar por esse texto e interagir com ele.
Design
Quando os usuários acessam itens editáveis com um leitor de tela, uma interface do usuário implementada corretamente tem estes elementos:
- Se o campo editável está vazio, ela tem um marcador descritivo que é falado pelo leitor de tela.
- Se um usuário tiver inserido texto no campo editável, o leitor de tela vai falar o texto além do rótulo descritivo.
Quando um usuário navega em uma granularidade mais baixa, como caractere por caractere, o leitor de tela fala o texto inserido ou a dica quando está vazio.
Testes
Para verificar manualmente se um app contém itens editáveis marcados da forma correta, siga estas etapas:
- Ative o TalkBack.
- No app, mova o foco de acessibilidade para o item editável vazio.
- Verifique se a descrição falada do TalkBack no item editável vazio contém um marcador e se essa etiqueta descritiva corresponde a algum marcador visual no app.
- Digite o texto no item editável.
- Mova o foco da acessibilidade para o item editável.
- Para conferir se a descrição falada inclui o texto digitado, ouça a descrição do TalkBack sobre o item editável.
As ferramentas de teste automatizadas do Android podem detectar uma contentDescription
não vazia em itens editáveis. Recomendamos que você use o Scanner de acessibilidade para Android para testar manualmente seu app no dispositivo. No caso de testes automatizados, ative a verificação de acessibilidade no Espresso e no Robolectric.