Acessibilidade em aplicativos iOS

Yris Siqueira
Petlabs
3 min readAug 13, 2021

--

Acessibilidade é um tema muito importante para a sociedade atual, porém muitas vezes é deixado de lado devido a quantidade de demandas vs a quantidade de trabalho. Tornar um aplicativo acessível significa não só permitir que mais pessoas conheçam o app, mas também proporcionar igualdade para cerca de 235 milhões de pessoas (18,8% das pessoas com algum tipo de deficiência), de acordo com o IBGE — 2010.

VoiceOver

Em aplicações iOS existe o recurso do VoiceOver, que é um leitor de telas baseado em gestos, no qual permite que os usuários ouçam o conteúdo que está presente na tela.

Uso do VoiceOver

  • Um toque: descreve o item selecionado;
  • Dois toques: clica no item selecionado;
  • Deslizar 3 dedos na tela: navegação entre páginas e listas (scroll) ou fechar app;
  • Deslizar o dedo para direita ou esquerda: navega entre os elementos da tela (conforme hierarquia);
  • Deslizar o dedo para cima e para baixo: navega entre itens de seleção.

Desenvolvimento

Durante o desenvolvimento, existem alguns atributos de acessibilidade que podem ser utilizados:

  • isAccessibilityElement: Bool é um elemento da view que pode ser atribuido o valor de true ou false, diz se o elemento deve ou não ser lido pelo VoiceOver;
  • accessibilityLabel: String? é um elemento da view que pode receber um texto, é nome do elemento, recomendado ser sucinto, na maioria dos casos já vem setado com o valor do conteúdo do elemento;
  • accessibilityTraits: UIAccessibilityTrait é um elemento da view que pode-se atribuir os valores: .none, .button, .link, .header, .searchField, .image, .selected, .playsSound, .keyboardKey, .staticText, .summaryElement, .notEnabled, .updatesFrequently, .startsMediaSession, .adjustable, .allowsDirectInteraction, .causesPageTurn, .​​tabBar. Esse atributo é o comportamento do elemento, a forma de interação com o mesmo. Exemplo: em um UIButton, seu accessibilityTraits vai ser .button e um toque duplo sobre o elemento irá “clicar” nele;
  • accessibilityValue: String? é um elemento da view que recebe um texto, é valor do elemento. O que estiver escrito em um UITextField, por exemplo;
  • accessibilityHint: String? é um elemento da view que recebe um texto, são os detalhes da interação com o elemento. Exemplo: “Toca a música”;
  • accessibilityFrame: CGRect é um elemento da view que recebe um frame, é local onde o elemento está na tela, por padrão, o frame do elemento é o mesmo da view pai do elemento.

Boas Práticas

Algumas dicas na implementação:

  • Setar apenas quando necessário os atributos accessibilityLabel, accessibilityHinte accessibilityTrait nos UIKit Controls;
  • Quando houver ordem na leitura da tela, pode-se setar o atributo view.accessibilityElements com a ordem a ser lida pelo leitor de tela;
  • Não modificar o que está na tela através da acessibilidade (adicionar ou remover informações que são visíveis para os demais usuários);
  • Quando houver alertas e modais, pode-se utilizar o recurso accessibilityViewIsModal = true.

Considerações

Apesar deste artigo ser focado no VoiceOver, ele não é a única ferramenta de acessibilidade. Ainda existem questões como fontes dinâmicas, cores/contraste etc. E vale ressaltar que o alinhamento entre desenvolvedores e UX designers precisa estar em dia para oferecer uma experiência mais completa para todos usuários.

Petlove&Co

Quer ajudar a criar produtos de qualidade e com o olhar de acessibilidade com a gente? Veja a página de carreiras da Matilha!

--

--