Escolar Documentos
Profissional Documentos
Cultura Documentos
Processamento de Informação
José Augusto Monteiro
Classificação WCAG2 de
websites do Governo Português
Realizado por:
Table of Contents
Introdução............................................................................................................................................3
Metodologia.........................................................................................................................................4
Componentes do trabalho................................................................................................................4
Inventariação dos sítios web.......................................................................................................4
Avaliação e pesquisa de software................................................................................................5
Detalhes sobre a implementação.................................................................................................6
Resultados......................................................................................................................................10
Conclusão.......................................................................................................................................15
Anexos................................................................................................................................................16
2
Classificação WCAG2 de websites do Governo Português
Introdução
Para melhor se compreender os padrões WCAG2, é importante referir que esta norma é
destinada a classificar o grau de acessibilidade de um website e abrange um vasto conjunto de
recomendações que têm como objetivo tornar o conteúdo Web mais acessível. O cumprimento
destas recomendações fará com que o conteúdo se torne acessível a um maior número de pessoas
com incapacidades, incluindo cegueira e baixa visão, surdez e baixa audição, dificuldades de
aprendizagem, limitações cognitivas, limitações de movimentos, incapacidade de fala,
fotossensibilidade bem como as que tenham uma combinação destas limitações. Seguir estas
recomendações fará também com que o conteúdo Web se torne mais prático também para os
utilizadores em geral.
Neste sentido é relevante determinar o grau de compromisso dos diversos serviços públicos
Portugueses no respeito por esta norma, detetar os problemas se confirmados e avaliar o tipo de
riscos se existentes.
Para consulta do código desenvolvido para o projecto poderá aceder ao endereço do github:
https://github.com/andreaxe/pdi . No endereço do github encontram-se presentes as instruções
necessárias para efectuar o download e execução da aplicação.
3
Classificação WCAG2 de websites do Governo Português
Metodologia
Componentes do trabalho
Tal como foi descrito na introdução, este trabalho contempla 3 importantes etapas:
Ao todo foi possível extrair 100 websites com a designação .gov.pt e reconhecer cerca de 67 com
a designação .pt num total de 167 websites para análise.
Esta recolha devido à forte natureza de I/O a que está associado a consulta de websites,
necessitou de um total de aproximadamente 2 a 3 horas em execução para recolher o número de
websites que definimos como mínimo (+/- 150) para uma amostra significativa do universo de sítios
web pertencentes a entidades e serviços governamentais.
4
Classificação WCAG2 de websites do Governo Português
Para o desenvolvimento do código necessário à execução deste trabalho, decidiu-se avançar com
a linguagem Python.
Para a fase de desenvolvimento foi necessário também efectuar um estudo para analisar a
possibilidade de utilização de ferramentas capazes de analisar conteúdo HTML e validar se a
norma WCAG 2.0 se encontraria a ser respeitada entre outras possíveis informações.
A solução final a ser criada deveria ser capaz de recolher a informação dos endereços web a
serem avaliados e guardar essa informação num ficheiro de texto para posteriormente ser
processada. A informação deveria ser submetida para uma API de terceiros, de preferência de
utilização gratuita no sentido de ser avaliado o seu conteúdo. Existem três ferramentas que validam
a informação desejada através do URL ou código HTML fornecido:
• Achecker (https://achecker.ca/checker/index.php)
• WAVE (https://wave.webaim.org/)
• TotalValidator ((https://www.totalvalidator.com/)
A WAVE é uma nova ferramenta lançada pela WebAim: Web Accessibility in Mind. Novamente,
este é um verificador on-line que permite validar por URL ou código HTML fornecido, mas
infelizmente não há API (ainda) e os resultados não são fáceis de processar através de um
5
Classificação WCAG2 de websites do Governo Português
algoritmo.
A alternativa encontrada foi o Achecker - esta ferramenta funciona bem. Além disso fornece uma
API REST mas não foi possível encontrar uma forma de efectuar um pedido a API para validar o
código HTML (em vez de ser por URL). O software usado no desenvolvimento do AChecker é de
código aberto (PHP) pelo que a possibilidade de executar o serviço num servidor próprio e dispor
da possibilidade de desenvolver ou alterar funcionalidades no próprio serviço é sempre uma grande
vantagem.
Analisando todas as ferramentas chegou-se à conclusão que aquela que melhor serviria os
interesses para o projecto seria a Achecker. O código fonte encontra-se disponível no seguinte
endereço: https://github.com/inclusive-design/AChecker
No seguinte bloco constata-se que existem entidades cuja informação não se encontrava
referenciada em nenhum ponto do documento XML devolvido pelo Achecker.
Este facto resultava num erro da aplicação: Unresolved Entity Reference ccedil
6
Classificação WCAG2 de websites do Governo Português
O método à primeira vista simples para colmatar o problema seria manualmente adicionar as
entidades em falta, contudo esse método seria de difícil implementação automática. A solução
encontrada foi de recurso e consistiu em alterar todas as entidades presentes no documento pela
uma designação que não resultasse em erro. Para assistir nessa solução recorreu-se a uma lista de
caracteres disponiveis no ficheiro “chars” cujo objectivo seria abrir o documento XML como se
tratasse de um ficheiro de texto e percorrer todo o documento de forma a alterar cada ocorrência por
uma string vazia. A solução encontrada embora não seja a ideal revelou-se eficaz contudo admite-se
que seja possível existir uma alternativa a este método, sendo provável uma melhoria da aplicação
7
Classificação WCAG2 de websites do Governo Português
<resultset>
<summary>
<status>PASS</status>
<sessionID>d3942801cf69a2ec73318eeda74da130c91aa467</sessionID>
<NumOfErrors>0</NumOfErrors>
<NumOfLikelyProblems>0</NumOfLikelyProblems>
<NumOfPotentialProblems>0</NumOfPotentialProblems>
<guidelines>
<guideline>WCAG 2.0 (Level A)</guideline>
<guideline>WCAG 2.0 (Level AA)</guideline>
<guideline>WCAG 2.0 (Level AAA)</guideline>
</guidelines>
</summary>
<results>
</results>
</resultset>
<resultset>
<summary>
<status>FAIL</status>
<sessionID>16465d0e50e66c4f3268b020b4cbb7fee5575f4a</sessionID>
<NumOfErrors>1</NumOfErrors>
<NumOfLikelyProblems>0</NumOfLikelyProblems>
<NumOfPotentialProblems>281</NumOfPotentialProblems>
<guidelines>
<guideline>WCAG 2.0 (Level A)</guideline>
<guideline>WCAG 2.0 (Level AA)</guideline>
<guideline>WCAG 2.0 (Level AAA)</guideline>
</guidelines>
</summary>
8
Classificação WCAG2 de websites do Governo Português
<results>
<result>
<resultType>Potential Problem</resultType>
<lineNum>1</lineNum>
<columnNum>92</columnNum>
<errorMsg><a href="https://achecker.ca/checker/suggestion.php?id=54"
onclick="AChecker.popup('https://achecker.ca/checker/suggestion.php?id=54');
return false;"
title="Suggest improvements on this error message"
target="_new"><code>title</code> might not describe the
document.</a>
</errorMsg>
….
Uma vez corrigidos os ficheiros XML devolvidos pelo Achecker, procedeu-se à extração das
variáveis que nos interessam estudar, que são as seguintes:
• status
• NumOfErrors
• NumOfLikelyProblems
• NumOfPotencialProblems
Essas variáveis foram armazenadas num dicionário de listas, ideal para serem introduzidas num
pandas dataframe. O pandas é uma biblioteca de Python especializada em análise de dados.
9
Classificação WCAG2 de websites do Governo Português
De acordo com a tabela disponibilizada pela ferramenta “Achecker”, os erros prováveis ou erros
potenciais não são considerados erros que possam gerar um resultado negativo.
Resultados
Os resultados indicam que do universo de 167 websites avaliados, 60.2% dos sites foram
avaliados negativamente, 34.3% receberam nota positiva e 5,4% dos sites receberam uma avaliação
positiva “condicional”. Este resultado demonstra que mais de metade do universo de sites afetos ao
Governo da Republica Portuguesa apresentam erros de acessibilidade e não respeitam as
recomendações para uma boa usabilidade online.
Existem também bons exemplos de entidades cujos websites são bastante frequentados e
obtiveram resultados positivos ainda que condicionais como são os casos do Portal da Empresa
(https://eportugal.gov.pt/inicio/espaco-empresa) e o Portal do Cidadão (https://eportugal.gov.pt/).
10
Classificação WCAG2 de websites do Governo Português
Na análise aos erros detectados constatou-se que pelo menos 37,4% dos websites avaliados
negativamente contém um valor superior a 10 erros sendo que a percentagem de erros prováveis
superior a 10 é muito baixa.
De seguida analisou-se uma quantidade de erros superior a 50 para ajudar a entender melhor a
dimensão
11
Classificação WCAG2 de websites do Governo Português
12
Classificação WCAG2 de websites do Governo Português
Nos gráficos posteriores verificamos que no universo de websites com erros, a quantidade de
websites com erros superiores a 50 é relativamente pequena (22%). Em todo o caso constatamos
que existem websites com uma quantidade de erros bastante elevada. Na seguinte imagem
apresentamos o TOP 10 dos sites com o maior número de erros.
13
Classificação WCAG2 de websites do Governo Português
14
Classificação WCAG2 de websites do Governo Português
Conclusão
Esperava honestamente por este tipo de resultados uma vez que existe a percepção de acordo
com a amostra recolhida, que a maioria dos sítios criados para as diferentes entidades do Governo
Português foram desenvolvidos de raiz há alguns anos, sendo que a própria manutenção técnica
também não deverá ser a ideal. Com a exceção dos websites mais conhecidos e visitados pela
população Portuguesa, todos os outros apresentam (com uma ou outra ressalva) um estilo de
desenvolvimento algo ultrapassado o que deixa antever uma maior probabilidade da página não
cumprir com as recomendações de boas práticas de acessibilidade. Sem a vantagem da utilização de
frameworks modernas, os programadores ficam inevitavelmente mais expostos a violar
recomendações de boas práticas de acessibilidade de acordo com as recomendações do WCGA 2.0.
Analisando alguns dos websites com um número de erros elevados, é esta a maior conclusão e
justificação que retiro deste trabalho.
Em anexo estão incluídos todos os ficheiros XML devolvidos pelo Achecker onde é possível ao
leitor consultar possíveis erros e as sugestões de correção apresentadas pela aplicação.
Adicionalmente também está incluído um ficheiro do formato .csv com os resultados da avaliação
efectuada por esta mesma aplicação.
15
Classificação WCAG2 de websites do Governo Português
Anexos
• achecker_results.zip
• https://github.com/andreaxe/pdi
• site_results.xlsx
• site_results.csv
16