Relatório Avaliação de Candidatura
Agenda Municipal de Câmara de Lobos

Introdução

O website https://agenda.cm-camaradelobos.pt/ etiqueta: não passa nos requisitos mínimos do Selo de Usabilidade e Acessibilidade.

Estado das avaliações efetuadas
Tipo de avaliaçãoEstado
Avaliação Automáticaetiqueta: NOK
Avaliação Manualetiqueta: NOK

Das avaliações manuais efetuadas obtiveram-se os resultados que se sintetizam na tabela seguinte.

Níveis de conformidade das avaliações manuais
ChecklistConformidade alcançadaResultado
10 aspetos12.5% (3/24)etiqueta: Não passa
Conteúdo29.4% (5/17)etiqueta: Não passa
Transação11.1% (1/9)etiqueta: Não passa

Nota: para passar os requisitos do Selo é necessário alcançar um nível de conformidade superior ou igual a 75% em cada uma das 3 checklists.

Avaliação automática

etiqueta: NOK

Para a produção das evidências do presente capítulo, foram utilizadas ferramentas automatizadas de avaliação de requisitos de acessibilidade de acordo com a norma WCAG 2.1 'AA'. A amostra em análise pelas ferramentas é composta pela Homepage mais todas as páginas diretamente hiperligadas por ela, pertencentes ao domínio.

Lista de evidências recolhidas:

Avaliação manual

etiqueta: NOK

A avaliação manual é feita por inspeção perícial dos diversos requisitos constantes da:

Sempre que os auditores localizam uma falha grave de um requisito de acessibilidade que, embora não faça parte do esquema de requisitos do Selo, se enquadre no âmbito das violações das WCAG 2.1 'AA' do W3C, tal referência é anotada em "Outras violações" do presente capítulo. Apesar destas violações não se apresentarem com carácter vinculativo no esquema de requisitos do Selo, recomenda-se que as mesmas sejam corrigidas.

Checklist 10 aspetos

etiqueta: NOK

Nível de conformidade:

  • Checklist 10 aspetos: 12.5% (3/24)
    • Requisitos avaliados: 27 (3 N/A excluídos, 24 aplicáveis)
    • Requisitos OK: 3
    • Requisitos NOK: 21
    • Requisitos N/A: 3

Requisito 1.1 - O menu de navegação deve estar estruturado como uma lista de opções

etiqueta: NOK

Lista de evidências recolhidas:

  • evidência: issue #47 R 1.1 - 10 Aspetos Web (Menu, lista de opções)

    etiqueta: NOKetiqueta: chk 10 webetiqueta: R 1.1

    Evidências

    As opções do rodapé não estão estruturadas como uma lista
    No rodapé as opções estão sendo agrupadas por div genéricas:


    URL

    Recomendações

    • Devem estruturar as opções dentro de uma lista não ordenada ul li.

Requisito 1.2 - É possível selecionar as opções e as subopções do menu quer com rato quer com teclado

etiqueta: NOK

Lista de evidências recolhidas:

  • evidência: issue #66 R 1.2 - 10 Aspetos Web (Menu, navegação rato e teclado)

    etiqueta: NOKetiqueta: chk 10 webetiqueta: R 1.2

    Evidências

    O menu principal está construído de forma inapropriada
    Quando se navega com o leitor de ecrã no menu mobile, as opções são anunciadas como se estivessem dentro de um painel de tabulação. Isto ocorre porque as opções estão estruturadas como um componente de tab.

    Existem problemas nessa construção, os elementos atribuídos como tablist encontram‑se ocultos no menu mobile. Como resultado, os leitores de ecrã interagem apenas parcialmente com o componente de tabulação, o que provoca inconsistências e dificuldades de navegação.

    Componente tabulador tablist visível para o menu desktop

    Componente tabulador com as opções tablist ocultas

    URL

    Recomendações

    • Remover a estrutura de tabulador para garantir que a navegação pelo menu seja assertiva: role="tablist", role="tabpanel" e role="tab".
    • As opções do menu devem estar estruturadas apenas como lista ul ``li.
  • evidência: issue #64 R 1.2 - 10 Aspetos Web (Menu, navegação rato e teclado)

    etiqueta: NOKetiqueta: chk 10 webetiqueta: R 1.2

    Evidências

    O menu principal não está estruturado como uma navegação
    Verifica-se que não está a ser utilizado a tag nav no menu. Ao utilizar o leitor de ecrã, não é possível realizar saltos diretamente para o menu, nem este é identificado como uma área de navegação:


    URL

    Recomendações

    • Verificar o menu mobile e desktop.
    • O menu deve ser estruturado dentro de uma tag nav.
  • evidência: issue #63 R 1.2 - 10 Aspetos Web (Menu, navegação rato e teclado)

    etiqueta: NOKetiqueta: chk 10 webetiqueta: R 1.2

    Evidências

    Não é possível identificar quando o menu está aberto ou fechado com o leitor de ecrã
    A abertura e fecho do menu não está a ser informada para os leitores de ecrã. Isso acontece porque não está a ser utilizado o atributo aria-expanded:

    URL

    Recomendações

    • Utilizar o atributo aria-expanded em conjunto com um script no código para gerenciar a abertura/fecho das opções e notificar as tecnologias de apoio.
  • evidência: issue #57 R 1.2 - 10 Aspetos Web (Menu, navegação rato e teclado)

    etiqueta: NOKetiqueta: chk 10 webetiqueta: R 1.2

    Evidências

    O foco do leitor de ecrã é direcionado automaticamente para a opção "Submeter evento"
    Quando abrimos o menu com o leitor de ecrã, o foco é automaticamente colocado na opção “Submeter evento”, que é uma das últimas opções do menu:


    URL

    Recomendações

    • O foco do leitor de ecrã deve respeitar a ordem de navegação natural: da esquerda para a direita, de cima para baixo, ou seja, quando o menu for aberto, o foco do leitor de ecrã deverá ser posicionado na primeira opção do menu. Essa alteração deve ser feita no menu desktop.

Requisito 1.3 - As imagens-link, caso existam no menu, devem ter o correspondente equivalente alternativo em texto

etiqueta: NOK

Lista de evidências recolhidas:

  • evidência: issue #65 R 1.3 - 10 Aspetos Web (Menu, imagens-link)

    etiqueta: NOKetiqueta: chk 10 webetiqueta: R 1.3

    Evidências

    As imagens do menu principal possuem texto alternativo incorreto
    O botão de abrir e fechar o menu estão com o mesmo texto alternativo "Menu | Agenda Câmara de Lobos". Para além disso o nome acessível está a ser transmitido pelo atributo title:

    Recomendações

    • O atributo title deve ser utilizado apenas quando existir informação complementar. No caso do menu, o nome acessível é uma informação primária que deve ser transmitida corretamente às tecnologias de apoio. Por esse motivo, o title deve ser removido.
    • O nome acessível do botão pode ser fornecido através de um texto visível dentro do próprio botão. Esse texto deve estar presente para que, além do ícone, exista uma indicação visual clara de que se trata de um botão de menu. Por exemplo:

Requisito 2.1 - Existe um título h1 marcado na página

etiqueta: NOK

Lista de evidências recolhidas:

  • evidência: issue #72 R 2.1 - 10 Aspetos Web (Títulos, nível 1)

    etiqueta: NOKetiqueta: chk 10 webetiqueta: R 2.1

    Evidências

    Cada página do website deve conter um único elemento <h1>, que represente o título principal do conteúdo. A utilização de múltiplos <h1> pode comprometer a interpretação da hierarquia da página por tecnologias de apoio.

    Actualmente, todas as páginas apresentam o mesmo <h1> ("Agenda Municipal de Cãmara de Lobos"). O elemento <h1> deve ser atribuídoao título principal de cada página de forma a identificar de forma clara o respetivo conteúdo.

    Na página de Declaração de Acessibilidade, verifica-se a existência de dois elementos <h1>, o que constitui uma utilização incorreta da estrutura de cabeçalhos.

    Esta duplicação introduz ambiguidade na identificação do título principal da página e prejudica a coerência da hierarquia semântica.

    Image

    Figura 1 - Identificação de dois cabeçalhos marcados com <h1> na mesma página .

    Image

    Figura 2 - Exemplo do <h1> estar igual em todas as páginas .

    URLs a verificar:
    https://agenda.cm-camaradelobos.pt/ (rever o h1 genérico em todas as páginas)
    https://agenda.cm-camaradelobos.pt/acessibilidade

    Recomendações

    • Garantir que existe um único elemento h1, correspondente ao título principal de cada página.
    • Em todas as páginas o título principal está sendo atribuído como h2 sendo necessário alterar para h1. Devem garantir que essa alteração não gere problemas na hierarquia entre os cabeçalhos.
    • Na página da Declaração de Acessibilidade, o título genérico "Agenda Municipal de Cãmara de Lobos" deve ser removido.

Requisito 2.2 - Existe uma marcação hierarquizada de títulos e subtítulos na página (h1...h6)

etiqueta: NOK

Lista de evidências recolhidas:

  • evidência: issue #73 R 2.2 - 10 Aspetos Web (Títulos, hierarquia)

    etiqueta: NOKetiqueta: chk 10 webetiqueta: R 2.2

    Evidências

    Foram identificados elementos que funcionam como títulos de secção, mas que se encontram marcados apenas com elementos <div>, em vez de cabeçalhos apropriados.

    Image

    Figura 1 - "Lista de Eventos" implementados com <div> em vez de elementos de cabeçalho apropriados .

    Image

    Figura 2 - Cabeçalho de cada evento implementado com <div> em vez de elementos de cabeçalho apropriados .

    Image

    Figura 3 - "eventos" implementados com <div> em vez de elementos de cabeçalho apropriados .

    URLs a verificar:
    https://agenda.cm-camaradelobos.pt/
    https://agenda.cm-camaradelobos.pt/menu/lista-de-eventos

    Recomendações

    • Substituir os elementos <div> utilizados como títulos de secção por elementos de cabeçalho semanticamente adequados.
    • Na página de Eventos, o título "Eventos" deve ser estruturado como h1.
    • Na página inicial, os títulos "Eventos" e "Categorias" devem ser estruturados como h2.

Requisito 3.1 - As células que constituem os cabeçalhos da tabela estão marcadas com o elemento th

etiqueta: N/A

Lista de evidências recolhidas:

  • evidência: issue #45 R 3.1 - 10 Aspetos Web (Tabelas, cabeçalhos das colunas)

    etiqueta: chk 10 webetiqueta: N/Aetiqueta: R 3.1

    Evidências

    Não foram encontradas tabelas

    Recomendações

    N/A.

Requisito 3.2 - A legenda da tabela está marcada com o elemento caption

etiqueta: N/A

Lista de evidências recolhidas:

  • evidência: issue #46 R 3.2 - 10 Aspetos Web (Tabelas, título)

    etiqueta: chk 10 webetiqueta: R 3.2etiqueta: N/A

    Evidências

    Não foram encontradas tabelas.

    Recomendações

    N/A.

Requisito 4.1 - Ao clicar com o rato na etiqueta, o cursor surge no respetivo campo de edição

etiqueta: NOK

Lista de evidências recolhidas:

  • evidência: issue #26 R 4.1 - 10 Aspetos Web (Formulários, relação campo e etiqueta)

    etiqueta: NOKetiqueta: chk 10 webetiqueta: R 4.1

    Evidências

    Existem etiquetas associadas a controlos escondidos das tecnologias de apoio

    No formulário da página Notícias Agenda, as etiquetas “Subcategoria”, "Ano" e “Mês” estão associadas a controlos ocultos das tecnologias de apoio:

    Image

    Etiqueta Subcategoria associada a um elemento nativo, mas que está oculto das tecnologias de apoio

    Os campos “Subcategoria”, "Ano" e “Mês” são controlos personalizados, aos quais não está associada qualquer etiqueta.
    Possivelmente como forma de auxílio à submissão do formulário foram colocados controlos nativos <select>, mas que estão ocultos das tecnologias de apoio. Assim, as etiquetas não são anunciadas por estas tecnlogias quando se procede à navegação por teclado.
    Destacamos ainda que estes controlos personalizados não estão acessíveis para os utilizadores de leitores de ecrã, sendo impossível perceber qual a opção que está a ser selecionada.

    O mesmo problema ocorre também no formulário da página multimédia.
    No caso do formulário Submeter Evento, o mesmo problema está presente, mas relativamente a campos <textarea>, em que foram criadas textareas personalizadas e incorretamente enriquecidas com acessibilidade, para além de não terem as etiquetas associadas (estão associadas às textareas nativas auxiliares em vez de estarem associadas às textareas personalizadas)

    Recomendações

    Recomendamos uma das seguintes alternativas:

    • A utilização de elementos combobox nativos, que já oferecem todos os mecanismos de acessibilidade, e a manutenção das etiquetas associadas a esses controlos nativos;
    • A restruturação das comboboxes editáveis presentes no site, de modo a torná-las acessíveis. Para tal, podem seguir o exemplo da W3C Editable Combobox With Both List and Inline Autocomplete. Nesse caso, não devem esquecer a verificação da associação das etiquetas aos controlos restruturados.
      No caso do problema verificado nas textareas, recomendamos a substituição das textareas personalizadas por textareas nativas, que já contêm os mecanismos de acessibilidade, não esquecendo de verificar a correta associação das labels.

Requisito 4.2 - É possível identificar os campos de preenchimento obrigatório quando se usa apenas um leitor de ecrã

etiqueta: NOK

Lista de evidências recolhidas:

  • evidência: issue #44 R 4.2 - 10 Aspetos Web (Formulários, campos obrigatórios)

    etiqueta: NOKetiqueta: chk 10 webetiqueta: R 4.2

    Evidências

    Há campos obrigatórios que não estão identificados programaticamente

    Verificámos que, em alguns campos do formulário do Submeter Evento em Agenda da Câmara de Lobos, existem campos de preenchimento obrigatório que não estão programaticamente definidos como tal.

    Image

    Figura 1 - Análise do campo "Declaro sob compromisso de honra a veracidade do reporte submetido e assumo toda a responsabilidade consequente de falsas declarações ou inexatidão".

    Image

    Figura 2 - Análise do campo "Declaro que li e aceito a Política de Privacidade.".

    Para além disso, existem campos em que o atributo required tem uma sintaxe incorreta (foi utilizado required = "", em vez de required ou required = "true"), para além de que não é necessário utilizar os dois atributos (required e aria-required) ao mesmo tempo.
    Acresce ainda que foram inseridos atributos aria-required = "true" em etiquetas. Atributos required ou aria-required em etiquetas não têm qualquer efeito, bem pelo contrário, são semanticamente incorretos e dificultam a manutenção do site.

    Image

    Figura 3 - Etiqueta com o atributo aria-required

    Recomendações

    Recomendamos que, em todos os campos obrigatórios, seja adicionado o atributo required nos campos de input de forma a reforçar aos utilizadores de tecnologias de apoio que o campo em questão é um campo de preenchimento obrigatório.

    Também recomendamos ainda que seja verificada a sintaxe do atributo required nos elementos que já o têm, e que, no caso da existência dos atributos required e aria-required, permaneça apenas o atributo required.

    Finalmente, recomendamos a rmeoção de todos os atributos required e aria-required de todas as etiquetas (<label>).

  • evidência: issue #28 R 4.2 - 10 Aspetos Web (Formulários, campos obrigatórios)

    etiqueta: NOKetiqueta: chk 10 webetiqueta: R 4.2

    Evidências

    Não há informação clara sobre o que é o asterisco nos campos de preenchimento obrigatório

    Os campos obrigatórios dos formulários devem estar devidamente identificados como tal. Idealmente, devem apresentar o texto “Obrigatório” à frente da legenda do campo. Pode-se colocar um * no campo obrigatório, desde que o significado do * seja mencionado no início do formulário.

    Verificámos que no formulário da página Submeter Evento não existe informação sobre o significado do asterisco (*) colocado à frente dos campos.

    Image

    Figura 1 - Formulário da página Submeter Evento. Não existe informação sobre o significado do asterisco (*) colocado à frente dos campos.

    Recomendações

    Recomendamos a revisão dos formulários de forma a ser adicionada uma legenda no início do formulário a indicar claramente o significado de *.

Requisito 4.3 - É possível localizar e ler as mensagens de erro usando apenas um leitor de ecrã

etiqueta: NOK

Lista de evidências recolhidas:

  • evidência: issue #30 R 4.3 - 10 Aspetos Web (Formulários, mensagens de erro)

    etiqueta: NOKetiqueta: chk 10 webetiqueta: R 4.3

    Evidências

    Existem mensagens de erro apresentadas entre a etiqueta e o campo

    Os formulários que precisam de apresentar mensagens de erro apresentam-nas junto aos campos. No entanto, existem campos cujas mensagens de erro associadas são apresentadas a seguir às labels em vez de serem as últimas componentes a serem apresentadas. Referimo-nos concretamente às textareas personalizadas do formulário presente na página Submeter Evento:

    Image

    Mensagem de erro apresentada a seguir à etiqueta

    Recomendações

    Recomendamos que as mensagens de erro sejam as últimas componentes dos campos a serem apresentadas, para manutenção da coerência com todos os outros controlos de formulários existentes no site.

Requisito 5.1 - A imagem ou gráfico tem um equivalente alternativo em texto curto e correto

etiqueta: NOK

Lista de evidências recolhidas:

  • evidência: issue #31 R 5.1 - 10 Aspetos Web (Gráficos e Imagens-link, descrição curta)

    etiqueta: NOKetiqueta: chk 10 webetiqueta: R 5.1

    Evidências

    Imagem decorativa com texto alternativo indevido

    Verifica-se que algumas imagens funcionam apenas como apoio visual, encontrando-se a informação relevante já disponibilizada através de título, descrição ou links acessíveis em texto. Nestes casos, as imagens podem ser tratadas como decorativas, devendo possuir alt="".

    Image Image Image

    Uso de caracteres especiais no texto alternativo

    Os nomes alternativos das imagens-link incluem caracteres especiais (como _), que estão a ser lidos pelo leitor de ecrã como "sublinhado". É recomendado que o equivalente alternativo seja apresentado em linguagem natural, sem identificadores técnicos ou caracteres desnecessários. Como por exemplo: alt="Curral das Freiras".

    Image

    URL

    https://agenda.cm-camaradelobos.pt/
    https://agenda.cm-camaradelobos.pt/menu/lista-de-eventos?cat=MTI==

    Recomendações

    • Recomenda-se que as imagens decorativas tenham alt="".
    • Quando o SVG tiver apenas finalidade visual ou decorativa, deve ser removido da árvore de acessibilidade, por exemplo com aria-hidden="true".

Requisito 5.2 - O gráfico é acompanhado de uma descrição longa

etiqueta: NOK

Lista de evidências recolhidas:

Requisito 5.3 - As imagens-link têm um equivalente alternativo correto

etiqueta: NOK

Lista de evidências recolhidas:

  • evidência: issue #32 R 5.3 - 10 Aspetos Web (Imagens-link, propósito equivalente em texto)

    etiqueta: NOKetiqueta: chk 10 webetiqueta: R 5.3

    Evidências

    Imagens link com texto alternativo incorreto.

    Verifica-se que a imagem do logótipo utilizada como link para a página inicial, apresenta um texto alternativo que não descreve adequadamente o seu propósito (acesso à página inicial).

    Image

    Verifica-se que o leitor de ecrã não anuncia o texto alternativo correto para a imagem do carrossel, pois o elemento que recebe foco é o link do slide e não a imagem com alt. Na implementação atual, o conteúdo visual do banner é apresentado através de background-image em CSS, mecanismo que não suporta alternativa textual acessível.

    Como o link não dispõe de um nome acessível claro e equivalente ao conteúdo do slide, o leitor de ecrã acaba por anunciar identificadores técnicos como o segmento do URL (“1443-carnaval-2026”) ou referências genéricas ao banner.

    Image

    Verifica-se que a imagem-link apresenta um equivalente alternativo insuficiente no atributo alt="evento_Curral" para descrever a finalidade do link.

    Image

    O mesmo ocorre para as imagens da galeria.

    Image

    Verificado que a imagem link "Submeter evento" dispõe de nome acessível apenas através do elemento title. Neste caso a imagem deve ter nome acessível associada ao atributo alt.

    Image

    URL:
    https://agenda.cm-camaradelobos.pt/menu/lista-de-eventos/evento/1163-festa-gastronomica-do-peixe-de-espada-preto-camara-de-lobos
    https://agenda.cm-camaradelobos.pt/menu/lista-de-eventos/evento/1161-festa-das-vindimas-estreito-de-camara-de-lobos

    Recomendações

    • O texto alternativo deve transmitir claramente o destino ou finalidade do link. Por exemplo: alt="Agenda Câmara de Lobos – página inicial".
    • Não devem utilizar o title para transmitir o nome acessível do link. Esse atributo é utilizado apenas quando existe informação complementar que precisa ser anunciada.
    • Recomenda-se que as imagens do carrossel sejas implementadas de forma a garantir que o elemento interativo (<a>) possui um nome acessível claro relativo ao conteúdo apresentado, deixando de depender de background-image para comunicar informação relevante.
    • Recomenda-se que, sempre que uma imagem ou ícone seja inserido exclusivamente via CSS (como é o caso das imagens da galeria na homepage), seja incluído um texto em HTML no interior do botão, por exemplo através de um elemento , garantindo que a função do componente permanece disponível para tecnologias de apoio. Esse texto pode ficar visualmente oculto, mas deve continuar acessível a leitores de ecrã. Para mais informações: https://www.acessibilidade.gov.pt/tutorial/css-em-accao-conteudo-invisivel-apenas-para-utilizadores-de-leitor-de-ecra/#page1_topic_7

Requisito 6.1 - No corpo de um documento, o rácio de contraste entre a cor do texto normal (menor que 18 pontos ou menor que 14 pontos negrito) e a cor do fundo é superior a 4,5:1

etiqueta: NOK

Lista de evidências recolhidas:

  • evidência: issue #61 R 6.1 - 10 Aspetos Web (Contraste, texto normal)

    etiqueta: NOKetiqueta: chk 10 webetiqueta: R 6.1

    Evidências

    Texto normal não tem contraste suficiente

    Notas gerais

    • O contraste no texto normal (menor que 18 pontos ou menor que 14 pontos negrito) das páginas deve ser, no mínimo 4,5:1, para que pessoas com baixa visão consigam ler o texto.

    A avaliação com a ferramenta Colour Contrast Analyser revela problemas relacionados com insuficiência de contraste, afetando diretamente a legibilidade.

    Evidência 01: O texto normal não tem contraste suficiente

    O website apresenta problemas de contraste na página Submeter evento, na primeira interação com a página os textos e labels dos campos de preenchimento “Dados do evento” apresentam-se desativados, pois utilizam uma camada de opacidade sobre os textos. A combinação de cores #C7C7C7(cor de primeiro plano) e #FFFFFF(cor de plano de fundo) torna os textos pouco visíveis. (Figura 1)

    Image

    Figura 1- Formulário “Submeter evento” com problemas de contraste

    Após o preenchimento do campo ativo "NIF/NIPC*" os textos tornam-se visíveis. No entanto, ao submeter informações incorretas os textos das mensagens de erro também apresentam problemas de contraste nas combinação de cores #E73D4A(cor de primeiro plano) e #FFFFFF(cor de plano de fundo). (Figura 2)


    Image

    Figura 2- Mensagens de erro do Formulário “Submeter evento” com problemas de contraste

    Evidência 02: O texto normal não tem contraste suficiente em certos estados (Melhoria)

    Há elementos de texto com pouco contraste no estado hover. Por exemplo, na secção “Informações úteis” no rodapé do website, na combinação das cores #EAC363(cor de primeiro plano) e #FFFFFF(cor de plano de fundo) (Figura 3)

    Image

    Figura 3 - Verificação dos textos do rodapé não passam na avaliação de contraste.

    Na página inicial, os textos nos estados de hover do menu principal e da secção “Categorias” com os textos dos cards possuem um contraste insuficiente em relação ao fundo. (Figura 4 e 5)

    Image

    Figura 4 - Verificação do contraste em estados de hover dos textos na secção “Categorias” com taxa de contraste de apenas (2,1:1)

    Image

    Figura 5 - Verificação do contraste em estados de hover nos textos do menu na página Cultura nos Mercados com taxa de contraste de apenas (1,7:1)

    Recomendações

    Recomendamos a revisão das cores das páginas as combinações de cores utilizadas em texto normal incluindo estados de foco e hover para garantir os valores mínimos de contraste.

Requisito 6.2 - O rácio de contraste entre a cor do texto de tamanho grande (maior ou igual que 18 pontos ou maior ou igual que 14 pontos negrito) e a cor do fundo é superior a 3:1

etiqueta: NOK

Lista de evidências recolhidas:

Requisito 7.1 - Deve ser possível ativar os botões de controlo do leitor quer com o rato quer com o teclado

etiqueta: NOK

Lista de evidências recolhidas:

Requisito 7.2 - O vídeo ou o áudio deve conter preferencialmente legendas fechadas sincronizadas. Caso não seja possível, no mínimo, deve disponibilizar-se uma transcrição textual

etiqueta: NOK

Lista de evidências recolhidas:

  • evidência: issue #71 R 7.2 - 10 Aspetos Web (Player, legendas)

    etiqueta: NOKetiqueta: chk 10 webetiqueta: R 7.2

    Evidências

    Conteúdo visual sem audiodescrição

    Existem players multimédia que apresentam mensagens através de elementos visuais, sem disponibilizar audiodescrição. Em vídeos com música de fundo ou sem narração, onde o conteúdo relevante é transmitido apenas por ações visuais, as pessoas com incapacidade visual podem não conseguir compreender a mensagem apresentada.

    Para garantir acessibilidade, todos os conteúdos visuais essenciais devem ser acompanhados por audiodescrição ou por uma alternativa equivalente que permita compreender integralmente a informação transmitida no vídeo.

    Image

    Figura 01: Imagem de player com contéudo visual sem audiodescrição na página da Festa da Castanha.

    URL's a verificar:

    Recomendações

    • Incluir audiodescrição sempre que existam informações relevantes comunicadas apenas visualmente.
    • Validar os conteúdos multimédia com utilizadores de tecnologias de apoio, como leitores de ecrã.
    • Assegurar que os controlos do player permitem ativar/desativar faixas de audiodescrição de forma acessível.
    • Disponibilizar uma versão alternativa do vídeo com audiodescrição integrada, quando necessário.
    • Garantir que textos apresentados no ecrã sejam também narrados em áudio.

Requisito 8.3 - Quando se retira a CSS, deve ser possível reconhecer a semântica dos diversos elementos

etiqueta: NOK

Lista de evidências recolhidas:

  • evidência: issue #84 R 8.3 - 10 Aspetos Web (Estrutura da página, semântica)

    etiqueta: NOKetiqueta: chk 10 webetiqueta: R 8.3

    Evidências

    Controlos de navegação do slider principal implementados sem semântica adequada

    No slider principal da homepage, os controlos de navegação inferior são implementados com elementos <a> sem atributo href, usados apenas para alterar o slide apresentado.

    Embora visualmente sejam apresentados como controlos acionáveis, estes elementos não possuem semântica nativa adequada para a função que desempenham.

    Quando os estilos visuais são removidos, os elementos continuam visíveis, mas deixa de ser programaticamente claro que funcionam como controlos de navegação do slider.

    Como consequência, tecnologias de apoio podem não identificar corretamente a sua função interativa.

    Image

    Figura 1 – Navegação do slider implementada com elementos <a> sem semântica adequada

    Notas Gerais

    • Elementos que desencadeiam ações na interface devem ser implementados com elementos HTML semanticamente apropriados.
    • Controlos usados para alterar conteúdo, como navegação de sliders ou carrosséis, devem recorrer preferencialmente a elementos como <button>.

    URL a verificar

    Recomendações

    • Os controlos de navegação do slider devem ser implementados com elementos HTML adequados à sua função, preferencialmente <button>.
    • A função interativa de cada controlo deve ser identificável programaticamente.
    • Deve evitar-se o uso de elementos <a> sem href para desencadear ações na interface.
    • Recomenda-se validar que os controlos continuam semanticamente reconhecíveis quando os estilos visuais são desativados.
  • evidência: issue #78 R 8.3 - 10 Aspetos Web (Estrutura da página, semântica)

    etiqueta: NOKetiqueta: chk 10 webetiqueta: R 8.3

    Evidências

    Títulos de conteúdos da homepage apresentados como imagens sem semântica de cabeçalho

    Na homepage foram identificados destaques de eventos em que o título visual do conteúdo é apresentado através de imagens clicáveis, sem utilização de elementos semânticos de cabeçalho.

    Neste padrão:

    • o título do conteúdo não está marcado com elementos de cabeçalho;
    • a identificação do evento é transmitida visualmente através da própria imagem;
    • existem ainda dois links consecutivos para o mesmo destino, o que introduz redundância de navegação.

    Quando os estilos são removidos, deixa de existir uma estrutura semântica que permita reconhecer programaticamente o título do conteúdo.

    Image

    Figura 1 – Título de evento apresentado como imagem, sem semântica de cabeçalho

    Notas Gerais

    • Os títulos de conteúdos devem ser estruturados com elementos HTML semanticamente adequados, nomeadamente elementos de cabeçalho (<h1><h6>), para que a organização da informação seja corretamente interpretada por tecnologias de apoio.
    • Quando o título é apresentado apenas como imagem, perde-se a semântica estrutural do conteúdo e dificulta-se a navegação por cabeçalhos.

    URL a verificar

    Recomendações

    • O título textual de cada conteúdo deve ser marcado com um elemento semântico de cabeçalho adequado (<h2>, <h3>, etc.), de acordo com a hierarquia da página.
    • O cabeçalho deve constituir o principal elemento identificador do conteúdo.
    • Deve evitar-se que a identificação principal do conteúdo dependa exclusivamente de imagens.
    • Sempre que existam múltiplos links consecutivos para o mesmo destino, deve ser avaliada a sua necessidade, evitando redundância de navegação.
    • Recomenda-se verificar este padrão em todos os blocos de destaques e eventos da homepage.
  • evidência: issue #22 R 8.3 - 10 Aspetos Web (Estrutura da página, semântica)

    etiqueta: NOKetiqueta: chk 10 webetiqueta: R 8.3

    Quando se retira o CSS, deve ser possível reconhecer a semântica dos diversos elementos.
    ver requisito 8.3 na lista 10 aspetos

    Evidências

    Controlos de fecho de modal/carousel implementados com elementos não semânticos

    No componente de modal/carousel observado, o controlo de fecho é implementado através de um elemento genérico (<div>), utilizado para executar uma ação de interface.

    Apesar de o elemento poder ser focável e interativo através de JavaScript, não utiliza um elemento HTML semântico apropriado para ações, como <button>.

    Como consequência, a função do controlo não é corretamente transmitida de forma nativa às tecnologias de apoio, dependendo de atributos adicionais e comportamento programado para simular a sua funcionalidade.

    Image

    Figura 1 – Controlo de fecho de modal/carousel implementado com <div> em vez de <button>

    Notas Gerais

    • Elementos interativos como controlos de fecho devem ser implementados com elementos HTML semanticamente apropriados, como <button>, de forma a garantir que são corretamente interpretados por tecnologias de apoio e suportam navegação por teclado.
    • A utilização de elementos genéricos como <div> para representar ações interativas compromete a semântica do componente e obriga à simulação do comportamento através de scripts.

    URL a verificar

    Recomendações

    • Substituir o elemento <div> por um elemento semântico <button> para o controlo de fecho.
    • Garantir que o botão mantém toda a funcionalidade existente, incluindo:
      • ativação por teclado (Enter e Espaço);
      • foco acessível e visível;
      • comportamento consistente em diferentes tecnologias de apoio.
    • Evitar o uso de elementos genéricos para representar ações interativas em componentes de modal/carousel.
    • Validar o comportamento com navegação por teclado e leitores de ecrã para garantir que a função é corretamente anunciada e operável.
  • evidência: issue #21 R 8.3 - 10 Aspetos Web (Estrutura da página, semântica)

    etiqueta: NOKetiqueta: chk 10 webetiqueta: R 8.3

    Quando se retira o CSS, deve ser possível reconhecer a semântica dos diversos elementos.
    ver requisito 8.3 na lista 10 aspetos

    Evidências

    Modais sem nome acessível programaticamente determinável

    Na modal observada, embora exista a utilização de role="dialog" e aria-modal="true", não existe qualquer nome acessível associado à janela.

    Não é feita associação a um título visível através de aria-labelledby, nem é fornecido um nome alternativo através de aria-label.

    Como consequência, quando a modal é aberta, os leitores de ecrã podem anunciar apenas que se trata de um diálogo, sem identificar a sua finalidade ou o contexto apresentado ao utilizador.

    Image

    Figura 1 – Modal sem nome acessível programaticamente determinável

    Notas Gerais

    As janelas modais devem possuir um nome acessível programaticamente determinável, de forma a permitir que tecnologias de apoio identifiquem corretamente o contexto apresentado ao utilizador.

    A ausência de um nome acessível impede que leitores de ecrã anunciem de forma clara a finalidade da janela apresentada, dificultando a compreensão imediata do conteúdo e do contexto de interação.

    URL a verificar

    Recomendações

    • Garantir que todas as modais possuem um nome acessível programaticamente determinável.
    • Associar a modal a um título visível, através de aria-labelledby.
    • Quando não existir título visível, fornecer um nome acessível através de aria-label.
    • Verificar este padrão em todas as modais do website.
    • Validar com leitores de ecrã para confirmar que, ao abrir a modal, o contexto é corretamente anunciado ao utilizador.
  • evidência: issue #20 R 8.3 - 10 Aspetos Web (Estrutura da página, semântica)

    etiqueta: NOKetiqueta: chk 10 webetiqueta: R 8.3

    Quando se retira o CSS, deve ser possível reconhecer a semântica dos diversos elementos.
    ver requisito 8.3 na lista 10 aspetos

    Evidências

    Listagem de conteúdos sem estrutura semântica adequada

    Na página principal, têm várias secções em que cada item é apresentado como um conjunto de conteúdos relacionados (imagem, data, título, descrição e ligação para detalhe), estruturado com múltiplos elementos <div>.

    No entanto, estes itens não estão inseridos numa estrutura semântica de lista (<ul> / <li>), apesar de representarem claramente uma listagem de conteúdos homogéneos.

    Image

    Figura 1 – Listagem de eventos estruturada com elementos <div> sem utilização de lista semântica

    Como consequência, as tecnologias de apoio não conseguem identificar programaticamente que estes elementos pertencem a um conjunto, nem o número total de itens existentes.

    Quando os estilos CSS são desativados, os conteúdos passam a ser apresentados como blocos isolados, sem indicação clara da relação entre si, dificultando a compreensão da estrutura da informação.

    Notas Gerais

    • Conjuntos de conteúdos relacionados, como listagens de documentos, notícias ou resultados, devem ser estruturados com elementos HTML semânticos apropriados (ex.: listas <ul> / <ol> e <li>), de forma a permitir que tecnologias de apoio identifiquem corretamente o agrupamento e o número de itens.
    • A utilização exclusiva de elementos genéricos (<div>) para representar estes conjuntos pode comprometer a perceção da relação entre os conteúdos apresentados.

    URL a verificar

    Recomendações

    • Deve ser verificado este padrão em todo o website.
    • Os conjuntos de conteúdos que representem listagens (ex.: documentos, notícias, resultados) devem ser estruturados semanticamente como listas (<ul> ou <ol>), com cada item representado por um <li>.
    • Cada item da lista deve agrupar toda a informação relacionada (categoria, título, descrição e ações) dentro do respetivo <li>.
    • Evitar a utilização exclusiva de elementos genéricos (<div>) para representar agrupamentos de conteúdos.
    • Validar com leitores de ecrã para garantir que o agrupamento e o número de itens são corretamente anunciados.

Requisito 8.4 - Quando se retira a CSS, a informação relevante permanece visível

etiqueta: NOK

Lista de evidências recolhidas:

  • evidência: issue #83 R 8.4 - 10 Aspetos Web (Estrutura da página, perda de info)

    etiqueta: NOKetiqueta: chk 10 webetiqueta: R 8.4

    Evidências

    Slider principal com estado ativo dependente de apresentação visual

    No slider principal da homepage, os diferentes slides são alternados recorrendo a alterações visuais de estilo (display:none, z-index) e à aplicação de classes como curr, sendo o slide ativo identificado essencialmente através da apresentação visual.

    Quando os estilos visuais são removidos, os vários itens da lista continuam presentes, mas deixa de ser claro qual o conteúdo atualmente apresentado ao utilizador.

    Como consequência, a identificação do estado ativo do componente depende da apresentação visual e não de uma estrutura semanticamente percetível.

    Image

    Figura 1 – Slider principal com estado ativo dependente de classes CSS e ocultação visual

    Notas Gerais

    • Componentes que apresentam conteúdos alternados, como sliders ou carrosséis, devem permitir identificar programaticamente o estado ativo e a relação entre os diferentes itens.
    • A identificação do conteúdo atualmente visível não deve depender apenas de estilos CSS, posicionamento visual ou ocultação por apresentação.

    URL a verificar

    Recomendações

    • O estado ativo do slider deve poder ser identificado programaticamente e não apenas visualmente.
    • Deve existir uma estrutura semanticamente percetível que permita reconhecer qual o slide atualmente apresentado.
    • A visibilidade dos conteúdos não deve depender exclusivamente de estilos CSS como display:none ou classes visuais.
    • Recomenda-se validar que a relação entre os diferentes slides continua compreensível quando os estilos visuais são desativados.
  • evidência: issue #82 R 8.4 - 10 Aspetos Web (Estrutura da página, perda de info)

    etiqueta: NOKetiqueta: chk 10 webetiqueta: R 8.4

    Evidências

    Ticker de notícias/eventos com movimento automático sem mecanismo percetível de controlo

    Na homepage foi identificado um ticker de notícias/eventos com deslocação horizontal automática contínua.

    O componente apresenta conteúdos que se deslocam automaticamente da direita para a esquerda, sem interação inicial do utilizador.

    Embora no código existam controlos de navegação e pausa, estes encontram-se ocultos:

    <div class="bn-controls" style="visibility:hidden">
        <button><span class="bn-arrow bn-prev"></span></button>
        <button><span class="bn-action bn-pause"></span></button>
        <button><span class="bn-arrow bn-next"></span></button>
    </div>
    

    Deste modo, o utilizador pode ser exposto a conteúdo em movimento contínuo sem um mecanismo percetível para pausar, interromper ou controlar a animação.

    Image

    Figura 1 – Ticker com deslocação automática e controlos ocultos

    Notas Gerais

    • Conteúdos em movimento automático podem dificultar a leitura, a concentração e a interação, sobretudo quando não existe um mecanismo facilmente identificável para os controlar.
    • Sempre que a interface apresente conteúdos animados, deslizantes ou com atualização automática, deve existir uma forma clara e acessível de os pausar, parar ou navegar manualmente.

    URL a verificar

    Recomendações

    • Deve existir um mecanismo visível e facilmente identificável que permita pausar ou interromper o movimento automático.
    • Os controlos de navegação e pausa não devem estar ocultos quando o componente está ativo.
    • O utilizador deve poder avançar, recuar ou interromper a animação manualmente.
    • Recomenda-se validar este comportamento com navegação por teclado e leitores de ecrã.

Requisito 9.1 - Quando a caixa de diálogo é aberta, o foco (cursor do Browser) move-se para um elemento dentro da caixa de diálogo

etiqueta: NOK

Lista de evidências recolhidas:

  • evidência: issue #55 R 9.1 - 10 Aspetos Web (Modais, foco)

    etiqueta: NOKetiqueta: chk 10 webetiqueta: R 9.1

    Evidências

    Ao abrir a modal o foco não é direcionado para o primeiro elemento interativo. A modal esta inacessível para tecnologias de apoio.

    Image

    URL:
    https://agenda.cm-camaradelobos.pt/menu/submeter-evento

    Recomendações

    • Quando a caixa de dialogo é aberta o foco deve ser posicionado no primeiro elemento interativo.

Requisito 9.2 - Quando uma caixa de diálogo está aberta, a navegação com teclado (Browser ou Tecnologia de apoio) tem de ficar circunscrita aos elementos que compõem a caixa de diálogo

etiqueta: NOK

Lista de evidências recolhidas:

  • evidência: issue #56 R 9.2 - 10 Aspetos Web (Modais, navegação restrita)

    etiqueta: NOKetiqueta: chk 10 webetiqueta: R 9.2

    Evidências

    O foco não fica limitado a modal

    Verifica-se que quando a modal esta aberta o foco não fica limitado a modal (teclado, leitor de ecrã).

    Image

    Recomendações

    • Recomenda-se prender o foco do teclado dentro da dialog utilizando um script/evento no JavaScript ou na linguagem apropriada.
    • Quando o utilizador navega com TAB a partir do último elemento focável, o foco deve voltar para o primeiro elemento focável.
    • Quando o utilizador navega com SHIFT+TAB a partir do primeiro elemento focável, o foco deve mover‑se para o último elemento focável.

Requisito 9.3 - A caixa de diálogo tem de ter um mecanismo que permita sair ou fechar a caixa, quer através de teclado quer através de um dispositivo apontador

etiqueta: NOK

Lista de evidências recolhidas:

  • evidência: issue #58 R 9.3 - 10 Aspetos Web (Modais, saída)

    etiqueta: NOKetiqueta: chk 10 webetiqueta: R 9.3

    Evidências

    A caixa de diálogo pode ser encerrada através de tecnologias de apoio.

    A modal esta inacessível para tecnologias de apoio. Não permite fechar através do botão "Fechar" ou através da tecla de atalho "ESC".

    Image

    URL:
    https://agenda.cm-camaradelobos.pt/menu/submeter-evento

    Recomendações

    • Idealmente podem implementar um mecanismo que permita o encerramento das janelas modais através da tecla ESC além do botão de fechar.

Requisito 9.4 - Quando a caixa de diálogo fecha, o foco (cursor do Browser) deve voltar ao elemento interativo que a invocou

etiqueta: NOK

Lista de evidências recolhidas:

  • evidência: issue #59 R 9.4 - 10 Aspetos Web (Modais, regresso ao gatilho)

    etiqueta: NOKetiqueta: chk 10 webetiqueta: R 9.4

    Evidências

    Ao fechar a caixa de diálogo o foco não retorna ao elemento que a acionou

    A modal esta inacessível para tecnologias de apoio.

    Image

    URL:
    https://agenda.cm-camaradelobos.pt/menu/submeter-evento

    Recomendações

    • Ao fechar a caixa de diálogo o foco deve retornar ao elemento que a acionou.

Requisito 10.1 - Nos ficheiros PDF é possível, no mínimo, extrair o conteúdo textual para formato TXT

etiqueta: N/A

Lista de evidências recolhidas:

  • evidência: issue #29 R 10.1 - 10 Aspetos Web (PDF, preservar texto)

    etiqueta: chk 10 webetiqueta: R 10.1etiqueta: N/A

    Evidências

    Não foi encontrado nenhum ficheiro PDF no website da Agenda de Câmara de Lobos, logo o critério encontra-se Não Aplicável.

    Recomendações

    No response

Checklist Conteúdo

etiqueta: NOK

Nível de conformidade:

  • Checklist Conteúdo: 29.4% (5/17)
    • Requisitos avaliados: 17 (17 aplicáveis)
    • Requisitos OK: 5
    • Requisitos NOK: 12

Requisito 1.1 - O sítio Web apresenta um resumo breve do seu propósito, visível sem se fazer scroll

etiqueta: NOK

Lista de evidências recolhidas:

  • evidência: issue #3 R 1.1 - Conteúdo (Clareza, propósito do website)

    etiqueta: chk conteúdoetiqueta: NOKetiqueta: R 1.1

    Evidências

    Na página principal do website de Agendas da Câmara Municipal de Câmara de Lobos, não aparece presente um resumo breve do próposito do site

    Image

    Imagem da página principal sem fazer scroll

    Recomendações

    O propósito deve transmitir, de forma clara, o que o utilizador pode efetivamente encontrar e realizar no website. Esse propósito deve ser imediatamente visível na página, sem ser necessário fazer scroll, avançar no slideshow, entre outros.

    Como exemplo de uma boa prática, é possível verificar no website acessibilidade.gov que o seu propósito está escrito no topo da página:

    Image

    ImageExemplo de uma frase de propósito do website acessibilidade.gov

Requisito 1.2 - Os termos mais complexos têm uma definição agregada

etiqueta: NOK

Lista de evidências recolhidas:

Requisito 1.3 - Cada bloco de conteúdo contém a sua data de atualização

etiqueta: NOK

Lista de evidências recolhidas:

Requisito 2.1 - O tipo de letra do corpo do documento é adequado e o tamanho da letra é, no mínimo, de 12 pontos

etiqueta: NOK

Lista de evidências recolhidas:

  • evidência: issue #34 R 2.1 - Conteúdo (Usabilidade, tamanho e tipo de letra)

    etiqueta: chk conteúdoetiqueta: NOKetiqueta: R 2.1

    Evidências

    O conteúdo do site fica desformatado em resoluções mais pequenas

    Notas Gerais

    • Todos os conteúdos do site devem ser responsivos para garantir a sua legibilidade na maioria das resoluções e quando são escalados para tamanhos superiores.

    O website apresenta inconsistências na variação dos tamanhos de letra em resoluções mais reduzidas. Por exemplo, na página Teatro, verificou‑se que, ao alterar a resolução para um formato mobile, o corpo de texto do conteúdo fica desformatado e com uma dimensão inferior à recomendada, comprometendo a legibilidade.

    Image

    Figura 1 - Exemplo de corpo de texto na versão desktop com valores corretos

    Image

    Figura 2 - Verificação do texto na página Teatro com texto variável e tamanho de letra 15px inferior ao recomendado

    O mesmo acontece em todo website, nos textos informativos dos contactos no rodapé. (Figura 3)

    Image

    Figura 3 - Verificação do texto no rodapé na versão mobile, com texto variável e tamanho de apenas 12px, inferior ao recomendado

    Outras páginas (NOK) em versões para dispositivos móveis:


    Recomendações

    Todo website e páginas devem ser revistas e adaptadas de modo a assegurar que o conteúdo se reorganiza corretamente e permanece totalmente utilizável em diferentes resoluções, tamanhos e orientações de ecrã, sem perda de informação ou funcionalidade.

  • evidência: issue #33 R 2.1 - Conteúdo (Usabilidade, tamanho e tipo de letra)

    etiqueta: chk conteúdoetiqueta: NOKetiqueta: R 2.1

    Evidências

    O corpo de texto tem um tamanho inferior a 12pt (equivalente a 16px)

    Notas Gerais

    • Para garantir a legibilidade do corpo de texto, este deve ter um tamanho igual ou superior a 12pt, que equivale a 16px.

    O website possui informações primárias com tamanho inferior a 12pontos(16px) por exemplo na página inicial no menu principal, as opções de segundo nível estão com tamanho de letra abaixo do valor mínimo recomendado. (Figura 1)

    Image

    Figura 1 - Verificação do tamanho do texto nas opções de segundo nível do menu com apenas 14px

    As informações de contactos do rodapé, links de Informações úteis, assim como links de atalhos para eventos com textos informativos possuem valor inferior ao recomendado. (Figura 2)

    Image

    Figura 2 - Textos informativos e informações de contactos com apenas 12px

    Há botões com tamanho de texto inferior ao recomendado. Por exemplo os botões “Saiba mais” das páginas Mostras e Feiras , Listas de eventos , Exposições, Músicas. (Figura 3)

    Image

    Figura 3 - Verificação do tamanho de texto em botões com apenas 14px

    O formulário Submeter evento possui labels associadas aos campos de preenchimento, nomeadamente as checkboxs de declaração de compromisso do utilizador, com textos que possuem tamanho de letra de apenas 14px. (Figura 4)

    Image

    Figura 4- Textos com informações primárias dos campos de preenchimento dos formulários com dimensão inferior ao recomendado

    Outros exemplos de formulários com informações primárias, com texto inferior ao recomendado:

    Recomendações

    É necessário ser corrigido os textos de informações primárias, para um tamanho igual ou superior ao recomendado.

Requisito 2.3 - Blocos e linhas de texto com largura não superior a 100 caracteres

etiqueta: NOK

Lista de evidências recolhidas:

Requisito 2.4 - O espaçamento entre linhas não é inferior a 1.5x o tamanho da letra

etiqueta: NOK

Lista de evidências recolhidas:

  • evidência: issue #37 R 2.4 - Conteúdo (Usabilidade, espaçamento entre linhas)

    etiqueta: chk conteúdoetiqueta: NOKetiqueta: R 2.4

    Evidências

    O espaçamento entre linhas está abaixo do recomendado

    Notas gerais

    • Para assegurar uma boa leitura, o espaçamento entre linhas não deve ser inferior a 1.5x em relação ao tamanho do texto a ser analisado.

    Evidência 01
    Na página inicial, há blocos de textos com espaçamento inferior ao recomendado, por exemplo na secção “Momentos...” em que o espaçamento entre linhas é de apenas 18px para um tamanho de letra de 15px. (Figura 1)



    Image

    Figura 1 - Textos com espaçamento inferior ao recomendado

    Evidência 02
    Na página Espetáculo "A Metamorfose há blocos de textos com espaçamento de apenas 23.4px para um tamanho de letra de 18px. (Figura 2)

    Image

    Figura 2 - O bloco de conteúdo “Descritivo” possui espaçamento inferior ao recomendado

    As mesmas dimensões de espaçamento são aplicadas nos textos do menu principal, nas opções “Serviço” e “Participação”, não cumprindo o espaçamento mínimo do presente requisito. Além disso há outros problemas no espaçamento dos blocos de textos em outras páginas interiores, exemplos:

    Recomendações

    Para a evidência 01 apresentada, o espaçamento deveria ser, no mínimo 22.5px. Já para evidência 02 o espaçamento deveria ser, no mínimo 27px. É necessário rever todo website para garantir o espaçamento mínimo recomendado, relativo ao tamanho da letra.

Requisito 3.1 - Nenhum nível de navegação tem mais de 9 opções

etiqueta: NOK

Lista de evidências recolhidas:

  • evidência: issue #15 R 3.1 - Conteúdo (Estrutura da Navegação)

    etiqueta: chk conteúdoetiqueta: NOKetiqueta: R 3.1

    Evidências

    Excesso de opções no subnível do menu de navegação

    Os menus de navegação devem se manter equilibrado, nem com demasiadas opções de topo sem opções secundárias, nem com poucas opções de topo e muitas opções secundarias. Nenhum nível de navegação deve ter mais de 9 opções, mas neste caso existe um nível com 10 opções.

    Image

    Imagem com o menu de navegação e o seu subníveis ultrapassando as 9 opções.

    Recomendações

    Recomenda-se a reorganização destes menus, de forma a reduzir o número de itens apresentados e a estruturar a informação de modo mais claro, simples e intuitivo, promovendo uma melhor experiência de utilização e conformidade com os princípios de acessibilidade.

    Com vista à melhoria da usabilidade e conformidade com os princípios de acessibilidade, recomenda-se:

    • Reduzir o número de opções no subnível, agrupando conteúdos relacionados sob categorias mais abrangentes.

    • Utilizar rótulos claros e consistentes que facilitem a identificação rápida das secções.

Requisito 3.2 - A navegação principal está sempre visível e sempre no mesmo local

etiqueta: NOK

Lista de evidências recolhidas:

  • evidência: issue #14 R 3.2 - Conteúdo (Estrutura da Navegação)

    etiqueta: chk conteúdoetiqueta: NOKetiqueta: R 3.2

    Evidências

    A navegação principal do site está colapsada em desktop

    No caso de breakpoints superiores, normalmente considerados para desktop, devem estar imediatamente visíveis no ecrã pelo menos as opções de 1º nível porque, à partida, existe espaço para tal.

    No caso de breakpoints inferiores, normalmente considerados para tablet e mobile, o menu pode manter-se colapsado.
    Independentemente da página, o menu deve estar sempre posicionado no mesmo local.

    Em breakpoints superiores, o menu principal do site está colapsado e só é possível expandi-lo a partir do botão “Menu hambúrguer” (ver Figura 01). Por isso, as opções de primeiro nível não são imediatamente visíveis para os utilizadores.

    Image

    Figura 01: Imagem da página inicial com o menu principal colapsado no topo esquerdo.

    Recomendações

    Em breakpoints superiores, as opções de 1º nível do menu devem estar sempre visíveis na página enquanto existir espaço.

Requisito 3.3 - As hiperligações de texto não devem ser diferenciadas apenas com base na cor

etiqueta: NOK

Lista de evidências recolhidas:

  • evidência: issue #16 R 3.3 - Conteúdo (Estrutura da Navegação)

    etiqueta: chk conteúdoetiqueta: NOKetiqueta: R 3.3

    Evidências

    Hiperligações não identificáveis como clicáveis no website

    Foi identificado um problema de acessibilidade relacionado com a identificação visual de links no website. Atualmente, existem situações em que os links não estão devidamente diferenciados do texto normal, sendo identificáveis apenas através da cor ou de interação (hover), o que não cumpre as boas práticas de acessibilidade. Segue em seguida alguns exemplos encontrados:

    Image

    Imagem dos breadcrumbs como elementos clicáveis mas sem qualquer indicação visual. Disponível em: https://agenda.cm-camaradelobos.pt/menu/lista-de-eventos/evento/1163-festa-gastronomica-do-peixe-de-espada-preto-camara-de-lobos

    Image

    Imagem dos títulos dos eventos com indicação visual apenas em hover. Disponível em: https://agenda.cm-camaradelobos.pt/menu/lista-de-eventos

    Image

    Imagem de hiperligação no formulário com indicação visual complementar apenas em hover. Disponível em: https://agenda.cm-camaradelobos.pt/menu/submeter-evento

    Outros casos:

    • "Digital" no header;
    • Hiperligações do menu de links úteis no rodapé;
    • "Saber mais" na caixa dos eventos;

    Recomendações

    Garantir que todos os links:

    • Sejam visualmente distinguíveis do texto normal sem depender exclusivamente da cor;

    • Incluam sublinhado ou outro indicador visual consistente;

    • Mantenham consistência em todos os estados (normal, hover, focus).

Requisito 4.1 - Os documentos longos têm um índice no topo com hiperligações internas para o mesmo

etiqueta: OK (no entanto contém 1 melhoria que se recomenda efetuar)

Lista de evidências recolhidas:

Requisito 4.2 - O layout do sítio Web é adaptável a plataformas móveis sem necessidade de efetuar varrimento horizontal

etiqueta: NOK

Lista de evidências recolhidas:

Requisito 5.2 - Os elementos interativos têm uma dimensão mínima de 44px CSS (44 pontos) (vertical e horizontal)

etiqueta: NOK

Lista de evidências recolhidas:

Requisito 5.3 - Há apenas um botão de ação principal por página e o mesmo encontra-se destacado

etiqueta: OK (no entanto contém 1 melhoria que se recomenda efetuar)

Lista de evidências recolhidas:

  • evidência: issue #24 R 5.3 - Conteúdo (Elementos Interativos)

    etiqueta: chk conteúdoetiqueta: melhoriaetiqueta: R 5.3

    Evidências

    Inconsistência visual em botões de ação principal e ausência de indicadores claros de clicabilidade

    Foi identificado que alguns botões de ação principal apresentam estilos visuais inconsistentes entre páginas, comprometendo a uniformidade da interface e a identificação clara das ações principais disponíveis.

    Por exemplo, os botões “Limpar filtros” e “Submeter evento” não possuem o mesmo estilo visual:

    https://agenda.cm-camaradelobos.pt/menu/noticias-agenda
    https://agenda.cm-camaradelobos.pt/menu/submeter-evento

    Botão

    Figura 01 – Botão “Limpar filtros” com estilo visual inconsistente em relação a outros botões de ação principal da interface.

    563

    Figura 02 – Botão “Submeter evento” com estilo visual inconsistente em relação a outros botões de ação principal da interface.

    Adicionalmente, em determinados contextos, especialmente na versão mobile, o elemento “Limpar filtros” deixa de aparentar visualmente ser um botão, sendo apresentado apenas como texto simples.

    Exemplo:
    https://agenda.cm-camaradelobos.pt/multimedia

    Elemento

    Figura 03 – Elemento “Limpar filtros” apresentado visualmente como texto simples em determinados contextos da versão mobile, dificultando a perceção de que se trata de um botão interativo.

    Recomendações

    Garantir consistência visual entre os botões de ação principal do sítio Web, assegurando a utilização de estilos uniformes para elementos com a mesma função e prioridade de ação. Adicionalmente, garantir que os elementos interativos apresentem indicadores visuais claros de clicabilidade em todos os contextos e tamanhos de ecrã, incluindo na versão mobile, através de estilos visuais associados a botões e ações interativas.

Requisito 5.4 - Elementos gráficos interativos têm de aparentar ser clicáveis

etiqueta: NOK

Lista de evidências recolhidas:

Checklist Transação

etiqueta: NOK

Nível de conformidade:

  • Checklist Transação: 11.1% (1/9)
    • Requisitos avaliados: 13 (4 N/A excluídos, 9 aplicáveis)
    • Requisitos OK: 1
    • Requisitos NOK: 8
    • Requisitos N/A: 4

Requisito 1.1 - A sequência de tabulação entre campos segue a sequência de preenchimento

etiqueta: NOK

Lista de evidências recolhidas:

  • evidência: issue #38 R 1.1 - Transação (Formulários)

    etiqueta: NOKetiqueta: chk transaçãoetiqueta: R 1.1

    Evidências

    Há campos dos formulários que são ignorados quando se navega por teclado

    Ao navegar pelo formulário com o teclado usando a tecla Tab, a sequência de tabulação deve seguir a ordem de preenchimento, passando por todos os campos disponíveis.

    Verificámos que, nas páginas Lista de Eventos e Lista de Eventos – Cartazes, não é possível focar em alguns campos dos formulários destas páginas através de Tab e Shift+Tab. No caso da página Lista de Eventos, não é possível focar em nenhum dos campos dentro do formulário (“Nome do Evento”, “Categoria”, “Freguesia”, “Mês”, “Limpar por Filtro”). No caso da página Lista de Eventos – Cartazes, não é possível focar nos campos “Freguesia”, “Mês” e na opção “Limpar filtro”.

    Image

    Figura 1 - Análise da opção "Limpar filtro", na página Lista de Eventos - Cartazes, através do Google Inspector.

    Image

    Figura 2 - Análise da lista suspensa "Categoria", na página Lista de Eventos - Cartazes, através do Google Inspector.

    Recomendações

    Recomendamos que os componentes dos formulários sejam restruturados utilizando elementos HTML nativos e semânticos, evitando recorrer a div's para construir campos de formulário.

    Para componentes como campos de texto e listas suspensas, sugerimos a consulta da página Creating Accessible Forms da WebAIM, que apresenta boas práticas de acessibilidade.

    Nos formulários das páginas Lista de Eventos e Lista de Eventos – Cartazes, a opção “Limpar filtro” deve ser implementada através do elemento HTML nativo <button> em vez de <span>, garantindo que o controlo seja corretamente identificado como um botão pelos leitores de ecrã e tecnologias de apoio.

Requisito 1.2 - Os formulários com mais de 2 ecrãs de altura devem ser distribuídos por várias páginas

etiqueta: N/A

Lista de evidências recolhidas:

  • evidência: issue #39 R 1.2 - Transação (Formulários)

    etiqueta: chk transaçãoetiqueta: R 1.2etiqueta: N/A

    Evidências

    Não foram encontrados formulários com mais de 2 ecrãs no website

    Não foram encontrados formulários com mais de dois ecrãs no site Agenda Municipal de Câmara de Lobos. Assim, este critério é considerado "Não aplicável (N/A)".

    Recomendações

    No response

Requisito 1.3 - Os formulários com mais de uma página têm a sequência de passos ilustrada

etiqueta: N/A

Lista de evidências recolhidas:

  • evidência: issue #40 R 1.3 - Transação (Formulários)

    etiqueta: chk transaçãoetiqueta: R 1.3etiqueta: N/A

    Evidências

    Não foram encontrados formulários com mais de uma página

    Não foram encontrados formulários com mais de uma página dentro da Agenda Municipal de Câmara de Lobos. Assim, este requisito fica avaliado como "Não Aplicável".

    Recomendações

    No response

Requisito 2.1 - O tamanho dos campos deve refletir o tamanho previsível dos dados

etiqueta: NOK

Lista de evidências recolhidas:

  • evidência: issue #41 R 2.1 - Transação (Campos)

    etiqueta: NOKetiqueta: chk transaçãoetiqueta: R 2.1

    Evidências

    O tamanho do campo não reflete o tamanho previsível dos dados

    Verificámos que na página Submeter Evento, o campo “Nome do Evento” apresenta uma largura excessiva para o tipo de dados que o utilizador precisa de inserir.

    Image

    Figura - Parte do formulário presente na página Submeter Evento. O campo "Nome do Evento" está destacado através de um retângulo de borda preta.

    Recomendações

    Recomendamos que este campo de formulário seja ajustado, tornando o mais estreito e proporcional ao conteúdo previsto.

Requisito 2.2 - É usada revelação progressiva em vez de campos inativos

etiqueta: NOK

Lista de evidências recolhidas:

  • evidência: issue #48 R 2.2 - Transação (Campos)

    etiqueta: NOKetiqueta: chk transaçãoetiqueta: R 2.2

    Evidências

    Há campos dependentes de outros campos que estão imediatamente visíveis, mas estão inativos

    Os campos dependentes do preenchimento de outros campos devem aparecer apenas após o campo principal ter sido preenchido. Desta forma, reduz-se a probabilidade de preencher dados contraditórios.

    No formulário da página Submeter Evento, o campo “A Câmara Municipal de Câmara de Lobos é coorganizadora do evento?” está visível mas inativo, não sendo possível de preencher, visto que tem dependência do preenchimento do campo “NIF/NIPC”.

    Image

    Figura 1 - Formulário da página Submeter Evento.

    Image

    Figura 2 - Análise do campo "A Câmara Municipal de Câmara de Lobos é coorganizadora do evento?", no formulário da página Submeter Evento, através do Google Inspector.

    Recomendações

    Recomendamos esconder o campo “A Câmara Municipal de Câmara de Lobos é coorganizadora do evento?”. Apenas deve aparecer após o utilizador preencher o campo “NIF/NIPC”, dependendo da resposta dada.

    Reparámos também que o aparecimento do restante formulário, abaixo do campo “A Câmara Municipal de Câmara de Lobos é coorganizadora do evento?”, está também dependente do preenchimento do primeiro campo “NIF/NIPC”. Assim, quer o campo “A Câmara Municipal de Câmara de Lobos é coorganizadora do evento?” quer o restante formulário, só devem ficar visíveis – quer visualmente na interface gráfica quer para os leitores de ecrã - após preenchimento do campo “NIF/NIPC”.

Requisito 2.3 - As legendas dos campos são breves e claras

etiqueta: NOK

Lista de evidências recolhidas:

  • evidência: issue #43 R 2.3 - Transação (Campos)

    etiqueta: NOKetiqueta: chk transaçãoetiqueta: R 2.3

    Evidências

    O texto placeholder está a substituir o rótulo

    Não deve ser usado o texto placeholder em substituição de uma label, porque ao escrever no campo esse texto irá desaparecer e torna a tarefa difícil para pessoas com problemas de memória ou na revisão das respostas do formulário. Para além disso, alguns leitores de ecrã podem não estar preparados para ler esse texto.
    Manter a label visível no ecrã, amplia-se a área de clique, o que pode beneficiar pessoas com dificuldades motoras ao selecionar um campo específico.

    No campo “Nome do Evento” do formulário da página Lista de Eventos, há apenas um texto placeholder associado ao campo e não existe qualquer legenda associada ao mesmo.

    Image

    Figura - Análise do campo "Nome do Evento", na página Lista de Eventos, através do Google Inspector.

    Recomendações

    Recomendamos a revisão dos formulários para garantir que:

    • são atribuídas legendas aos campos utilizando o elemento <label>;
    • o texto placeholder, quando utilizado, auxilia no preenchimento do campo em vez de substituir a legenda;
    • caso seja usada a legenda dentro do campo, esta deve estar identificada como <label> e não deve desaparecer quando o campo está em foco, como acontece no exemplo do Campos de formulário - Material Design e/ou Caixa de seleção - Material Design

    Para mais informações, recomendamos consultar a página sobre boas práticas nos formulários da WebAIM.

  • evidência: issue #42 R 2.3 - Transação (Campos)

    etiqueta: NOKetiqueta: chk transaçãoetiqueta: R 2.3

    Evidências

    Caixas de combinação não estão estruturadas de forma acessível

    Verificámos que, nas comboboxes presentes nas páginas Notícias Agenda, Multimédia e Submeter Evento o leitor de ecrã não consegue aceder aos rótulos dos campos — quando o utilizador navega com Tab ou Shift+Tab — nem às opções disponíveis dentro de cada combobox. Quando o utilizador tenta navegar pelas opções, o leitor de ecrã anuncia apenas “Em branco”, em vez de ler cada opção disponível. Isto significa que estas caixas de combinação não estão estruturadas de forma acessível.

    Image

    Figura 1 - Navegação na página Multimédia através de Tab e Shift+Tab e pelo leitor de ecrã NVDA. Quando o utilizador foca os campos "Filtrar por categoria" e "Filtrar por ano" não são anunciados os rótulos dos campos.

    Image

    Figura 2 - Análise do campo "Subcategoria", na página Notícias Agenda, através do leitor de ecrã. Quando o utilizador tenta navegar pelas opções do campo, o leitor de ecrã anuncia apenas “Em branco”, em vez de ler cada opção disponível.

    Image

    Figura 3 - Análise do campo "Subcategoria", da página Notícias Agenda, através do Google Inspector.

    Recomendações

    Recomendamos que estes componentes sejam reestruturados para garantir total compatibilidade com tecnologias de apoio.

    Como referência para uma implementação acessível de uma combobox, recomendamos consultar o exemplo da W3C Editable Combobox With Both List and Inline Autocomplete.

    Se concluírem que o número de opções não justifica o uso de uma combobox, podem optar por alternativas mais simples, como listas suspensas ou radio buttons. A página Creating Accessible Forms apresenta exemplos práticos de implementações acessíveis destes componentes.

Requisito 2.4 - Campos obrigatórios devem ser claramente indicados como tal

etiqueta: NOK

Lista de evidências recolhidas:

  • evidência: issue #60 R 2.4 - Transação (Campos)

    etiqueta: melhoriaetiqueta: chk transaçãoetiqueta: R 2.4

    Evidências

    Há campos que não estão visualmente identificados como obrigatórios
    Verificámos que, na página Submeter Evento, os campos “Website do evento”, “Facebook do evento” e “Instagram do evento” estão programaticamente definidos como obrigatórios (através de aria-required=”true”) mas não têm nenhuma indicação visual de que são campos de preenchimento obrigatório.

    Image

    Figura - Análise dos campos "Website do evento" e "Facebook do Evento", da página Submeter Evento, através do Google Inspector.

    Recomendações

    Recomendamos que, tal como nos restantes campos de preenchimento obrigatório, seja adicionado um asterisco(*) à frente do rótulo. Adicionalmente, e como já referido na issue “Não há informação clara sobre o que é o asterisco nos campos de preenchimento obrigatório”, deve também ser adicionada uma legenda no início do formulário a indicar claramente o significado de *.

  • evidência: issue #52 R 2.4 - Transação (Campos)

    etiqueta: NOKetiqueta: chk transaçãoetiqueta: R 2.4

    Evidências

    Há campos obrigatórios que não estão identificados programaticamente

    Verificámos que, no formulário da página Submeter Evento, os campos:

    • “A Câmara Municipal de Câmara de Lobos é coorganizadora do evento?”
    • “Categoria”
    • “Data de início”
    • “Freguesia”
    • “Layout pretendido para a página de detalhe”
    • “Declaro sob compromisso de honra a veracidade de todas as declarações prestadas e assumo toda a responsabilidade consequente da sua inexatidão ou falsidade”
    • “Declaro que li e aceito a Política de Privacidade

    Não estão programaticamente definidos como obrigatórios.

    Image

    Figura 1 - Análise do campo “Declaro sob compromisso de honra a veracidade de todas as declarações prestadas e assumo toda a responsabilidade consequente da sua inexatidão ou falsidade”, na página Submeter Evento, através do Google Inspector.

    Image

    Figura 2 - Análise do campo “Declaro que li e aceito a Política de Privacidade”, na página Submeter Evento, através do Google Inspector.

    Recomendações

    Recomendamos que, em todos os campos obrigatórios, seja adicionado o atributo required nos campos de input de forma a reforçar aos utilizadores de tecnologias de apoio que o campo em questão é um campo de preenchimento obrigatório.

  • evidência: issue #49 R 2.4 - Transação (Campos)

    etiqueta: NOKetiqueta: chk transaçãoetiqueta: R 2.4

    Evidências

    Não há informação clara sobre o que é o asterisco nos campos de preenchimento obrigatório

    Os campos obrigatórios dos formulários devem estar devidamente identificados como tal. Idealmente, devem apresentar o texto “Obrigatório” à frente da legenda do campo. Pode-se colocar um * no campo obrigatório, desde que o significado do * seja mencionado no início do formulário.

    Verificámos que no formulário da página Submeter Evento não existe informação sobre o significado do asterisco (*) colocado à frente dos campos.

    Image

    Figura - Formulário da página Submeter Evento.

    Recomendações

    Recomendamos a revisão dos formulários de forma a ser adicionada uma legenda no início do formulário a indicar claramente o significado de *.

Requisito 3.1 - Em ações longas, o sistema deve indicar o que está a acontecer

etiqueta: N/A

Lista de evidências recolhidas:

  • evidência: issue #5 R 3.1 - Transação (Resposta)

    etiqueta: chk transaçãoetiqueta: N/Aetiqueta: R 3.1

    Em ações longas, o sistema deve indicar o que está a acontecer.
    ver requisito 3.1 na lista Transação

    Evidências

    Inexistência de ações longas

    Na análise realizada, não foram identificadas ações longas que exijam comunicação de estado ao utilizador.

    Desta forma, considera-se que o critério é não aplicável.

    Recomendações

    N/A

Requisito 3.2 - Deve ser confirmado o sucesso da transação/envio de informação

etiqueta: NOK

Lista de evidências recolhidas:

  • evidência: issue #6 R 3.2 - Transação (Resposta)

    etiqueta: NOKetiqueta: chk transaçãoetiqueta: R 3.2

    Deve ser confirmado o sucesso da transação/envio de informação.
    ver requisito 3.2 na lista Transação

    Evidências

    Feedback após submissão não acessível

    Após submissão do formulário:

    • A mensagem de feedback não é anunciada por leitores de ecrã
    • Não existe uso de aria-live, role="alert" ou role="status"
    • O foco não é movido para a mensagem
    • A mensagem não é alcançável por navegação por teclado
    • O utilizador pode permanecer no formulário sem perceber que a ação foi concluída

    Este comportamento compromete a compreensão do estado da interface.

    Image

    Figura 1 – Mensagem de feedback não anunciada nem acessível por teclado

    Notas Gerais

    • Sempre que o utilizador realiza uma ação (ex.: submissão de um formulário), o sistema deve fornecer um retorno claro e imediato sobre o resultado dessa ação. Esse feedback deve ser perceptível visualmente e também programaticamente acessível, garantindo que utilizadores de tecnologias de apoio são informados da alteração de estado.

    URL a verificar

    Recomendações

    • Garantir que todas as ações apresentam feedback claro e acessível
    • Utilizar aria-live="polite" ou role="status" para mensagens dinâmicas
    • Mover o foco para a mensagem de sucesso/erro após submissão
    • Assegurar que o feedback é navegável por teclado
    • Garantir que mensagens são visíveis e persistentes
    • Validar com leitores de ecrã e navegação por teclado

Requisito 4.2 - As ações destrutivas nunca devem ser permanentes; deve ser sempre possível desfazer a operação

etiqueta: N/A

Lista de evidências recolhidas:

  • evidência: issue #54 R 4.2 - Transação (Erros)

    etiqueta: chk transaçãoetiqueta: R 4.2etiqueta: N/A

    Evidências

    Não identificamos formulários que permitem o utilizador fazer ações destrutivas e por esse motivo, consideramos esse critério como "Não aplicável".

    Recomendações

    N/A

Requisito 4.3 - As mensagens de erro são claramente identificadas junto aos campos de origem

etiqueta: NOK

Lista de evidências recolhidas:

  • evidência: issue #70 R 4.3 - Transação (Erros)

    etiqueta: NOKetiqueta: chk transaçãoetiqueta: R 4.3

    Evidências

    Existem mensagens de erro apresentadas entre a etiqueta e o campo

    Os formulários que precisam de apresentar mensagens de erro apresentam-nas junto aos campos. No entanto, existem campos cujas mensagens de erro associadas são apresentadas a seguir às labels em vez de serem as últimas componentes a serem apresentadas. Referimo-nos concretamente às textareas personalizadas do formulário presente na página Submeter Evento:

    Image

    Mensagem de erro apresentada a seguir à etiqueta

    Recomendações

    Recomendamos que as mensagens de erro sejam as últimas componentes dos campos a serem apresentadas, para manutenção da coerência com todos os outros controlos de formulários existentes no site.

  • evidência: issue #67 R 4.3 - Transação (Erros)

    etiqueta: NOKetiqueta: chk transaçãoetiqueta: R 4.3

    Evidências

    Existem checkboxes que não têm as mensagens programaticamente associadas:

    Image

    Checkbox no formulário Submeter Evento que não tem a mensagem de erro programaticamente associada

    Recomendações

    Recomendamos que todos os campos tenham as mensagens de erro programaticamente associada, para que sejam lidas pelos leitores de ecrã quando se navega por teclado.

Requisito 4.4 - As mensagens de erro devem mostrar os passos concretos para a resolução dos mesmos

etiqueta: NOK

Lista de evidências recolhidas:

  • evidência: issue #69 R 4.4 - Transação (Erros)

    etiqueta: NOKetiqueta: chk transaçãoetiqueta: R 4.4

    Evidências

    Campos de formulário assinalados como inválidos sem indicação concreta para correção

    No campo NIF/NIPC, ao introduzir um valor inválido, o sistema assinala programaticamente o campo como inválido através de aria-invalid="true" e associa um contentor de erro com aria-describedby.

    No entanto, o contentor associado à mensagem de erro encontra-se vazio.
    Na prática, o utilizador é informado de que o campo contém erro, mas não recebe indicação concreta sobre o motivo da invalidação nem sobre a forma de o corrigir.

    Foi ainda observado que, ao introduzir um valor incorreto neste campo, o formulário pode impedir a progressão normal para outros campos, sem apresentar instruções claras para resolução.

    Image

    Figura 1 – Campo NIF/NIPC assinalado como inválido sem mensagem de erro explicativa

    Recomendações

    • Sempre que o campo NIF/NIPC for invalidado, deve ser apresentada uma mensagem de erro clara e objetiva.
    • A mensagem deve indicar concretamente o que o utilizador necessita corrigir.
    • Devem ser evitadas mensagens vazias ou apenas a sinalização visual do erro.
    • A mensagem deve permanecer programaticamente associada ao campo através de aria-describedby.
    • Recomenda-se validar este comportamento também nos restantes formulários do website.

Outras violações

etiqueta: OK (no entanto contém 6 melhorias que se recomenda efetuar)

Lista de evidências recolhidas:

  • evidência: issue #81 Outras violações

    etiqueta: melhoriaetiqueta: outras violações

    Evidências

    Outras violações - Há títulos desorganizados em ecrãs

    Descrição da problemática

    Na página inicial, ao aceder as notícias na secção “Momentos” os detalhes das páginas possuem títulos que ocupam a largura da página com um espaço que sobrepõe a área do conteúdo ou mantém os espaçamento muito próximo a outras informações por exemplo a “data de publicação”, causando desorganização visual no ecrã.

    Por exemplo, na página Ana Lua Caiano e João Borsch na Semana da Juventude de Câmara de Lobos! (Figura 1 e 2)

    Image

    Figura 1 - Título desordenado nas versões desktop

    Image

    Figura 2 - Título comprimido nas versões mais pequenas

    Esta desorganização da informação pode dificultar a leitura rápida, aumentar a carga cognitiva, especialmente em dispositivos móveis e para utilizadores de tecnologias assistivas.

    Outros exemplos:


    Recomendações

    Definir limites de extensão para os títulos, usar subtítulos ou texto introdutório para informações complementares e aplicar hierarquia semântica clara (título principal mais curto). Garantir também um layout responsivo para títulos que controle a quebra de texto, melhorando a legibilidade e a acessibilidade geral da página.

  • evidência: issue #80 Outras violações

    etiqueta: melhoriaetiqueta: outras violações

    Evidências

    Outras violações - Botão com texto alternativo em inglês

    Descrição da problemática

    Verificamos uma inconsistência linguística, uma vez que o website está em português mas há botões com o textos alternativos em inglês.

    Por exemplo na página Submeter evento os botões de ampliar e reduzir mapa, possuem textos alternativos em inglês "Zoom in", “Zoom out”, sem indicação adequada do atributo lang. Dificultando a navegação para utilizadores do idioma português, língua em que o site é implementado. (Figura 1)

    Image

    Figura 1 - Botões do mapa com textos alternativos em inglês

    Além disso na página inicial o botão, "seletor de idiomas", possui aria-label="Select Language", pelo que deve ser corrigido para o idioma principal do website. (Figura 2)

    Image

    Figura 2 - Botão com texto alternativo em inglês

    Recomendações

    Recomendamos traduzir todos os textos alternativos dos botões para português, idioma principal do website.

  • evidência: issue #77 Outras violações

    etiqueta: melhoriaetiqueta: outras violações

    Evidências

    Outras violações - Falha na abertura de vídeos em modal na seção Multimédia

    Descrição da problemática
    Na página inicial, a secção “Multimédia”, os botões destinados a abrir vídeos em uma modal não funcionam corretamente ao serem acionados, os vídeos são duplicados na própria página, não são ampliados e a modal não se apresenta de forma adequada, ficando desalinhada, não centralizada no ecrã e exibindo apenas um botão “fechar” lateral ao vídeo ainda em miniatura. (Figura 1 e 2)



    Image

    Figura 1 - Botões que acionam a modal e análise da navegação com leitor de ecrã NVDA

    Image

    Figura 2 - 
Apresentação incorreta da modal e desalinhada no ecrã

    Esse comportamento compromete a usabilidade, gera confusão na interação e prejudica a acessibilidade, especialmente para utilizadores de teclado e tecnologias assistivas.

    Recomendações

    Corrigir a implementação dos botões e das modais para garantir que o vídeo seja aberto em uma janela sobreposta, centralizada no ecrã, com bloqueio do conteúdo de fundo, foco adequado e controles acessíveis. Evitar a duplicação de conteúdo e assegurar que a abertura e o fechamento da modal sigam boas práticas de acessibilidade proporcionando uma interação clara, consistente e previsível para todos os utilizadores

  • evidência: issue #76 Outras violações

    etiqueta: melhoriaetiqueta: outras violações

    Evidências

    Outras violações - Há hiperligações que redirecionam para páginas de erro

    Descrição da problemática

    O menu principal do website, possui opções de segundo nível na área “Agenda” Agenda - Dança e Conferências / Workshops com hiperligações que apontam para conteúdos inexistentes. Ao aceder os conteúdos o utilizador é redirecionado para página de erro e recebe a mensagem “Sem resultados. Faça nova pesquisa.” (Figura 1)


    Image

    Figura 1 - Páginas que redirecionam para conteúdos "Sem resultados"

    Esta situação impede o acesso à informação e constitui uma barreira significativa na acessibilidade do conteúdo.

    Recomendações

    Recomenda‑se rever todo website, para garantir que todas as hiperligações apontam para conteúdos atualizados e disponíveis no website.

  • evidência: issue #75 Outras violações

    etiqueta: melhoriaetiqueta: outras violações

    Evidências

    Outras violações - Foco não está visível na navegação por teclado e leitor de ecrã

    Descrição da problemática
    Ao navegar pelo website utilizando apenas o teclado e leitor de ecrã, o indicador de foco não se encontra visível, dificultando significativamente a navegação, em particular para utilizadores que dependem exclusivamente deste meio de interação.

    Durante a navegação sequencial através da tecla TAB, o foco não está visível e as componentes não são circunscritas durante a navegação por teclado, por exemplo nos cards da secção “Categorias” e nas hiperligações do rodapé. (Figura 1 e 2)

    Image

    Figura 1 – Exemplo de ausência do foco visível na navegação por teclado no card “Espetáculo”

    Image

    Figura 2 – Exemplo de foco visível mas não circunscreve corretamente as componentes

    O foco não é apresentado de forma perceptível, sendo apenas possível inferir a sua existência através da barra de estado do navegador ou anúncio das informações com o leitor de ecrã NVDA. Sendo assim, não é possível identificar visualmente a posição do utilizador em cada momento da navegação. Esta situação pode levar o utilizador a perder a noção da sua posição nas páginas, comprometendo a usabilidade e a acessibilidade do website.

    Recomendações

    Garantir que todos os elementos interativos do website apresentam um indicador de foco visível, suficientemente contrastante e consistente, sempre que recebem foco através da navegação por teclado. O estilo de foco deverá:

    • Ser claramente percetível visualmente (ex.: contorno, sublinhado ou mudança de cor);
    • Manter contraste adequado em relação ao fundo;
    • Não ser removido através de regras CSS como outline: none sem alternativa equivalente;
    • Acompanhar corretamente a ordem lógica da navegação por teclado.

    Esta melhoria é essencial para assegurar uma navegação acessível a utilizadores com deficiência visual, motora ou cognitiva

  • evidência: issue #74 Outras violações

    etiqueta: melhoriaetiqueta: outras violações

    Evidências

    Outras violações - Link “Passar para o Conteúdo Principal” não é visível

    Descrição da problemática
    Na estrutura do website encontra‑se disponível o link “Passar para o Conteúdo Principal”, cuja finalidade é permitir aos utilizadores contornar blocos repetitivos de navegação e aceder diretamente à área principal do conteúdo.

    No entanto, este link além de não direcionar para o contéudo principal permanecendo no header, não é apresentado de forma visível, não sendo identificado como um botão ou link interativo durante a navegação visual. Adicionalmente, não é devidamente percetível, comprometendo a sua função para utilizadores que navegam exclusivamente por teclado. (Figura 1)

    Image

    A Figura 1 - Inexistência operacional do link “Passar para o Conteúdo Principal” do ponto de vista do utilizador com leitor de ecrã NVDA

    Image

    Figura 2 – Inspeção do link “Ir para conteúdo” que não está visível

    Esta situação impede que o mecanismo de salto cumpra o seu propósito de facilitar a navegação eficiente e inclusiva, reduzindo a usabilidade global do website e criando barreiras de acesso à informação.

    Recomendações

    Assegurar que o link “Passar para o Conteúdo Principal” seja:

    • Visualmente percetível, apresentando-se como um elemento interativo (link ou botão);
    • Posicionado de forma lógica no início da página, disponível e visível quando recebe foco por teclado;
    • Corretamente identificado e anunciado por leitores de ecrã;

    O link deverá tornar‑se visível aquando da navegação por teclado (por exemplo, ao receber foco através da tecla TAB) e permitir que todos os utilizadores compreendam claramente a sua função.

Significado das etiquetas utilizadas