accessibility
Pontuação de acessibilidade Lighthouse
O MetricSpot corre o Google Lighthouse e reporta a pontuação de acessibilidade (0–100). Abaixo de 90 significa que as verificações automáticas de contraste, ARIA, teclado e labels estão a falhar.
O que esta verificação faz
Corre a auditoria de acessibilidade do Lighthouse (um subconjunto curado de regras axe-core) contra a página e reporta a pontuação ponderada. O MetricSpot falha a verificação abaixo de 90.
Porque é importante
A pontuação é um sinal grosseiro, mas honesto. O Lighthouse só apanha problemas que um parser estático consegue verificar — cerca de um terço do WCAG. Qualquer coisa que assinale é quase de certeza real, não um falso positivo.
- Utilizadores reais ficam excluídos. Cerca de 1 em cada 5 visitantes usa tecnologia assistiva nalgum momento: leitores de ecrã, navegação só com teclado, modos de alto contraste, controlo por voz. Uma página com pontuação 60 de acessibilidade será inutilizável para a maioria.
- Exposição legal. Na UE, o European Accessibility Act aplica-se a sites comerciais públicos desde junho de 2025. Nos EUA, o DOJ afirmou explicitamente que o ADA Título III cobre websites. Sites com pontuação reprovada são alvo frequente de processos abusivos.
- SEO e IA. Os sinais de page-experience do Google incluem métricas adjacentes a acessibilidade. Os crawlers de IA fazem o parse com a mesma árvore DOM que os leitores de ecrã usam — semântica partida prejudica a extração.
Como corrigir
Abre o Lighthouse (Chrome DevTools → separador Lighthouse → Accessibility) e corre-o contra o URL falhado. O relatório lista cada auditoria falhada agrupada por severidade, com os nós DOM ofensivos destacados.
Foca-te primeiro nos itens com mais peso — o Lighthouse pondera as auditorias por impacto, não por contagem:
- Contraste de cor (
color-contrast) — texto ≥ 4.5:1, texto grande ≥ 3:1. Usa uma ferramenta como o Stark ou o indicador de contraste do DevTools. - Texto alternativo de imagens (
image-alt) — cada<img>precisa de um atributoalt, ainda que vazio para imagens decorativas. Vê Texto alternativo de imagens. - Etiquetas de formulários (
label) — cada input precisa de um<label for="…">explícito. Vê Etiquetas de formulário. - Idioma do documento (
html-has-lang) —<html lang="pt">na raiz. Vê Declarar idioma da página. - Texto das ligações (
link-name) — sem “clica aqui”, sem<a>vazios. Vê Texto descritivo de links.
Corre o axe-core em CI para apanhar regressões:
bun add -d @axe-core/playwright
import { test, expect } from "@playwright/test";
import AxeBuilder from "@axe-core/playwright";
test("home page is accessible", async ({ page }) => {
await page.goto("/");
const results = await new AxeBuilder({ page }).analyze();
expect(results.violations).toEqual([]);
});
Verificações manuais que o Lighthouse não consegue. Anda com o Tab pela página de cima a baixo — a ordem do foco é lógica? O contorno de foco é visível? Liga o VoiceOver (Cmd+F5 no macOS) ou o NVDA (Windows) e lê uma página de ponta a ponta. Lighthouse 100 é o chão, não o teto.
Perguntas frequentes
Porque é que a minha pontuação foi tão diferente numa nova execução?
O Lighthouse corre num Chrome headless com CPU limitada. Ruído de rede, scripts de anúncios e o timing do banner de consentimento podem mexer 5–10 pontos na pontuação. Corre três vezes e tira a mediana; trata a tendência, não o valor pontual, como a verdade.
O Lighthouse está em 100 — já está?
Não. O Lighthouse audita cerca de 30% do WCAG. Os outros 70% (ordem lógica de leitura, fluxo de recuperação de erros, gestão de foco, significado de conteúdo transmitido só por cor) requerem revisão manual. Uma pontuação 100 significa que a linha de base automática está limpa; entrega a revisão manual por cima.
De onde vem a pontuação na auditoria?
O MetricSpot chama o motor Lighthouse durante a auditoria e guarda a pontuação. Se a execução falhar (a página está atrás de login, bloqueia browsers headless ou faz timeout) verás um achado separado de Acessibilidade Lighthouse indisponível.
Fontes
Última atualização 2026-05-11