A Visualização do desenvolvedor para Android 11 já está disponível. Teste e compartilhe seu feedback.

Tornar os apps mais acessíveis

Os apps para Android são destinados a todos, inclusive pessoas com necessidades de acessibilidade.

Pessoas com problemas de visão, daltonismo, dificuldades auditivas, comprometimento da coordenação motora, deficiências cognitivas e muitas outras deficiências usam dispositivos Android para realizar tarefas no dia a dia. Ao desenvolver apps com a acessibilidade em mente, você melhora a experiência do usuário, especialmente para aqueles que têm essas e outras necessidades de acessibilidade.

Este documento traz orientações para a implementação dos principais elementos de acessibilidade, para que todos possam usar seu app de maneira mais fácil. Para orientações mais detalhadas sobre como tornar seu app mais acessível, visite a página Princípios para melhorar a acessibilidade do app.

Aumentar a visibilidade do texto

Para cada conjunto de texto no seu app, é recomendável que o contraste de cores (diferença no brilho perceptível entre a cor do texto e a cor do plano de fundo atrás do texto) seja superior a um limite específico. O limite exato depende do tamanho da fonte do texto e se o texto aparece em negrito:

  • Se o texto for menor que 18 pt ou se estiver em negrito e for menor que 14 pt, a taxa de contraste de cores deverá ser de pelo menos 4,5:1.
  • Para qualquer outro texto, a taxa de contraste de cores deve ser de pelo menos 3,0:1.

A imagem a seguir mostra dois exemplos de contraste de cores entre o texto e o plano de fundo:

Imagens com texto
Figura 1. Inferior ao contraste de cores recomendado (à esquerda) e suficiente (à direita).

Para verificar o contraste de cores entre o texto e o plano de fundo no seu app, use um verificador de contraste de cores on-line ou o app Scanner de acessibilidade.

Usar controles grandes e simples

A IU do seu app será mais eficiente se tiver controles mais fáceis de ver e tocar. Recomendamos que cada elemento de IU interativo tenha uma área focalizável, ou tamanho de área de toque, de pelo menos 48 dp ✕ 48 dp. Quanto maior, melhor.

Para que um determinado elemento de IU tenha um tamanho de área de toque grande o suficiente, as duas condições a seguir precisam ser atendidas:

Os valores de padding permitem que o tamanho visível de um objeto seja menor que 48 dp ✕ 48 dp e ainda tenha o tamanho recomendado para a área de toque.

O snippet de código a seguir mostra um elemento que tem o tamanho de área de toque recomendado:

    <ImageButton ...
        android:paddingLeft="4dp"
        android:minWidth="40dp"
        android:paddingRight="4dp"

        android:paddingTop="8dp"
        android:minHeight="32dp"
        android:paddingBottom="8dp" />
    

Descrever cada elemento de IU

Recomendamos que cada elemento de IU no seu app inclua uma descrição que descreva a finalidade do elemento. Na maioria dos casos, essa descrição é incluída no atributo contentDescription do elemento, como mostrado no snippet de código a seguir:

    <!-- Use string resources for easier localization. -->
    <!-- The en-US value for the following string is "Inspect". -->
    <ImageView
        ...
        android:contentDescription="@string/inspect" />
    

Ao adicionar descrições aos elementos de IU do seu app, lembre-se das seguintes práticas recomendadas:

  • Não inclua o tipo de elemento de IU na descrição do conteúdo. Os leitores de tela anunciam automaticamente a descrição e o tipo do elemento.

    Por exemplo, se a seleção de um botão fizer com que uma ação "enviar" ocorra no seu app, a descrição do botão deverá ser "Submit", não "Submit button".

  • Cada descrição deve ser única. Dessa forma, quando o usuário do leitor de tela encontrar uma descrição de elemento repetida, ele reconhecerá corretamente que o foco agora está em um elemento que já esteve focalizado anteriormente.

    Em particular, cada item em um grupo de visualizações, como RecyclerView, deve ter uma descrição diferente. Cada descrição deve refletir o conteúdo exclusivo de um determinado item, como o nome de uma cidade em uma lista de locais.

  • Caso sua IU inclua elementos gráficos usados apenas para efeito decorativo, defina as descrições relacionadas como "@null". Se a minSdkVersion do app for 16 ou posterior, você poderá definir os atributos android:importantForAccessibility desses elementos gráficos como "no".

Outros recursos

Para saber mais sobre como tornar seu app mais acessível, consulte estes recursos extras:

Codelabs

Postagens do blog