Concrete Logo
Hamburger button

Já parou para pensar se seu app é acessível?

  • Blog
  • 10 de Fevereiro de 2015
Share

Vivemos em um mundo conectado, onde a todo instante estamos nos comunicando e recebendo diversos tipos de informações. Entretanto, existem algumas “muitas” pessoas que não possuem a mesma acessibilidade que nós. São pessoas que possuem alguma limitação, seja motora, visual ou auditiva, e são usuários tão importantes quanto qualquer outro. Você já parou para pensar se o seu app está preparado para elas? Avaliou se elas conseguem ter uma boa experiência de usuário?

Muito provavelmente você se encontrou no abismo do seu próprio não. Ainda que o iPhone facilite essa interação de muitas maneiras, essa é a realidade: nós, desenvolvedores, deixamos passar essa etapa mais do que importante, fundamental. Tanto quanto a concepção do produto, devemos encarar a cada dia a nossa parcela de responsabilidade em tornar o mundo como um todo um tanto mais acessível.

Diferente do que pode parecer, você não terá muito mais trabalho. Na verdade, toda vez que você cria uma nova view no seu storyboard essa opção já vem ativada por default, como na imagem abaixo:

Opção de acessibilidade

Veja que são poucos itens para nós alterarmos. A primeira opção, “Accessibility”, já diz tudo: é lá que você ativa ou desativa. E, como eu já disse, vem ativado por padrão.

No segundo item temos “Label”, espaço no qual podemos escrever o nome que o sistema de voz lerá para o usuário, caso seja um usuário com problemas visuais. Se você não colocar nada, o sistema lê, por exemplo, o nome da imagem que podemos ter colocado, algo como “minha_image_busca”. Acho que não é legal, né!? Lembre-se de que isso não vai “sobrescrever” o texto original.

Depois disso temos o campo “hint”, que é a “dica” usada para descrever uma imagem. Legal, não? Ainda que tenhamos um app só de imagens, podemos descrever cada imagem para que o usuário ouça.

Por último, temos o campo “Traits”, que nada mais é do que opções a grosso modo. Essas opções servem para descrever melhor o que estamos tornando acessível. Se você já testou o “Voice Over”, que é o assistente de acessibilidade, você pode notar que ao final ele diz o tipo do objeto. No nosso caso está selecionado o botão, e isso ajuda o usuário entender se tem ou não alguma interação, como o clique.

Quanto trabalho para tornar nosso app devidamente acessível não?! Pois é, é isso mesmo, mas não só limitado a isso. Há ainda algumas outras interações que demandam muito mais que ativar essa opções.

Para o conteúdo dinâmico, por exemplo, aquele que estamos recebendo de um servidor, teremos que partir para o código. Ainda assim será simples: vamos demonstrar como ativar acessibilidade em um label criado por código, mas que se aplica para quaisquer outros itens. Como não temos um serviço, vamos demonstrar no label mesmo:

Simples, não?! Poderíamos fazer o mesmo para um serviço que retorna o nosso texto. Nele, poderíamos pedir para nosso dev back-end para enviar uma variável com a dica/descrição do texto que iremos mostrar. Assim, usaríamos “setAccessibilityHint” para inserir a dica.

Complicado? Acho que não, né? Tornar o app acessível está, na verdade, diretamente ligado ao seu engajamento para fazer códigos/apps melhores. Por exemplo, você usa a opção de internacionalização do seu app, ou somente escreve no seu idioma direto no código fonte “hard coded”? É uma boa prática usar a função NSLocalizedString, que é praticamente deixada de lado. Então, a partir de agora você já pode deixar de lado a preguiça e fazer! É muito simples. Talvez role um tutorial em outro post. =)

Ainda há outras questões a serem tratadas. Por exemplo, quando usamos uma tela modal meio opaca, simulando um “pop-up”. Sem adicionar mais alguns códigos o usuário simplesmente não conseguirá tocar nela, afinal é somente uma “semi-tela” por cima da view principal. Teremos mais algumas propriedades para nos ajudar, mas nada muito complicado. Mais 1 ou 2 linhas de código não atrapalham nem atrasam a entrega, certo?

Há outro tipos de “acessibilidade”, como por exemplo deixar todas as fontes em “bold”, alterar a opacidade, etc. Tudo isso esta na API de acessibilidade, e reforço para você, programador: serão 1 ou 2 linhas a mais.

Não pensem que o responsável por isso é só o programador. Um papel importante nessa concepção do aplicativo é o UX, ou “User Experience”, responsável por tornar o app melhor, com uso mais agradável. Há dicas e informações relevantes na documentação para esse profissional, então vamos lá UX, saiba dessas informações, gaste mais tempo estudando a melhor maneira de aplicar e cobre seu desenvolvedor para usá-las.

Acessibilidade é um tema que está aí nos dias de hoje e o mundo do desenvolvimento mobile tem um papel importante para tornar isso realidade. Está praticamente implícito, mas temos deixado de lado, pelo menos até agora. Pensando nisso, você se tornará um programador responsável para aqueles que não têm toda a facilidade de um smartphone por possuir alguma limitação. Com sua ajuda, ele ou ela poderá usar o aplicativo que gosta praticamente igual a como você usa!

Ficou alguma dúvida ou tem alguma sugestão sobre acessibilidade? Aproveite o campo abaixo e deixe seu comentário. Até a próxima!