Criar aplicativos mais acessíveis

Procure fazer com que seu app Android possa ser usado por todos, incluindo pessoas com necessidades de acessibilidade.

Pessoas com problemas de visão, daltonismo, dificuldades auditivas, comprometimento motor, deficiências cognitivas e muitas outros tipos de deficiência usam dispositivos Android. Ao desenvolver apps com a acessibilidade em mente, você melhora a experiência do usuário para pessoas com necessidades de acessibilidade.

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

Aumentar a visibilidade do texto

Recomendamos que a taxa de contraste de cores nos conjuntos de texto do app seja superior ao limite específico. O contraste é a diferença no brilho percebido entre a cor do texto e a cor do plano de fundo atrás do texto. 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, defina a taxa de contraste de cores como pelo menos 4,5:1.
  • Em todos os demais textos, defina a taxa de contraste de cores como pelo menos 3: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 interface do seu app será mais eficiente se tiver controles mais fáceis de ver e tocar. Recomendamos que cada elemento de interface interativo esteja em foco, ou tamanho de área de toque, de pelo menos 48 dp x 48 dp. Quanto maior, melhor.

Para que determinado elemento de interface 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 x 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 interface

Inclua uma descrição da finalidade de cada elemento da interface do app. 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 interface do seu app, lembre-se das seguintes práticas recomendadas:

  • Não inclua o tipo de elemento da interface na descrição do conteúdo. Os leitores de tela anunciam automaticamente o tipo e a descrição do elemento. Por exemplo, se um determinado botão ativar a ação "enviar" no app quando selecionado, defina a descrição do botão como "Submit", e não "Submit button".

  • Cada descrição precisa ser única. Assim, ao encontrar uma descrição de elemento repetida, o usuário do leitor de tela vai conseguir reconhecer que o foco está em um elemento que já esteve focalizado anteriormente. Mais especificamente, cada item em um grupo de visualizações, como RecyclerView, precisa ter uma descrição diferente. Cada descrição precisa refletir o conteúdo exclusivo de determinado item, como o nome de uma cidade em uma lista de locais.

  • Se a minSdkVersion do app for 16 ou mais recente, você vai poder definir o atributo android:importantForAccessibility como "no" para elementos gráficos usados apenas para efeito decorativo.

Outros recursos

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

Codelabs

Postagens do blog