Pontuação global
85,6/100
51.º de 308 câmaras
Pontuação por frente, comparada com as médias
Acessibilidade
Se qualquer pessoa consegue usar o site, incluindo quem vê mal, usa leitor de ecrã ou só teclado.
Zoom não bloqueado
O site deixa ampliar a página?
Quem vê mal amplia a página com dois dedos no telemóvel. Se o site o bloqueia, o texto fica pequeno demais para ser lido.
Regra: Nenhuma página da amostra impede a ampliação (meta viewport sem user-scalable=no nem maximum-scale abaixo de 2). (WCAG 2.1, 1.4.4 (AA))
Língua declarada
A página diz em que língua está escrita?
O que encontrámos
<html lang="pt-PT">
O leitor de ecrã escolhe a pronúncia pela língua declarada. Sem ela, um texto em português pode ser lido com sotaque inglês e tornar-se incompreensível.
Regra: Todas as páginas da amostra declaram uma língua válida no elemento html. (WCAG 2.1, 3.1.1 (A))
Imagens com texto alternativo
As imagens têm uma descrição em texto?
Quem não vê a imagem ouve a descrição. Sem ela, o leitor de ecrã lê o nome do ficheiro, ou nada.
Regra: Nenhuma imagem visível da amostra aparece sem atributo alt e sem outro nome acessível (title, aria-label, aria-labelledby). Imagens marcadas como decorativas não contam. (WCAG 2.1, 1.1.1 (A))
Campos de formulário com nome
Os campos dos formulários têm nome?
Um campo sem rótulo é anunciado apenas como «editar texto». Quem usa leitor de ecrã não sabe o que escrever lá.
Regra: Nenhum campo visível da amostra aparece sem rótulo (label, aria-label, aria-labelledby, title) nem placeholder. (WCAG 2.1, 1.3.1, 3.3.2 e 4.1.2 (A))
Contraste de texto
O texto tem contraste suficiente com o fundo?
Texto claro sobre fundo claro não se lê ao sol, num ecrã fraco, ou com a vista cansada. A norma pede 4,5:1 para texto normal.
Regra: Nenhum texto da amostra ficou abaixo de 4,5:1 (3:1 em letra grande) com a falha confirmada nos pixéis da captura. (WCAG 2.1, 1.4.3 (AA))
Declaração de Acessibilidade
A Declaração de Acessibilidade está ligada da página inicial?
O que encontrámos
https://www.sabrosa.pt/acessibilidade (declara-se plenamente conforme)
O DL 83/2018 obriga os organismos públicos a publicar e manter actualizada a Declaração, com o estado de conformidade do site. O art. 8.º, n.º 2 pede que fique numa página com o endereço terminado em «/acessibilidade», hiperligada à página de entrada e, sempre que possível, ao rodapé de todas as páginas.
Regra: A página inicial tem uma ligação para a Declaração (directa, ou a um salto de uma ligação de acessibilidade ou de informação legal da inicial), e a Declaração segue o modelo do DL 83/2018 (uma página do site ou um PDF). Endereço sem «/acessibilidade», PDF em vez de página ou falta de ligação no rodapé ficam como observação e não baixam a nota. (DL 83/2018, art. 7.º e art. 8.º, n.º 2)
Selo de Usabilidade e Acessibilidade
Tem o Selo de Usabilidade e Acessibilidade em vigor?
O que encontrámos
tem o Selo de Usabilidade e Acessibilidade, nível Ouro, atribuído em 5 de Setembro de 2026
Informativo: não entra na pontuação.
O Selo é atribuído pela ARTE e vale 12 meses. É informativo neste índice: não entra na pontuação.
Regra: Selo com data de atribuição pública há menos de 12 meses. Informativo: não entra na pontuação. (ARTE, selo.usabilidade.gov.pt)
RGPD
Se o site respeita a escolha do visitante antes de o seguir, e se explica o que faz com os dados.
Sem cookies de rastreio antes do consentimento
Grava cookies de rastreio antes de o visitante escolher?
Sem envio de medição antes do consentimento
Envia dados a serviços de medição antes do consentimento?
Carregou recursos de googletagmanager.com sem enviar medição: registado, não conta.
Cada envio de medição transmite o endereço e a página visitada a um terceiro. Sem consentimento, é um tratamento de dados sem base legal clara.
Regra: Numa sessão limpa, sem nenhum clique, o browser não enviou dados de medição ou eventos a serviços de analítica, publicidade ou redes sociais (endereços de recolha publicados). Carregar o script sem enviar medição não conta. (Lei 41/2004, art. 5.º; RGPD, art. 6.º)
Recusar ao mesmo nível de aceitar
Recusar é tão fácil como aceitar?
A prova
Botões no aviso: «Política de cookies», «Personalizar cookies», «Aceitar todos os cookies»
Se aceitar é um clique e recusar exige vários, o consentimento não é livre. O botão de recusa deve estar no primeiro nível, ao lado do de aceitar.
Como corrigir
- Acrescente um botão «Rejeitar» no primeiro ecrã do aviso, com o mesmo destaque do «Aceitar».
- Evite avisos do tipo «ao continuar a navegar aceita».
Regra: O aviso de cookies tem um botão de recusa no primeiro nível, ao lado do de aceitar. (Orientações do CEPD 05/2020 sobre consentimento)
Política de privacidade ligada da inicial
A página inicial liga para a política de privacidade?
O que encontrámos
«Proteção de Dados» → https://www.sabrosa.pt/avisos-legais
O munícipe tem direito a saber que dados são tratados, para quê e a quem se dirigir. A política tem de estar ao alcance.
Regra: A página inicial tem uma ligação para a política de privacidade ou de protecção de dados. (RGPD, art. 12.º e 13.º)
Segurança
Se a ligação é protegida e o site segue as defesas básicas que qualquer servidor público devia ter.
HTTPS
O site usa ligação cifrada (HTTPS)?
O que encontrámos
https://www.sabrosa.pt/
Sem HTTPS, o que o visitante envia e recebe pode ser lido ou alterado pelo caminho.
Regra: A página inicial serve-se em HTTPS com certificado aceite pelo Chrome. (RGPD, art. 32.º)
http redirecciona para https
Quem escreve http:// é enviado para https://?
A prova
http://www.sabrosa.pt/ → 200
Muitos visitantes chegam por ligações antigas em http. Se o servidor não os redirecciona, a primeira visita fica desprotegida.
Como corrigir
- No servidor, redireccione todos os pedidos http para https com um 301.
Regra: Um pedido a http:// é redireccionado para https://. (Boas práticas (CNCS))
HSTS
O site obriga o browser a usar sempre HTTPS (HSTS)?
O que encontrámos
valor: max-age=31536000; includeSubDomains; preload
O HSTS diz ao browser para nunca mais tentar a versão insegura, o que fecha a porta a ataques de intercepção.
Regra: A resposta da página inicial traz Strict-Transport-Security com max-age. (RFC 6797)
Recusa TLS 1.0 e 1.1
Recusa as versões antigas do TLS (1.0 e 1.1)?
O que encontrámos
TLS 1.0: recusado; TLS 1.1: recusado; negociado por omissão: TLSv1.3
O TLS 1.0 e 1.1 foram descontinuados em 2021 (RFC 8996) por terem fragilidades conhecidas.
Regra: O servidor recusa ligações em TLS 1.0 e 1.1 (versões descontinuadas). (RFC 8996)
Content-Security-Policy
Declara uma política de segurança de conteúdo (CSP)?
O que encontrámos
frame-ancestors 'self' ;
A CSP limita de onde podem vir scripts e recursos, e trava muitos ataques de injecção de código.
Regra: A página inicial declara uma política de segurança de conteúdo (cabeçalho ou meta). (W3C CSP)
Protecção contra enquadramento
Impede que o site seja embutido noutro site?
O que encontrámos
X-Frame-Options: SAMEORIGIN
Sem esta protecção, outra página pode mostrar o site da câmara dentro de uma moldura e enganar o visitante a clicar onde não quer.
Regra: X-Frame-Options (DENY ou SAMEORIGIN) ou frame-ancestors na CSP. (RFC 7034)
X-Content-Type-Options
Envia o cabeçalho X-Content-Type-Options?
O que encontrámos
valor: nosniff
Impede o browser de adivinhar o tipo de um ficheiro, o que evita que um carregamento inocente seja executado como código.
Regra: Cabeçalho X-Content-Type-Options: nosniff. (Fetch Standard)
Referrer-Policy
Controla o que é enviado a outros sites ao sair (Referrer-Policy)?
O que encontrámos
valor: strict-origin-when-cross-origin
Sem política, o endereço completo da página (com parâmetros de pesquisa ou formulário) pode seguir para sites externos.
Regra: Cabeçalho Referrer-Policy presente (e não unsafe-url). (W3C Referrer Policy)
Sem conteúdo misto
Carrega tudo por HTTPS, sem conteúdo misto?
Um script ou imagem pedido por http numa página https abre uma brecha na protecção e pode ser bloqueado pelo browser.
Regra: Nenhuma página da amostra pede recursos (imagens, scripts, estilos, iframes) nem envia formulários por http://. (W3C Mixed Content)
Não expõe versões de software
Esconde as versões do software que usa?
Mostrar a versão exacta do CMS, de plugins ou do servidor ajuda um atacante a escolher a vulnerabilidade certa.
Regra: Nem o meta generator, nem os cabeçalhos Server/X-Powered-By, nem o readme.html do WordPress mostram números de versão. (OWASP WSTG-INFO-02)
Sem bibliotecas JS vulneráveis
As bibliotecas JavaScript estão actualizadas?
A prova
jquery-ui 1.12.1 (CVE-2021-41182, CVE-2021-41183, CVE-2021-41184, CVE-2022-31160; corrigido em 1.13.2)
Versões antigas de bibliotecas como o jQuery têm vulnerabilidades públicas (CVE) com correcção disponível há anos.
Como corrigir
- Actualize a biblioteca para a versão corrigida indicada na prova.
- Se um plugin antigo a obriga a ficar, substitua o plugin.
Regra: Nenhuma biblioteca JavaScript carregada na amostra está numa versão com vulnerabilidade pública (CVE) da nossa lista. (Lista publicada no README)
A amostra e as provas
O que abrimos, e quando
Medido a 25 de Setembro de 2026, num Chrome actual, numa sessão limpa e sem cliques. Estas foram as páginas da amostra:
- Inicialwww.sabrosa.pt/
- Menu 1www.sabrosa.pt/autarquia
- Menu 2www.sabrosa.pt/viver
- Menu 3www.sabrosa.pt/descobrir-sabrosa
- Menu 4www.sabrosa.pt/balcao-virtual
Para a câmara
Análise gratuita: o que falta para subir na tabela
Nesta edição, Sabrosa cumpre 18 dos 21 critérios medidos. A DEMARCA analisa os 3 que ficaram por cumprir e indica o que corrigir primeiro, sem compromisso.