Elementos clicáveis duplicados

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

View

Ao 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, como Button, são indicados como clicável por padrão. No seu app, se a View não for clicável ou não executar uma ação ao ser clicada, remova o OnClickListener dela ou defina android:clickable="false". Dessa forma, você indica aos serviços de acessibilidade para considerarem a View 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 de Views clicáveis aninhadas, implemente handles de cliques para que apenas uma View aceite cliques de uma única ação.
Compose

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 com Modifier.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:

  1. Ative o acesso com interruptor para Android e configure a verificação por etapa com dois interruptores.
  2. Abra o app.
  3. Use o interruptor atribuído à ação "Próxima" para mover o foco do acesso com interruptor por cada item pela interface.
  4. 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.

Precisa de mais ajuda?

Siga as próximas etapas:

Pesquisa
Limpar pesquisa
Fechar pesquisa
Menu principal
17327714675985688108
true
Pesquisar na Central de Ajuda
true
true
true
true
true
717068
false
false