Acessibilidade e multimodalidade

Princípios WCAG, contraste calculado, teclado, estrutura e combinação de canais.

TLDR

Perguntar sobre esta página

ChatGPTClaudePerplexityGrokGeminiCopiar e abrirDeepSeekCopiar e abrir

Uma tarefa pode ser rápida com rato e impossível com teclado. Uma pessoa tenta concluir a reserva só com teclado e fica presa no seletor de horário. A acessibilidade procura remover barreiras para pessoas com diferentes capacidades e tecnologias de apoio, como leitores de ecrã ou teclados adaptados, considerando também condições temporárias e contextuais.

Quatro princípios

As WCAG organizam requisitos em conteúdo percetível, interface operável, informação e interação compreensíveis, e conteúdo robusto para diferentes agentes e tecnologias de apoio. Cada princípio responde a uma barreira observável: texto sem contraste suficiente não é percetível; função só com rato não é operável; erro sem explicação não é compreensível; marcação sem semântica não é robusta.

Os níveis A, AA e AAA agrupam critérios; cumprir alguns critérios AA não demonstra conformidade AA de toda a página. Um verificador automático encontra parte das falhas, mas não determina sozinho se a ordem de leitura é útil, se o texto alternativo comunica a figura ou se uma tarefa completa funciona com leitor de ecrã; temos de verificar manualmente a sequência inteira.

Contraste

Para texto, o critério AA de contraste exige normalmente 4,5:1, ou 3:1 para texto grande, e “grande” tem uma definição no critério: pelo menos 18 pt, ou 14 pt em negrito (aproximadamente 24 e 18,67 CSS px), não apenas o que nos parece grande. Há exceções, como logótipos e texto incidental.

O rácio usa luminâncias relativas, não os valores RGB diretamente:

C=Lmax⁡+0,05Lmin⁡+0,05.C=\frac{L_{\max}+0{,}05}{L_{\min}+0{,}05}.

Para obter a luminância de uma cor sRGB:

  1. Divide cada canal R, G e B por 255 para obter cc entre 0 e 1.
  2. Converte cada canal para luz linear. Se c≤0,04045c\leq0{,}04045, usa c/12,92c/12{,}92. Nos restantes casos, usa ((c+0,055)/1,055)2,4((c+0{,}055)/1{,}055)^{2{,}4}.
  3. Combina os canais lineares: L=0,2126R+0,7152G+0,0722BL=0{,}2126R+0{,}7152G+0{,}0722B.
  4. Coloca a luminância maior no numerador e a menor no denominador da fórmula de contraste.

Para #777777, os três canais são 119/255≈0,4667119/255\approx0{,}4667; como são iguais, a soma ponderada dá a mesma luminância linear, cerca de 0,18450{,}1845. O branco tem L=1L=1, logo C=1,05/(0,1845+0,05)≈4,4781C=1{,}05/(0{,}1845+0{,}05)\approx4{,}4781.

Sobre branco, #777777 dá cerca de 4,4781:1 e falha o limiar de texto normal, enquanto #767676 dá cerca de 4,5422:1 e passa. Não arredondamos um valor inferior a 4,5 para o declarar conforme; aumentar apenas o peso do texto não altera as luminâncias nem o rácio, só muda o limiar se cumprir a definição de texto grande.

Operação e estrutura

A funcionalidade deve poder ser realizada através de teclado. A exceção prevista nas WCAG cobre funções que dependem do percurso do movimento, como desenhar à mão livre. Oferecer um botão que só funciona com rato não satisfaz o requisito.

O percurso de teclado precisa de evitar bloqueios e mostrar o foco, com uma ordem que preserve significado e operação.

Percorre a reserva só com teclado: entra no seletor de sala com Tab, escolhe com setas, avança para rever, volta para corrigir e confirma; em cada paragem, o foco está visível e nenhum diálogo tapa o controlo focado. Num diálogo modal, o foco entra, permanece no diálogo enquanto este está aberto e regressa ao controlo relevante quando fecha. Um diálogo modal impede a interação com o conteúdo que ficou por trás; uma janela não modal não exige o mesmo confinamento.

Usa elementos com semântica adequada: um botão para uma ação, um link para navegação, etiquetas associadas aos campos e títulos que organizam secções; um placeholder não substitui uma etiqueta persistente. Uma imagem decorativa tem texto alternativo vazio; uma figura informativa precisa de descrição adequada, e um gráfico pode precisar dos dados ou de uma explicação adicional.

<label for="email">Email da faculdade</label>
<input id="email" type="email" aria-describedby="ajuda-email" />
<p id="ajuda-email">
  Usa o endereço que escolheste para receber a confirmação.
</p>
<button type="submit">Enviar confirmação</button>

O for liga a etiqueta ao campo, e o leitor de ecrã anuncia o nome ao entrar, enquanto o aria-describedby acrescenta a instrução sem a misturar com o nome. Sem a etiqueta associada, não podemos confiar que o campo tenha um nome adequado. O nome pode vir de outro mecanismo, como aria-label, pelo que é necessário inspecionar a associação efetiva.

Não podemos deduzir que um botão com texto “OK” não tem nome acessível: tem esse texto como nome, mas o significado pode ser demasiado vago; distingue uma falha técnica de associação de uma falha de clareza.

Novos critérios e testes de tarefa

Nas WCAG 2.2, o critério AA de tamanho mínimo de alvo prevê 24 por 24 CSS px, mas aceita condições alternativas e exceções, incluindo espaçamento, controlos equivalentes e elementos em linha. Não é uma regra sem exceções de que todos os links têm de medir 24 px. Na prática, reserva espaço à volta de alvos pequenos para não ativar o vizinho por engano.

O critério de foco não oculto exige que o componente focado não fique totalmente escondido por conteúdo criado pelo autor; aumentar alvos pode facilitar a interação, mas o tamanho adequado depende da tarefa e não dispensa espaçamento e alternativas.

Para uma reserva, testa encontrar a sala, selecionar horário, reconhecer erro e concluir com teclado e tecnologia de apoio apropriada: mede contraste, verifica nomes e estados, e observa a sequência inteira. Uma lista de critérios isolados não prova que o objetivo é alcançável.

Modalidades e dispositivos

Uma modalidade é um canal ou forma de comunicação, como visual, auditiva, tátil, fala ou gesto, enquanto um dispositivo é o meio técnico, como microfone, ecrã ou teclado. Multimodalidade pode combinar entrada e saída; não significa apenas ter dois dispositivos ligados.

Voz e toque podem ser alternativas para a mesma ação, quando a pessoa escolhe um canal; redundantes, quando confirmam o mesmo significado por dois canais; ou complementares, como dizer “reservar esta” enquanto se aponta a sala.

Combinar canais exige resolver sincronização, ambiguidades e contradições. Se a fala diz B101 e o toque seleciona B102, não executamos silenciosamente uma decisão; suspendemos o compromisso, mostramos as duas interpretações e pedimos confirmação.

Voz pode ajudar com mãos ocupadas, mas falha com ruído e revela informação em público, enquanto o toque exige alcançar o alvo; por isso um sistema multimodal acessível oferece alternativas adequadas e não obriga uma pessoa a falar e apontar ao mesmo tempo para uma operação essencial.

Exercícios

Contraste e tipo de texto

Duas cores têm luminâncias relativas 0,75 e 0,15. São usadas num parágrafo de 16 CSS px e num título de 24 CSS px com peso normal. Não há exceções aplicáveis.

Calcula o rácio e decide se cada uso satisfaz o critério AA de contraste mínimo. Isso demonstra conformidade AA da página inteira?

Solução

O rácio é 0,80/0,20=4:10{,}80/0{,}20=4:1. O parágrafo de 16 CSS px é texto normal e falha 4,5:1. O título de 24 CSS px corresponde a 18 pt, satisfaz a definição de texto grande e passa 3:1. Não mudámos as cores: mudou o limiar aplicável.

Isto só verifica o contraste destes usos. Operação por teclado, nomes, estados e os restantes critérios continuam a precisar de verificação.

Confere a tua resposta:

  • Calcula (0,75+0,05)/(0,15+0,05)=4:1.
  • Rejeita o parágrafo e reconhece que o título satisfaz o limiar de texto grande.
  • Distingue contraste destes textos de conformidade da página.
Voltar à explicação
Voz e toque discordam

A pessoa diz Reservar B101 enquanto toca B102. O sistema combina voz e toque. Propõe um comportamento e explica por que mais canais não garantem uma interação melhor.

Pista

A complementaridade exige saber como combinar as mensagens.

Solução

Suspende o compromisso, mostra as duas interpretações e pede confirmação através de um percurso adequado. Mais canais podem introduzir ambiguidades e exigências simultâneas. Oferece alternativa para quem não usa voz ou toque.

Confere a tua resposta:

  • Identifica conflito entre canais.
  • Propõe resolução explícita, como confirmar a escolha sem executar silenciosamente.
  • Considera ruído/reconhecimento e alternativa acessível.

Erros frequentes

Não escolher automaticamente o último canal sem uma regra comunicada e adequada.

Voltar à explicação
Um valor quase conforme

Um parágrafo de 16 CSS px tem contraste calculado de 4,499:1. As cores são as mesmas em todos os estados, e não há uma exceção aplicável. O que podemos concluir sobre o critério AA de contraste mínimo?

A tua resposta

Pista

Compara o valor não arredondado com o limiar de texto normal.

Solução

4,499 é inferior a 4,5, logo este texto falha o critério. Escolhe cores com rácio suficiente e verifica novamente. Mesmo um contraste correto não demonstra conformidade AA de toda a página.

  • Falha o critério de contraste para este texto.. O limiar é 4,5:1 e o valor calculado está abaixo. Não se arredonda para declarar conformidade.
  • Passa porque arredondado a uma casa decimal dá 4,5.. O arredondamento pode ocultar uma falha no limiar.
  • Passa porque pôr a mesma letra em negrito muda o rácio.. O peso não altera as luminâncias. Texto de 16 CSS px continua abaixo da definição de texto grande, mesmo em negrito.

Erros frequentes

Não confundir valor mostrado com valor usado na decisão. Cumprir um critério não prova que a tarefa é acessível.

Voltar à explicação
Reservar sem rato

Percorre a reserva de sala só com teclado. O seletor de horário só abre com rato e o diálogo de confirmação tapa o botão focado. O que falha e como corriges?

Pista

Consegues concluir cada etapa sem rato?

Solução

Falha operação por teclado e foco não oculto: o seletor exclui quem não usa rato e o diálogo esconde o ponto de interação. Torna o seletor operável por teclado com foco visível e ordem com significado; no diálogo modal, confina o foco e devolve-o ao controlo relevante ao fechar. Testa a sequência inteira com teclado e tecnologia de apoio.

Confere a tua resposta:

  • Verifica entrada, escolha, revisão, correção e confirmação só com teclado.
  • Confirma foco visível, sem bloqueios e sem diálogo a tapar o foco.
  • Propõe correções de teclado e gestão de foco e testa a sequência inteira.

Erros frequentes

Não declarar acessibilidade por contraste correto. Contraste não prova operação.

Voltar à explicação

À tua maneira

Aparência

Modo de cor
Tema
Cor de destaque

Leitura

Fonte de leitura

Álgebra, lógica e uma ideia de cada vez.

Código

Fonte do código

Navegação

Cursor de leitura, sem edição. h, j, k, l movem; / pesquisa nesta página. v seleciona caracteres; V seleciona linhas; y copia. Tab permite destacar ou comentar. Espaço ou Enter abre blocos recolhíveis. Nos cartões, h, j, k, l mudam o foco.

CSS personalizado

Ativa uma sugestão ou guarda o teu CSS. Só muda este navegador.

Usa --page, --text e --accent para acompanhar o tema.

Seletores e recuperação

.site-header, .prose, .course-card, [data-reading-history], [data-playground] e .page-actions.

Abre a aparência com a tecla vírgula ou no rodapé. Se o CSS esconder os controlos, abre esta página sem CSS personalizado.

Pesquisar

Escreve para pesquisar em todo o site.

para escolher · Enter para abrir · Esc para fechar

Copiar fórmula

A cópia automática não está disponível. Copia o LaTeX abaixo.

Pesquisar nesta página

Enter procura · n / N repetem · Esc cancela. Ctrl / Cmd K pesquisa todo o site.

Atalhos de teclado

Clica numa tecla para a mudar. Esc cancela. Backspace desativa.

PesquisarCtrl / Cmd K

Os atalhos não interferem enquanto escreves. Tab e Enter funcionam sempre.