O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.

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 precisará 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 da 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 precisa 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, precisa ter uma descrição diferente. Cada descrição reflete o conteúdo exclusivo de 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 mais recente, 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