Acessibilidade no Xamarin.Forms - Parte 1

Xamarin.Forms Set 28, 2019

Fala galera!

Acessibilidade é um tema que tem ganhado bastante espaço na mídia nos últimos tempos, algo que tenho só a agradecer por motivos óbvios.

Dando a minha própria definição de acessibilidade:

É a capacidade de oferecer a mesma experiência de uso de um produto ou serviço independente de qualquer barreira física, cognitiva ou sensorial.

Na prática isto quer dizer que qualquer pessoa, seja ela cadeirante, cega, surda, carregando uma criança ou com um braço quebrado deveria poder usufruir do seu produto ou serviço sem nenhum tipo de adaptação.

Tecnologias assistivas

Para entender melhor como isto é possível vamos a alguns exemplos:

Sou cego e neste momento estou usando o meu computador com Windows, o navegador Chrome e um leitor de telas, o NVDA, que converte toda a informação texttual da interface de usuário para uma voz sintetizada.

No caso de pessoas com baixa visão, ou seja, pessoas que tem baixa acuidade visual, podem ter de utilizar lupas eletrônicas, ampliadores de telaou esquemas especiais de cores com alto contraste.

Surdos podem se beneficiar de tradutores de português para LIBRAS, a Linguagem Brasileira de Sinais, ou recursos de conversão de fala em texto (Speech to Text) que convertem suas longas mensagens de texto do WhatsApp para que possam ser lidas.

Como interagir com estas tecnologias

Normalmente não é necessário se fazer muita coisa senão seguir as boas práticas das empresas por traz do sistema operacional em questão.

Tanto Apple, *Google e Microsoft tem em seus guias de desenvolvimento diretivas específicas para acessibilidade.

A própria Web tem sua versão, escrita e mantida pela W3C, a WCAG.

Mas de forma resumida as tecnologias assistivas pedem ao sistema as seguintes informações:

  • Identificador do controle;
  • Tipo do Controle;
  • Estado do Controle;
  • Valor do Controle;

O identificadoré o que irá dizer o usuário do que se trata o controle, normalmente chamamos de Label.

O Tipo do Controle irá dizer ao usuário como ele deve interagir com o controle, se é um campo de entrada de texto, se é uma caixa de verificação, etc.

O Estado do Controle informa ao usuário se o controle está pronto para interação, se está inativo, marcado, etc.

Já o Valorirá dizer ao usuário o valor atual do controle, o texto que já foi preenchido, o valor selecionado, entre outras possibilidades.

Quando utilizamos controles nativos da plataforma já temos estes comportamentos implementados. A preocupação é sempre maior quando desejamos utilizar controles personalizados.

Resumindo

Acessibilidade é o que permite que eu tenha um dia igual ao seu e implementá0la em seus produtos e serviços, além de responsabilidade social, se torna um grande diferencial em relação a concorrência.

Nas próximas postagens irei bordar como implementamos acessibilidade em nossos aplicativos utilizando os recursos já disponibilizados pelo Xamarin.Forms.

Até a próxima!

Alexandre Santos Costa

Desenvolvedor de software, atua na área de tecnologia há mais de 25 anos. Microsoft MVP em Visual Studio & Development Tools, palestra em diversos eventos pelo Brasil.