Ficha da câmara · Edição de Setembro de 2026
Porto de Mós
www.municipio-portodemos.pt Medido a 25 de Setembro de 2026
Pontuação global
82,8/100
75.º 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?
A prova
<meta name="viewport" content="initial-scale=1, width=device-width, maximum-scale=1, minimum-scale=1, user-scalable=yes"> (em https://www.municipio-portodemos.pt/)
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.
Como corrigir
- Na etiqueta <meta name="viewport"> do tema, retire user-scalable=no e maximum-scale=1.
- Deixe apenas: width=device-width, initial-scale=1.
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" style="height: 100%;">
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?
A prova
«Início» 2,43:1 (exige 4,5:1), rgb(166,166,166) sobre rgb(255,255,255), em https://www.municipio-portodemos.pt/pages/844; «Início» 2,43:1 (exige 4,5:1), rgb(166,166,166) sobre rgb(255,255,255), em https://www.municipio-portodemos.pt/pages/905; «Início» 2,43:1 (exige 4,5:1), rgb(166,166,166) sobre rgb(255,255,255), em https://www.municipio-portodemos.pt/pages/1195
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.
Como corrigir
- Escureça a cor do texto (ou clareie o fundo) até chegar a 4,5:1; em letra grande basta 3:1.
- Confirme com um verificador de contraste antes de publicar a nova cor.
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.municipio-portodemos.pt/pages/92/ (declara-se plenamente conforme)
Observações, que não baixam a nota: o endereço não termina em «/acessibilidade». O art. 8.º, n.º 2 do DL 83/2018 pede que a Declaração seja publicada numa página cujo endereço termina em «/acessibilidade» e que esteja hiperligada à página de entrada e, sempre que possível, ao rodapé de todas as páginas.
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?
A prova
sem registo datado de atribuição
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.
Como corrigir
- Candidatar-se em selo.usabilidade.gov.pt, depois de corrigidas as falhas automáticas e manuais.
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, addthis.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?
O que encontrámos
Botões no aviso: «Política de cookies», «Personalizar cookies», «Aceitar todos os cookies», «Desativar cookies não essenciais»
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.
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
«Política de Privacidade e Segurança» → https://www.municipio-portodemos.pt/pages/364
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.municipio-portodemos.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://?
O que encontrámos
http://www.municipio-portodemos.pt/ → 301 https://www.municipio-portodemos.pt/
Muitos visitantes chegam por ligações antigas em http. Se o servidor não os redirecciona, a primeira visita fica desprotegida.
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)?
A prova
TLS 1.0: aceite; TLS 1.1: aceite; negociado por omissão: TLSv1.2
O TLS 1.0 e 1.1 foram descontinuados em 2021 (RFC 8996) por terem fragilidades conhecidas.
Como corrigir
- Na configuração do servidor, active apenas TLS 1.2 e 1.3.
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?
A prova
Server: nginx/1.12.2
Mostrar a versão exacta do CMS, de plugins ou do servidor ajuda um atacante a escolher a vulnerabilidade certa.
Como corrigir
- Remova o meta generator do tema e dos plugins.
- No servidor, desligue a versão nos cabeçalhos Server e X-Powered-By.
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?
O que encontrámos
Detectadas: jquery 3.7.1, handlebars 4.7.7
Versões antigas de bibliotecas como o jQuery têm vulnerabilidades públicas (CVE) com correcção disponível há anos.
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:
Para a câmara
Análise gratuita: o que falta para subir na tabela
Nesta edição, Porto de Mós cumpre 17 dos 21 critérios medidos. A DEMARCA analisa os 4 que ficaram por cumprir e indica o que corrigir primeiro, sem compromisso.


