Todos os elementos exibidos na tela que possam receber cliques, toques ou outra forma de interação precisam ser grandes o suficiente para permitir um controle adequado. Recomendamos que esses elementos tenham pelo menos 48 dp de largura e de altura, conforme descrito nas diretrizes de acessibilidade do Material Design (em inglês).
Implementação
View
Ao implementar elementos clicáveis ou tocáveis em um layout, use as dimensões que correspondam ao tamanho recomendado para áreas de toque ou que excedam esse tamanho.
Se esses controles forem dinamicamente dimensionados, ou redimensionados com base no tamanho do conteúdo deles, use android:minWidth
e android:minHeight
para definir um limite inferior para as dimensões deles.
Para manter o tamanho original de uma View
ao expandir a região tocável dela, use uma TouchDelegate
, que permite ao layout pai lidar com os eventos de toque em nome da View
descendente.
Dica: o Scanner de acessibilidade só pode detectar e considerar o uso de TouchDelegate
ao executar no Android 10 e versões mais recentes. Em versões anteriores do Android, os resultados do tamanho da área de toque podem aparecer mesmo quando essa API é usada para ampliar as áreas para um tamanho apropriado.
Compose
Ao implementar elementos clicáveis ou tocáveis em um combinável, use as dimensões que correspondam ao tamanho recomendado para áreas de toque ou que excedam esse tamanho.
Se esses controles forem dimensionados dinamicamente, ou redimensionados com base no tamanho do conteúdo deles, use Modifier.sizeIn
e para definir um limite inferior para as dimensões deles.
clicável
ou use Modifier.mergeDescendants
para o serviço de acessibilidade focar apenas no combinável ancestral maior e enviar os eventos de clique para ele.Design
As áreas de toque incluem a área que responde à entrada do usuário e se estendem além dos limites visuais de um elemento. Um elemento, como um ícone, pode parecer ter 24 x 24 dp, mas o preenchimento ao redor dele abrange toda a área de toque de 48 x 48 dp. No Jetpack Compose, os componentes do Material como Checkbox
ou Switch
adicionam automaticamente padding para garantir o tamanho mínimo de 48x48 dp. Em alguns casos, como botões muito pequenos ou próximos, não é possível expandir os elementos sem que as regiões tocáveis se sobreponham.
Faça áreas de toque com pelo menos 48 x 48 dp, separadas por 8 dp de espaço ou mais, para garantir a densidade e usabilidade equilibradas das informações. Uma área de toque de 48 x 48 dp resulta em um tamanho físico de cerca de 9 mm, independentemente do tamanho da tela. O tamanho recomendado da área para objetos com tela touchscreen é de 7 a 10 mm.
Para ver exemplos, consulte as Diretrizes de acessibilidade do Material Design (em inglês).
Teste
Realize as seguintes ações para verificar manualmente se a interface do usuário de um app não contém áreas de toque pequenas:
- Abra o app.
- Identifique todos os elementos passíveis de clique, toque ou interação dentro da interface.
- Verifique se todos esses elementos têm um tamanho de 48 x 48 dp, ou aproximadamente 9 mm em cada dimensão
As ferramentas de teste automatizadas do Android podem detectar áreas de toque pequenas. 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.