Inspecionar e depurar

Inspecionar

Várias ferramentas podem ajudar a inspecionar rapidamente seu conteúdo do ponto de vista da acessibilidade:

  • Pacote de Acessibilidade do Android: inclui o menu "Acessibilidade", o Selecionar para ouvir, o Acesso com interruptor e o TalkBack, que fornecem insights sobre como a semântica do app funciona para os usuários dessas tecnologias. O teste com as tecnologias acessíveis do Android é altamente recomendado como a melhor maneira de entender a experiência dos usuários com necessidades de acessibilidade.
  • Layout Inspector: permite inspecionar e depurar a semântica de cada elemento combinável e ajuda a identificar informações ausentes ou incorretas.
  • App Scanner de acessibilidade: verifica sua tela e oferece sugestões para melhorar a acessibilidade identificando alguns problemas comuns.

Depuração

Entre o Compose, o sistema de semântica e os serviços de acessibilidade do Android, você pode encontrar comportamentos de acessibilidade inesperados que são difíceis de rastrear. As propriedades semânticas podem ajudar a entender por que os componentes estão se comportando dessa forma.

É possível depurar problemas de comportamento de acessibilidade com o Layout Inspector no Android Studio, o TreeDebug nas configurações do desenvolvedor do TalkBack ou o printToLog do ComposeTestRule. Todas essas ferramentas podem fornecer informações sobre nós (e as propriedades deles) que são expostos aos serviços de acessibilidade pelo Compose.

O exemplo a seguir usa o Layout Inspector para depurar uma tela com três elementos em que, com os serviços de acessibilidade ativados, o primeiro não está sendo selecionado, e o segundo não tem nenhum feedback de ação associado a ele. É possível examinar as propriedades semânticas para encontrar possíveis problemas.

A árvore de componentes no Layout Inspector contém informações sobre os limites, parâmetros e outras informações semânticas associadas a um elemento. Na árvore, os três elementos são reconhecidos:

Layout Inspector com os três elementos.
Figura 2. Layout Inspector com os três elementos.

O primeiro elemento tem a propriedade hideFromAccessibility aplicada. Isso indica que o elemento pode estar marcado como oculto em algum lugar na árvore semântica ou obscurecido por alguma sobreposição decorativa.

Layout Inspector: primeiro elemento com hideFromAccessibility
Figura 3. Layout Inspector: primeiro elemento com hideFromAccessibility.

O segundo elemento tem uma propriedade de foco, mas não tem onClick, como o elemento anterior. Portanto, pode estar faltando um modificador clickable em algum lugar, e é por isso que um serviço de acessibilidade como o TalkBack pode não estar anunciando algum sinal de ação para o usuário:

Layout Inspector: segundo elemento com foco
Figura 4. Layout Inspector: segundo elemento com focused.

O terceiro elemento de texto tem todas as propriedades necessárias: ele é selecionável, tem um onClick e outras semânticas adicionais aplicadas. É por isso que ele é interpretado como esperado.

Layout Inspector: terceiro elemento com todas as APIs.
Figura 5. Layout Inspector: terceiro elemento com todas as APIs.

Dessa forma, é possível usar ferramentas de depuração para investigar por que determinados avisos ou seleções não são realizados pelos serviços de acessibilidade.