Metodologia
O Índice de Maturidade Digital (IMD) avalia cada portal em cinco dimensões, cada uma com uma nota de 0 a 5. O índice é a média ponderada das cinco notas, multiplicada por 20 (escala de 0 a 100).
| Dimensão | O que mede | Peso |
|---|---|---|
| D1 · Disponibilidade e desempenho | Uptime dos pulsos de 15 em 15 minutos e desempenho medido pelo Lighthouse (média das duas notas). | 20 % |
| D2 · Dispositivos móveis | Adaptação a ecrãs pequenos: viewport, texto legível, alvos de toque e ausência de deslocação horizontal. | 20 % |
| D3 · Usabilidade | Facilidade de encontrar as tarefas-chave, links a funcionar e acessibilidade (nota validada por um avaliador). | 20 % |
| D4 · Informação | Actualização, informação essencial, idiomas esperados e textos alternativos (nota validada por um avaliador). | 20 % |
| D5 · Baixa conectividade | Peso da página e tempo de carregamento num perfil de rede 3G simulado. | 20 % |
Versão dos pesos: 1 · versão da rubrica: 1.
Como se chega ao índice oficial
- Os portais são medidos continuamente: um pulso de disponibilidade a cada 15 minutos e uma avaliação completa por dia.
- No fecho de cada ronda, as dimensões automáticas (D1, D2, D5) usam a mediana das notas das avaliações da ronda; avaliações falhadas não contam.
- A usabilidade (D3) e a informação (D4) combinam medições automáticas com uma proposta de um modelo de IA; a nota final é sempre validada por um avaliador.
- Uma dimensão que não pode ser avaliada fica de fora e os pesos das restantes são renormalizados (o índice é marcado como incompleto).
- Só são publicados índices de rondas fechadas, que ficam congelados.
- Origem das medições: VPS. A dimensão D5 simula uma ligação 3G com os perfis abaixo; a performance usa o perfil de desktop do Lighthouse.
Rubrica em vigor
# Rubricas de pontuação 0–5 (spec §4.2). Qualquer alteração: subir `versao` e fazer commit revisto.
versao: 1
disponibilidade:
janela_dias: 7
min_pulsos: 96 # 24 h de pulsos a cada 15 min
tecto_sem_ssl: 2 # sem HTTPS ou certificado inválido
patamares: # uptime % >= minimo -> nota; abaixo do último: >0 -> 1, 0 -> 0
- {minimo: 99.5, nota: 5}
- {minimo: 99.0, nota: 4}
- {minimo: 97.0, nota: 3}
- {minimo: 90.0, nota: 2}
performance:
corridas: 3
patamares: # score Lighthouse (mediana) >= minimo -> nota
- {minimo: 90, nota: 5}
- {minimo: 75, nota: 4}
- {minimo: 50, nota: 3}
- {minimo: 25, nota: 2}
responsividade:
font_minimo_px: 12
alvo_minimo_px: 24 # WCAG 2.2, critério 2.5.8
frac_minima: 0.9
internet_lenta:
perfil_pontuado: 3g_lento
perfil_informativo: 2g
niveis: # 1 MB = 1 000 000 bytes; avaliados de cima para baixo
- {nota: 5, peso_max_bytes: 1000000, lcp_max_ms: 5000}
- {nota: 4, peso_max_bytes: 2000000, lcp_max_ms: 10000}
- {nota: 3, peso_max_bytes: 3000000, lcp_max_ms: 20000}
- {nota: 2, peso_max_bytes: null, lcp_max_ms: 30000}
- {nota: 1, peso_max_bytes: null, lcp_max_ms: 60000}
usabilidade:
max_frac_links_partidos: 0.05
min_score_acessibilidade: 80
amostra_links: 50
crawl_max_paginas: 60
crawl_profundidade: 3
conteudo:
max_dias_actualizacao: 90
min_info_essencial: 2
frac_minima_alt: 0.9
Perfis de rede simulados
# Perfis de rede simulados no Lighthouse (throttling "simulate").
3g_lento: {rtt_ms: 400, throughput_kbps: 400, cpu_slowdown: 4}
2g: {rtt_ms: 800, throughput_kbps: 250, cpu_slowdown: 4}