Se uma tela mostra mais de um item interativo no mesmo local, o usuário pode ter dificuldade de interagir com o app. Alguns serviços de acessibilidade, como o acesso com interruptor, também podem ter dificuldade de representar claramente os itens acionáveis para o usuário.
Implementação
ViewAo implementar OnClickListeners
e OnLongClickListeners
, verifique se a View
clicável tem um ancestral ou descendente clicável e se compartilha o mesmo local na tela. Em uma interface de usuário bem implementada, itens clicáveis aparecem separados.
Considere o seguinte ao implementar Views
clicáveis:
- Certos tipos de
View
, comoButton
, são indicados como clicável por padrão. No seu app, se aView
não for clicável ou não executar uma ação ao ser clicada, remova oOnClickListener
dela ou definaandroid:clickable="false"
. Dessa forma, você indica aos serviços de acessibilidade para considerarem aView
não clicável. - Em interfaces do usuário mais complexas, várias
Views
clicáveis podem ter relacionamentos do tipo mãe/filha na hierarquia de visualização. Em casos deViews
clicáveis aninhadas, implemente handles de cliques para que apenas umaView
aceite cliques de uma única ação.
Ao implementar as propriedades onClick
ou onLongClick
de Modifier.clickable
ou Modifier.combinedClickable
, verifique se o combinável tem um ancestral ou descendente clicável e compartilha o mesmo local na tela. Em uma interface de usuário bem implementada, itens clicáveis aparecem separados.
- Alguns combináveis de nível inferior, como
Button
, têm semântica clicável por padrão. No seu app, se o combinável não for clicável ou não executar uma ação ao ser clicado, remova a semântica clicável dele comModifier.clearAndSetSemantics
. - Em interfaces do usuário mais complexas, várias combináveis clicáveis podem ter relacionamentos do tipo mãe/filha na hierarquia de visualização.
- Em casos de combináveis clicáveis aninhados, implemente handles de cliques para que apenas um combinável em uma relação do tipo pai ou filho aceite cliques de uma única ação.
Design
A finalidade de cada item clicável precisa ser clara para um usuário conseguir prever de forma razoável a ação que será executada depois de um clique ou um clique longo em um item. Esses itens acionáveis também precisam ter um tamanho adequado nas áreas de toque.
Testes
Para verificar manualmente se a interface do usuário de um app não contém itens clicáveis duplicados, siga estas etapas:
- Ative o acesso com interruptor para Android e configure a verificação por etapa com dois interruptores.
- Abra o app.
- Use o interruptor atribuído à ação "Próxima" para mover o foco do acesso com interruptor por cada item pela interface.
- Se algum item parecer ter sido focado mais de uma vez, talvez a interface contenha itens clicáveis duplicados.
As ferramentas de teste automatizadas do Android podem detectar Views
clicáveis duplicadas. 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.