Desenvolvendo apps acessíveis
Desenvolver aplicativos para iPhone é algo não trivial, mas também não é um bicho de sete cabeças. Se você já sabe android + kotlin fica ainda mais fácil. O que muitos desenvolvedores esquecem é de contemplar toda uma gama de usuários para seu app. Alguns usuários de iPhone tem baixa visão ou não enxergam, outros tem deficiência auditiva e ainda tem aqueles com deficiência motora. A Apple se preocupa com todos estes usuários de modo que desenvolveu no iOS toda uma solução poderosa de acessibilidade. A configuração fica no aplicativo "configurações" dos aparelhos dentro da seção acessibilidade. A principal opção disponível lá é o voiceOver. Com ela ativa, o device vai passar a falar as opções selecionadas na tela, e o modelo de navegação muda para um que utilize gestos. Os gestos principais são:
- Toque simples em qualquer lugar da tela e o VoiceOver vai falar informações sobre os atributos acessíveis do item em destaque.
- Swipe simples para esquerda ou direita e o VoiceOver vai navegar por itens de acessibilidade visíveis enquanto os lê em voz alta. Swipes para a direita movem o cursor para frente e abaixo enquanto swipes para a esquerda fazem o contrário.
- Swipe simples para baixo soletra o item focado, letra por letra.
- Dois toques para selecionar o tem com foco.
E seu app? Está preparado para este tipo de navegação? Faça o teste e descubra.
Todo item que conforma com NSObjectProtocol possui quatro elementos chaves para implementação da acessibilidade do elemento:
- AcessibilityHint — Dicas curtas como: "Toca a música, compra o item"
- AcessibilityIdentifier — Usado para testes de interface e scripts de automação.
- AcessibilityLabel — Texto associativo como: "Executar, Capturar imagem"
- AcessibilityTrait — Tipo do item: "Botão, título".
Preencha estas informações nos seus elementos de interface e veja como a navegação para um deficiente visual fica mais fluida. De quebra, você vai ganhar a navegação utilizando controles de voz presente no iOS 13.
Elementos de interface mais complexos, como sliders por exemplo, possuem métodos/delegates específicos para acessibilidade, dê uma olhada na documentação da Apple para mais informações. O foco em um elemento também pode ser customizado. Basta configurar o acessibilityFrame e deixar a API cuidar do resto.
O que está esperando para deixar seu app acessível? Não se esqueça, tente encontrar pessoas que possam testar seu aplicativo de modo que te digam se se sentem confortáveis durante a utilização.