Módulo 8: Web para Todos (Acessibilidade)

2. Resumo da Aula Anterior

No último módulo, descobriste como a Semântica dá significado ao teu site. Hoje vamos usar esse significado para tornar o teu site inclusivo: acessível a pessoas com deficiência e muito mais fácil de usar para todos. Um site que não é acessível é um site que exclui utilizadores.

3. O Que Vais Aprender Hoje

Acessibilidade (muitas vezes abreviada como a11y) não é uma funcionalidade "extra", é a base da web:

4. Teoria: Construir Sem Barreiras

O que é o POUR?

As diretrizes internacionais de acessibilidade baseiam-se em quatro pilares:

  • Percebível: O utilizador tem de conseguir ver ou ouvir a informação.
  • Operável: O utilizador tem de conseguir clicar, escrever ou navegar.
  • Untensível: O conteúdo tem de ser claro e previsível.
  • Robusto: O site tem de funcionar em vários navegadores e tecnologias de assistência.

O Texto Alternativo (alt) é a Voz da Imagem

Para um cego, uma imagem sem alt é um silêncio confuso. Regra de Ouro: Se a imagem transmite informação (ex: um gráfico), o alt deve descrever essa informação. Se a imagem é apenas decorativa, usa alt="" para o leitor de ecrã a ignorar.

🦯 Analogia: O GPS na Escuridão

Imagina que estás a caminhar num edifício completamente às escuras:

  • Links e Botões: São as maçanetas das portas. Tens de conseguir senti-las.
  • Ordem de Foco (TAB): É o fio de ariane que te guia pelo caminho certo. Se o fio saltar do início para o fim de repente, ficas perdido.
  • ARIA-Label: É uma etiqueta em braille na maçaneta que diz "Porta da Saída" em vez de ser apenas um metal frio.

ARIA: O Último Recurso

Existe uma regra famosa no mundo da a11y: "Se podes usar uma tag HTML nativa (como <button>), NÃO uses ARIA". Usa ARIA apenas se estiveres a criar algo tão complexo que o HTML básico não consiga explicar.

5. Exemplos de Código

Exemplo 1: Descrições de Imagens Inteligentes

<!-- Informativa -->
<img src="grafico-vendas.png" alt="Gráfico de barras mostrando aumento de 20% nas vendas de Verão">

<!-- Decorativa -->
<img src="linha-azul.png" alt="">

Exemplo 2: Botões de Ícones (aria-label)

<button aria-label="Fechar Janela">
  <span aria-hidden="true">×</span>
  <!-- O span é escondido para o leitor não ler "XIS" -->
</button>

6. Agora é a Tua Vez! (Auditoria de Acessibilidade)

Vamos testar se o teu site é amigável para todos. Segue estes passos:

  1. O Teste do Teclado: Abre o teu index.html no browser. Larga o rato. Tenta chegar a todos os links e botões usando apenas a tecla TAB. Consegues ver em que botão estás (o contorno azul)?
  2. Links Vazios: Procura no teu código links que sejam apenas ícones (ex: redes sociais). Adiciona-lhes um aria-label descritivo.
  3. Contraste: Olha para os teus textos. Estão escritos em cinzento claro sobre fundo branco? Tenta usar cores com mais contraste para quem tem visão reduzida.
  4. Ocultação Corajosa: Se tens ícones decorativos (como estrelas ou setas), adiciona-lhes aria-hidden="true" para não "sujar" a leitura de quem usa áudio.

7. Verificação de Conhecimento

Um bom programador faz sites que funcionam. Um excelente programador faz sites que todos podem usar.

Carregando quiz...

8. Resumo do Que Aprendemos

9. Desafios Práticos

Desafio 1: Skip Links

Pesquisa o que é um "Skip Link" e porque é que é a primeira coisa que um utilizador de teclado quer encontrar num site com muitos menus.

Solução: É um link escondido que só aparece no foco do teclado, permitindo ao utilizador "saltar" os menus e ir direto para o <main>.

Desafio 2: O Formulário Mudo

Se tiveres um campo de texto apenas com um placeholder e sem label, o que ouve um cego ao chegar ao campo?

Solução: Na maioria das vezes, ouve apenas "Campo de edição". Ele não sabe se deve escrever o nome, a morada ou a senha! O label é vital.

Desafio 3: Título de Página

Porque é que o <title> é considerado o elemento de acessibilidade mais importante de uma página?

Solução: Porque é a primeira coisa que um leitor de ecrã anuncia mal a página carrega. Diz ao utilizador ONDE ele está antes de ele começar a navegar.

« Aula Anterior Próxima Aula »