Este módulo se concentra no uso de tecnologia assistiva (TA) para testes de acessibilidade. Uma pessoa com deficiência pode usar a TA para ajudar a aumentar, manter ou melhorar as capacidades de execução de uma tarefa.
No espaço digital, as TAs podem ser:
- Sem/com baixa tecnologia: bastões de cabeça/boca, lupas portáteis, dispositivos com botões grandes
- Alta tecnologia: dispositivos ativados por voz, dispositivos de rastreamento ocular, teclados/ratos adaptáveis
- Hardware: botões de interruptor, teclados ergonômicos, dispositivo em braille com atualização automática
- Software: programas de conversão de texto em voz, legendas instantâneas, leitores de tela
Incentivamos você a usar vários tipos de ATs em seu fluxo de trabalho geral de teste.
Noções básicas sobre testes de leitores de tela
Neste módulo, vamos nos concentrar em uma das TAs digitais mais conhecidas, os leitores de tela. Um leitor de tela é um software que lê o código subjacente de um site ou app e converte essa informação em voz ou saída em braille para o usuário.
Leitores de tela são essenciais para pessoas cegas e surdas, mas também podem beneficiar pessoas com baixa visão, distúrbios de leitura ou deficiências cognitivas.
Compatibilidade com navegadores
Há várias opções de leitores de tela disponíveis. Atualmente, os leitores de tela mais usados são o JAWS, o NVDA e o VoiceOver para computadores desktop e o VoiceOver e o TalkBack para dispositivos móveis.
Dependendo do seu sistema operacional (SO), navegador favorito e dispositivo que você usa, um leitor de tela pode se destacar como a melhor opção. A maioria dos leitores de tela é construída com hardwares e navegadores da Web específicos em mente. Ao usar um leitor de tela com um navegador para o qual ele não foi calibrado, é possível que você encontre mais "bugs" ou comportamentos inesperados. Os leitores de tela funcionam melhor quando usados nas combinações a seguir.
Comandos do leitor de tela
Depois de configurar corretamente o software do leitor de tela no computador ou dispositivo móvel, consulte a documentação do leitor de tela (link na tabela anterior) e execute alguns comandos essenciais do leitor de tela para se familiarizar com a tecnologia. Se você já usou um leitor de tela antes, experimente um novo!
Ao usar um leitor de tela para testes de acessibilidade, seu objetivo é detectar problemas no código que interfiram no uso do site ou aplicativo, não emular a experiência de um usuário de leitor de tela. Por isso, é possível fazer muito com alguns conhecimentos básicos, alguns comandos de leitor de tela e um pouco (ou muito) prática.
Se você precisa entender melhor a experiência do usuário das pessoas que usam leitores de tela e outras ATs, pode interagir com muitas organizações e indivíduos para obter essas informações valiosas. Lembre-se de que usar uma TA para testar o código com base em um conjunto de regras e perguntar aos usuários sobre a experiência deles geralmente gera resultados diferentes. Ambos são aspectos importantes para criar produtos totalmente inclusivos.
Comandos de teclas para leitores de tela para computadores
Comandos de teclas para leitores de tela em dispositivos móveis
Demonstração de teste do leitor de tela
Para testar nossa demonstração, usamos um Safari em um laptop com MacOS e capturamos o som. Você pode seguir essas etapas usando qualquer leitor de tela, mas a maneira como você encontra alguns erros pode ser diferente da descrita neste módulo.
Etapa 1
Acesse o CodePen atualizado, que tem todas as atualizações de acessibilidade automáticas e manuais aplicadas.
Confira-o no modo de depuração para continuar com os
próximos testes. Isso é importante, porque remove o <iframe>
ao redor da
página da Web de demonstração, o que pode interferir em algumas ferramentas de teste. Saiba mais sobre o
modo de depuração do CodePen.
Etapa 2
Ative o leitor de tela de sua escolha e acesse a página de demonstração. Você pode navegar por toda a página de cima para baixo antes de se concentrar em problemas específicos.
Registramos nosso leitor de tela para cada problema, antes e depois da aplicação das correções na demonstração. Recomendamos que você faça a demonstração com seu próprio leitor de tela.
Problema 1: estrutura do conteúdo
Títulos e pontos de referência são uma das principais formas de as pessoas navegarem usando leitores de tela. Se eles não estiverem presentes, o usuário de um leitor de tela terá que ler a página inteira para entender o contexto. Isso pode levar muito tempo e causar frustração. Se você tentar navegar por um dos elementos na demonstração, descobrirá rapidamente que eles não existem.
- Exemplo de ponto de referência:
<div class="main">...</div>
- Exemplo de título:
<p class="h1">Join the Club</p>
Se você atualizou tudo corretamente, não haverá nenhuma mudança visual, mas a experiência do leitor de tela melhorará drasticamente.
Alguns elementos inacessíveis não podem ser observados apenas olhando para o site. Talvez você se lembre da importância dos níveis de cabeçalho e do HTML semântico no módulo Estrutura de conteúdo. Um conteúdo pode parecer um cabeçalho, mas, na verdade, ele é envolvido por uma <div>
estilizada.
Para corrigir o problema com títulos e pontos de referência, é necessário primeiro identificar cada elemento que deve ser marcado dessa forma e atualizar o HTML relacionado. Atualize também o CSS relacionado.
Exemplo de ponto de referência: <main>...</main>
Exemplo de título: <h1>Join the Club</h1>
Se você atualizou tudo corretamente, não haverá nenhuma mudança visual, mas a experiência do leitor de tela melhorará drasticamente.
Problema 2: contexto do link
É importante oferecer conteúdo aos usuários de leitores de tela sobre a finalidade de um link e se o link os redireciona para um novo local fora do site ou app.
Na nossa demonstração, corrigimos a maioria dos links quando atualizamos o texto alternativo da imagem ativa, mas há alguns links adicionais sobre as várias doenças raras que poderiam se beneficiar de um contexto adicional, principalmente porque redirecionam para um novo local.
<a href="https://rarediseases.org/rare-diseases/maple-syrup-urine-disease">
Maple syrup urine disease (MSUD)
</a>
Para corrigir esse problema para usuários de leitores de tela, atualizamos o código para adicionar mais informações, sem afetar o elemento visual. Ou, para ajudar ainda mais pessoas, como as que têm transtornos cognitivos e de leitura, podemos adicionar mais texto visual.
Há muitos padrões diferentes que podemos considerar para adicionar mais informações sobre links. Com base no nosso ambiente simples que oferece suporte a apenas um idioma, um rótulo ARIA é uma opção simples nessa situação. O rótulo ARIA substitui o texto do link original, por isso inclua essas informações na atualização.
<a href="https://rarediseases.org/rare-diseases/maple-syrup-urine-disease"
aria-label="Learn more about Maple syrup urine disease on the Rare Diseases website.">
Maple syrup urine disease (MSUD)
</a>
Problema 3: imagem decorativa
No módulo de teste automatizado, o Lighthouse não conseguiu selecionar o SVG inline, que atua como a imagem de apresentação principal na nossa página de demonstração, mas o leitor de tela o encontra e o anuncia como "imagem" sem informações adicionais. Isso é verdade, mesmo sem adicionar explicitamente o atributo role="img"
ao SVG.
<div class="section-right">
<svg>...</svg>
</div>
Para corrigir esse problema, primeiro precisamos decidir se a imagem é informativa ou decorativa. Com base nessa decisão, precisamos adicionar o texto alternativo adequado (imagem informativa) ou ocultar a imagem dos usuários do leitor de tela (decorativa).
Analisamos os prós e os contras da melhor forma de categorizar a imagem e decidimos que ela era decorativa, o que significa que queremos adicionar ou modificar o código para ocultar a imagem. Um método rápido é adicionar um role="presentation"
diretamente à imagem SVG. Isso envia um sinal ao leitor de tela para pular essa imagem e não a listar no grupo de imagens.
<div class="section-right">
<svg role="presentation">...</svg>
</div>
Problema 4: decoração de marcador
O leitor de tela lê a imagem do marcador CSS nas seções de doenças raras. Embora não seja o tipo tradicional de imagem discutido no módulo "Imagens", a imagem ainda precisa ser modificada, porque interrompe o fluxo do conteúdo e pode distrair ou confundir um usuário de leitor de tela.
<p class="bullet">...</p>
Assim como no exemplo de imagem decorativa discutido anteriormente, é possível adicionar um role="presentation"
ao HTML com a classe de marcador para ocultá-lo do leitor de tela. Da mesma forma, um role="none"
funcionaria. Só não use aria-hidden: true
para ocultar todas as informações do parágrafo dos usuários do leitor de tela.
<p class="bullet" role="none">...</p>
Problema 5: campo "Formulário"
No módulo Formulários, aprendemos que todos os campos do formulário também precisam ter um rótulo visual e programático. Esse rótulo precisa ficar visível o tempo todo.
Na nossa demonstração, está faltando um marcador visual e programático no campo do e-mail de inscrição da newsletter. Há um elemento de marcador de posição de texto, mas ele não substitui o rótulo, já que não é visualmente persistente e não é totalmente compatível com todos os leitores de tela.
<form>
<div class="form-group">
<input type="email" placeholder="Enter your e-mail address" required>
<button type="submit">Subscribe</button>
</div>
</form>
Para corrigir esse problema, substitua o marcador de posição do texto por um elemento de rótulo parecido. Esse elemento de rótulo é conectado de maneira programática ao campo do formulário, e o movimento foi adicionado com JavaScript para manter o rótulo visível mesmo quando o conteúdo é adicionado ao campo.
<form>
<div class="form-group">
<input type="email" required id="youremail" name="youremail" type="text">
<label for="youremail">Enter your e-mail address</label>
<button type="submit" aria-label="Subscribe to our newsletter">Subscribe</button>
</div>
</form>
Resumo
Parabéns! Você concluiu todos os testes desta demonstração. É possível conferir todas essas mudanças no Codepen atualizado para esta demonstração.
Agora, você pode usar o que aprendeu para revisar a acessibilidade dos seus próprios sites e apps.
O objetivo de todos esses testes de acessibilidade é resolver o maior número possível de problemas que um usuário pode encontrar. No entanto, isso não significa que seu site ou app estará perfeitamente acessível quando você terminar. Você terá melhores resultados se projetar seu site ou app com acessibilidade durante todo o processo e incorporar esses testes a outros testes de pré-lançamento.
Teste seu conhecimento
Teste seus conhecimentos sobre testes de acessibilidade automatizados
Qual é o melhor leitor de tela para usar para testar a acessibilidade?
Qual é a finalidade dos testes com tecnologia assistiva?