10 pontos por GN⁺ 2024-03-20 | 3 comentários | Compartilhar no WhatsApp

Aplicando a11y (acessibilidade) rapidamente no SwiftUI

  • Apresenta formas de corrigir rapidamente a acessibilidade em apps SwiftUI quando ela foi ignorada.
  • A acessibilidade é um recurso importante para 16% dos usuários, mas ainda assim costuma ser ignorada durante o desenvolvimento.
  • Um app que não considera acessibilidade pode causar uma impressão negativa nos usuários.

Verificando a acessibilidade do app

  • É importante testar a acessibilidade em um dispositivo real.
  • Configure o Centro de Controle para aplicar rapidamente recursos de acessibilidade de forma otimizada.

Verificação do tamanho do texto

  • No iOS, há 12 tamanhos de texto disponíveis, e é preciso testá-los para confirmar se o app se adapta bem a cada um deles.
  • Também é necessário verificar se a UI continua funcionando bem mesmo no maior tamanho de texto.

Verificação com leitor de tela

  • Para usuários que utilizam leitor de tela, verifique a acessibilidade com ferramentas como o VoiceOver.
  • Correções simples, como adicionar rótulos de acessibilidade às imagens, podem gerar grandes melhorias.

Aplicando acessibilidade rapidamente

  • Depois de identificar os problemas, corrija-os rapidamente um a um.

Conteúdo com rolagem

  • Quando o tamanho do texto aumenta, o problema pode ser resolvido expandindo o conteúdo para uma ScrollView.
  • Use um modificador de view customizado chamado a11yScrollView() para tornar o conteúdo rolável apenas quando necessário.

Code smell de criação de espaço

  • Em vez de Spacer(), use o modificador frame() para construir um layout mais confiável.

Ajuste de tamanho de imagens e ícones

  • Use o property wrapper @ScaledMetric para ajustar dinamicamente imagens e ícones de acordo com o tamanho de texto do usuário.

Alinhamento do conteúdo

  • Use A11yHStack para alinhar o conteúdo conforme o tamanho de texto do usuário.

Melhorias para leitor de tela

  • Use accessibilityLabel, accessibilityElement(children:), accessibilityRepresentation e outros recursos para melhorar a compatibilidade com leitores de tela.

Uso de componentes nativos

  • Sempre que possível, use componentes nativos do SwiftUI para melhorar desempenho e acessibilidade.

Convencendo stakeholders

  • Como influenciar dentro da organização para que a acessibilidade seja tratada como prioridade.
  • Destaque a importância da acessibilidade enfatizando exigências legais e benefícios de negócio.

Conclusão

  • Explica o processo geral para identificar e resolver problemas de acessibilidade em apps.
  • Apresenta várias ferramentas e técnicas oferecidas pelo SwiftUI para melhorar a acessibilidade.

Opinião do GN⁺

  • Este artigo é muito útil por mostrar aos desenvolvedores de apps por que a acessibilidade é importante e como melhorá-la na prática com métodos concretos.
  • Apps que não consideram acessibilidade podem prejudicar a experiência do usuário e causar problemas legais, então é importante levá-la em conta desde as fases iniciais do desenvolvimento.
  • Ao usar frameworks modernos como o SwiftUI, é possível aproveitar ao máximo as vantagens dos componentes nativos para melhorar ao mesmo tempo desempenho e acessibilidade.
  • Também é uma boa ideia usar bibliotecas e ferramentas oferecidas pela comunidade para simplificar o processo de desenvolvimento e aumentar a eficiência ao melhorar a acessibilidade.
  • Melhorar a acessibilidade de um app vai além de uma questão puramente técnica: é uma forma de praticar responsabilidade social e inclusão, garantindo que todos os usuários possam usar o serviço em igualdade de condições.

3 comentários

 
aer0700 2024-03-21

Levar a acessibilidade em consideração pode ser uma forma de conquistar clientes fiéis para o meu serviço.
Se serviços concorrentes semelhantes não oferecem esse recurso, mas só o nosso app oferece, os clientes vão usar o nosso.

 
godrm 2024-03-20

Opa, isso também precisamos apresentar no Let’s Swift haha

 
GN⁺ 2024-03-20
Comentários no Hacker News
  • Resumo do primeiro comentário:

    O desenvolvedor não concorda com a afirmação do autor de que "não vai parar até que todos possam usar o app". Todos os apps que ele desenvolveu foram feitos para atender o maior número possível de usuários sem sacrificar os requisitos de negócio nem os aspectos importantes/centrais do app. Caso contrário, o produto se tornaria inviável.

  • Resumo do segundo comentário:

    O desenvolvedor faz o máximo para que seus apps possam ser usados também por pessoas com deficiência visual. Em um app recente, ele encontrou uma forma de torná-lo fácil de usar também para pessoas sem deficiência e, ao mesmo tempo, útil para pessoas com deficiência. Adicionou um recurso de "ajuda por pressão longa", em que manter pressionado qualquer elemento da UI mostra um popover explicando esse elemento. Esse recurso funciona bem usando rótulos e dicas de acessibilidade.

  • Resumo do terceiro comentário:

    Avaliação positiva de um artigo prático. A acessibilidade é importante, mas ele considera problemático chamar de preguiçosos os desenvolvedores que não tornam seus apps acessíveis por padrão. Há muitos conceitos a aprender, prioridades conflitantes, ferramentas com as quais é preciso se acostumar e também a necessidade de construir um caso de negócio para acessibilidade. A maioria dos desenvolvedores e designers não conhece bem as regras da WCAG. Também é difícil encontrar cores de marca que atendam aos requisitos de contraste.

  • Resumo do quarto comentário:

    O desenvolvedor criou um app em Flutter sem considerar acessibilidade, mas recebeu uma reclamação de um usuário com deficiência visual após 6 meses de uso. O Flutter cuida automaticamente da maior parte da acessibilidade, e até os recursos personalizados funcionaram bem para usuários com deficiência visual sem precisar de grandes modificações.

  • Resumo do quinto comentário:

    Levanta-se a dúvida sobre por que as opções de acessibilidade devem ser priorizadas visualmente e por que é preciso anotar mídias que exigem precisão e alta densidade de toque. Talvez seja melhor oferecer versões do app adaptadas a usuários que precisam de acessibilidade, como uma versão para "baixa visão" ou para "baixa precisão de toque".

  • Resumo do sexto comentário:

    Pergunta sobre responsabilidade legal ou período de carência quando um app novo ou uma startup faz sucesso muito mais rápido do que o esperado. Quando ainda não há certeza de que a ideia vai funcionar, acessibilidade pode não ser uma grande preocupação, e ele acredita que, fora da Califórnia, normalmente não haveria grandes problemas legais se recursos fossem alocados para corrigir questões de acessibilidade após um sucesso inesperado.

  • Resumo do sétimo comentário:

    Compartilha a experiência do pai do desenvolvedor, que passou a usar uma cadeira de rodas motorizada após um AVC. Isso o fez perceber a importância de estar em conformidade com a ADA e reforçou que, como desenvolvedores, eles podem ter um papel importante em tornar o mundo mais acessível. Ele pede que os desenvolvedores se esforcem para tornar seu trabalho acessível ao maior número possível de pessoas.

  • Resumo do oitavo comentário:

    Compartilha a experiência de um usuário que ativou as opções "Texto Maior" e "Zoom da Tela" no iPhone. Isso não diz respeito apenas a pessoas com deficiência, mas à flexibilidade e ao controle para que qualquer usuário adapte a interface ao seu próprio estilo de uso. Às vezes, a pessoa pode não querer olhar para a tela e preferir que ela seja lida em voz alta, ou querer que apenas partes específicas sejam lidas.

  • Resumo do nono comentário:

    Comunidades que precisam de acessibilidade geralmente tendem a pedir primeiro e processar depois. A ADA é uma lei forte, mas, quando há esforço, normalmente isso não se torna um problema. Por volta de 2000, ele escreveu um guia de acessibilidade sob supervisão de advogados e, depois disso, continuou trabalhando com usuários com deficiência visual para adicionar acessibilidade aos apps. Se alguém pedir ajuda, ajude; fazendo isso, você pode ganhar um forte apoiador do seu trabalho.

  • Resumo do décimo comentário:

    O app fez sucesso porque não perdeu tempo com coisas desnecessárias como acessibilidade (a11y) ou internacionalização (i18n). Historicamente, nenhum produto bem-sucedido focou em acessibilidade ou internacionalização desde o início. Agora que o app teve sucesso, é possível pensar em acessibilidade e investir recursos nisso.