diff --git a/README.md b/README.md index ea9bcce..83b4ebf 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,13 @@ Mais informação sobre a Lei das Normas Abertas [no site da ANSOL](https://anso Na eventualidade de teres encontrado incumprimento das Normas Abertas, podes reportar da seguinte forma, abrir um [issue no github](https://github.com/marado/RNID/issues/new/choose), ou enviares um email para [contacto@ansol.org](mailto:contacto@ansol.org). +# Normas de acessibilidade + +Com a introdução do [Observatório Português de Acessibilidade +Web](https://observatorio.acessibilidade.gov.pt/), decidimos não nos focar nos +incumprimentos dessa natureza para não duplicar esforços. + + # Ocorrências de incumprimento [![Validação automática](https://github.com/marado/RNID/actions/workflows/scripts.yml/badge.svg)](https://github.com/marado/RNID/actions/workflows/scripts.yml) @@ -14,19 +21,14 @@ Esta tabela mostra casos de incumprimento do regulamento: | -------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------- | ------------------- | | www.parlamento.pt | Vídeos disponibilizados em WMV | [vídeo de audição](http://www.parlamento.pt/ActividadeParlamentar/Paginas/DetalheAudiencia.aspx?BID=99371) | 2021/10/31 | 2015/03/25 | | www.dgae.min-economia.pt | Microsoft Office | [página com formulários OOXML](http://www.dgae.gov.pt/documentacao-/formularios.aspx) | 2021/10/31 | 2015/03/25 | -| http://www.iefp.pt | Acessibilidade | [site não cumpre WCAG 2.0 AA](http://www.iefp.pt) | 2021/10/31 | 2016/01/05 | -| www.portugal.gov.pt | Acessibilidade | [site não cumpre WCAG 2.0 A](http://www.portugal.gov.pt) | 2021/10/31 | 2019/08/13 | | http://www.cm-lisboa.pt/ | PDF com XFA | [PDF com XFA](http://www.cm-lisboa.pt/fileadmin/DOCS/Formularios/transversais/CML_participacao_ocorrencia.pdf) | 2021/10/31 | 2019/04/23 | | Portais do Ministério das Finanças | Diversos incumprimentos | [XLS, XLSX e DOC](http://info.portaldasfinancas.gov.pt/pt/apoio_contribuinte/tabela_ret_doclib/), [endereços e contactos em XLSX](https://www.portaldasfinancas.gov.pt/pt/contactosEbalcao.action), [lista de formulários, quase na totalidade em formatos proprietários](http://info-aduaneiro.portaldasfinancas.gov.pt/pt/publicacoes_formularios/formularios/Pages/formularios.aspx), [Enviar Ficheiro SAF-T exige Java](https://faturas.portaldasfinancas.gov.pt/enviarSaftAppletForm.action) | 2021/10/27 | 2017/03/25 | | www.ansr.pt | Documentos em DOCX | [Documentos em formato proprietário](http://www.ansr.pt/Contraordenacoes/Formularios/Pages/default.aspx) | 2021/10/31 | 2015/04/14 | | https://www.autenticacao.gov.pt/ | Precisa de [extensão autenticacao.gov.pt](https://autenticacao.gov.pt/fa/ajuda/autenticacaogovpt.aspx#installAgent) para funcionar | [autenticação](https://cmd.autenticacao.gov.pt/Ama.Authentication.Frontend/) | 2021/10/31 | | | http://www.sg.mai.gov.pt | XLS | [cadernos eleitorais](http://www.sg.mai.gov.pt/AdministracaoEleitoral/RecenseamentoEleitoral/ResultadosRecenseamento/Paginas/default.aspx) | 2021/10/31 | 2016/01/28 | | http://www.rcaap.pt/ | obriga depósito de dados em formatos não-livres ([lista de formatos autorizados](https://dre.pt/application/conteudo/72779297)) | MP3 | 2021/10/31 | | -| https://servicos.min-saude.pt/utente/ | Acessibilidade | [site não cumpre WCAG 2.0 AA](https://servicos.min-saude.pt/utente/) | 2021/10/31 | 2016/09/27 | -| http://www.act.gov.pt/ | Acessibilidade | [site não cumpre WCAG 2.0 A](http://www.act.gov.pt/) | 2021/10/24 | | | https://www.igcp.pt/ | XLS | [conteúdo em XLS](https://www.igcp.pt/pt/gca/?id=80) | 2021/10/31 | 2019/05/14 | | https://www.portalviva.pt/ | Java | [necessita plugin JAVA](https://www.portalviva.pt/lx/pt/myvivaclient/client-account-area/loads/new-load.aspx) [(outro exemplo)](https://www.portalviva.pt/lx/pt/public/client-register-modes.aspx) | 2021/10/31 | 2020/05/04 | -| https://prevpap.gov.pt | Acessibilidade | [site não cumpre WCAG 2.0 A](https://prevpap.gov.pt) | 2021/10/31 | 2019/08/13 | | http://www.museudoazulejo.gov.pt/ | Flash | [conteúdo Flash](http://www.museudoazulejo.gov.pt/) | 2021/10/31 | 2019/07/30 | | http://www.matriznet.dgpc.pt/ | Flash | [conteúdo Flash](http://www.matriznet.dgpc.pt/) | 2021/10/31 | | | http://www.matrizpix.dgpc.pt/ | Flash | [conteúdo Flash](http://www.matrizpix.dgpc.pt/) | 2021/10/31 | | @@ -38,10 +40,9 @@ Esta tabela mostra casos de incumprimento do regulamento: | https://www.inventarios.pt | Obriga à utilização de JAVA ou software que só existe para MAC e Windows | [manual de instalação](https://www.inventarios.pt/documentos/manual_instalacao_gosign_v4.pdf) | 2021/10/31 | | | http://www.turismodeportugal.pt/ | Informação apenas em XLSX | [página com vários links para informação apenas em XLSX](http://business.turismodeportugal.pt/pt/Planear_Iniciar/Licenciamento_Registo_da_Atividade/Empreendimentos_Turisticos/Paginas/classificacao-et.aspx) | 2021/10/31 | | | https://www.norte2020.pt/ | Informação apenas em XLSX | [página com documento apenas em XLSX](https://www.norte2020.pt/investimento-municipal) | 2021/10/31 | 2019/10/29 | -| https://siac.vet/ | Acessibilidade | [página não cumpre com WCAG 2.0](https://siac.vet/) | 2021/10/31 | | | https://www.sef.pt/ | Documentos em .doc | [Documentos em .doc no final da página (anunciados como .pdf)](https://www.sef.pt/pt/pages/conteudo-detalhe.aspx?nID=73) | 2021/10/31 | | | http://www.insa.min-saude.pt | XLSX | [dados do R(t) em XLSX](http://www.insa.min-saude.pt/category/areas-de-atuacao/epidemiologia/covid-19-curva-epidemica-e-parametros-de-transmissibilidade/) | 2021/10/29 | 2021/03/12 | -| https://www.imt-ip.pt | TLS, Acessibilidade | [Certificado SSL/TLS expirado há um ano, havendo um novo que alberga todos os domínios \*.imt-ip.pt - sugerindo má configuração do servidor](https://www.imt-ip.pt/sites/IMTT/Portugues/Formularios/Documents/Mod9IMT.pdf), [site não cumpre WCAG 2.0 A](https://www.imt-ip.pt/), [outro site que não cumpre WCAG 2.0 A](https://servicos.imt-ip.pt) | 2021/10/31 | | +| https://www.imt-ip.pt | TLS | [Certificado SSL/TLS expirado há um ano, havendo um novo que alberga todos os domínios \*.imt-ip.pt - sugerindo má configuração do servidor](https://www.imt-ip.pt/sites/IMTT/Portugues/Formularios/Documents/Mod9IMT.pdf) | 2021/10/31 | | Este [template](template.txt) é utilizado pela ANSOL e pela Comunidade LibreOffice Portugal para enviar um pedido de resolução do problema. diff --git a/scripts/03-iefp.sh b/scripts/03-iefp.sh deleted file mode 100755 index afc60ad..0000000 --- a/scripts/03-iefp.sh +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/bash - -# https://www.iefp.pt/ - não cumpre WCAG 2.0 AA - -#TODO: find a good tool to make the validation on request -# https://achecker.ca/documentation/web_service_api.php - API usage depends on user account creation -# webaim.org - API's not gratis - -# While we don't have a validator on request, let's find out if a known violation still exists -## 20/05/2018: - several images without an alt attribute: -## 28/02/2019: the missing alts case is no longer a problem, but to comply with WCAG the XHTML also needs to be valid... -## https://validator.w3.org/nu/?doc=https%3A%2F%2Fwww.iefp.pt%2F -## tidy is a great validator, but isn't catching the errors on this -## page as errors, even if it shows them as warnings... let's be hacky and pay -## attention only on the current use case: -## 03/04/2019: XHTML is now valid, but there are empty headers now, in violation of levels A and AA -if [ "$(wget https://www.iefp.pt/ -o /dev/null -O -| hxnormalize -x -l 10000|hxselect h2 -s '\n'|grep -c "h2> new - mv new README.md -fi diff --git a/scripts/05-governo.sh b/scripts/05-governo.sh deleted file mode 100755 index abb5157..0000000 --- a/scripts/05-governo.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/bash - -#TODO: find a good tool to make the validation on request -# https://achecker.ca/documentation/web_service_api.php - API usage depends on user account creation -# webaim.org - API's not gratis - -# While we don't have a validator on request, let's find out if a known violation still exists -## several images without an alt attribute: -## Empty links are also WCAG violations - -fails="$(wget --no-check-certificate https://www.portugal.gov.pt -o /dev/null -O - | grep " new - mv new README.md -fi diff --git a/scripts/18-act.sh b/scripts/18-act.sh deleted file mode 100755 index b22d420..0000000 --- a/scripts/18-act.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/bash - -# While we don't have a validator on request, let's find out if a known violation still exists -content=$(wget -t 1 --no-check-certificate http://www.act.gov.pt/ --user-agent="Mozilla/5.0 Gecko/20100101 Firefox/21.0" -o /dev/null -O -); -if [ "$( echo "$content" | wc -l )" -eq "0" ]; then - echo "act: página vazia! Pode ser problema no site, ou no script."; -fi - -if [ "$( echo "$content" | grep -i " new - mv new README.md -fi diff --git a/scripts/21-prevpap.sh b/scripts/21-prevpap.sh deleted file mode 100755 index 72c0441..0000000 --- a/scripts/21-prevpap.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/bash - -# | https://prevpap.gov.pt | Acessibilidade | [site não cumpre WCAG 2.0 A](https://prevpap.gov.pt) | 2017/07/31 || - -# While we don't have a validator on request, let's find out if a known violation still exists -if [ ! "$(wget https://prevpap.gov.pt -o /dev/null -O - | grep -i "lang"|wc -l)" -eq "0" ]; then - echo "prevpap: incumprimento pode já não existir"; -else - echo "prevpap: Incumprimento mantém-se, a actualizar o README (faça um git diff, valide, e commit!)"; - while IFS='' read -r line || [[ -n "$line" ]]; do - test $(echo "$line"|grep -v prevpap|wc -l) -eq "1" \ - && echo "$line" \ - || (h=$(echo "$line"|cut -d\| -f1-4); t=$(echo "$line"|cut -d\| -f6-); echo "$h| $(date +%Y/%m/%d) |$t"); - done < README.md > new - mv new README.md -fi diff --git a/scripts/38-siac.sh b/scripts/38-siac.sh deleted file mode 100755 index 92b11b0..0000000 --- a/scripts/38-siac.sh +++ /dev/null @@ -1,52 +0,0 @@ -#!/bin/bash - -fail=0; - - -# Test 1: check alt's -# -# This would be easier if hxremove 7.9 would have been released already. -# What we're looking for is without text or with images only whose alt text -# is empty. -# -# We wouldn't need the while/hxselect mess if we could do hxremove img[alt=""], -# but this segfaults in 7.8. -# -# What I'm doing here is: -# - cleaning up newlines -# - fetching every link -# - appending the alt text of any images in bodies -# - remove the images from bodies -# - if what's left has any text, it should be ok -if curl -L https://www.siac.vet | - hxclean | - tr '\n' ' ' | - hxselect -c -s '\n' 'a[href="https://siac.vet"]' | - while IFS= read line; do - echo "$line $(echo "$line" | hxselect -c 'img::attr(alt)')"; - done | - hxremove 'img' | - grep "^\s*$" > /dev/null; then - echo "failed on the alts check"; - fail=1; -fi - -# Test 2: check G1: Add a link at the top of each page to directly access the main content area -# -# This isn't a great test we're writting, but it at least validates if the first link points to an anchor somewhere: -if [ "$(curl -L https://www.siac.vet | hxclean |hxselect a|head -n1|sed -n 's/.*href="\([^"]*\).*/\1/p'|grep -c \#)" = 0 ]; then - echo "failed on the G1 check"; - fail=2; -fi - -if [ "$fail" = 0 ]; then - echo "siac: incumprimento pode já não existir"; -else - echo "siac: Incumprimento mantém-se, a actualizar o README (faça um git diff, valide, e commit!)"; - while IFS='' read -r line || [[ -n "$line" ]]; do - test "$(echo "$line"|grep -v -c "siac")" -eq "1" \ - && echo "$line" \ - || (h=$(echo "$line"|cut -d\| -f1-4); t=$(echo "$line"|cut -d\| -f6-); echo "$h| $(date +%Y/%m/%d) |$t"); - done < README.md > new - mv new README.md -fi diff --git a/scripts/49-imt.sh b/scripts/49-imt.sh index 24d7aa1..094c1cf 100755 --- a/scripts/49-imt.sh +++ b/scripts/49-imt.sh @@ -14,22 +14,6 @@ if [ "$(curl https://www.imt-ip.pt/sites/IMTT/Portugues/Formularios/Documents/Mo fail=2; fi -# https://www.imt-ip.pt/ - não cumpre WCAG 2.0 AA (nem A) -## 23/10/2021: there are empty alts -emptyalt=$(curl -k -L https://www.imt-ip.pt/ | hxclean | hxselect -s '\n' img | hxselect -s '\n' -c 'img::attr(alt)'|grep -c ^$); -if [ "$emptyalt" -ne "0" ]; then - echo "imt: problemas de acessibilidade"; - fail=3; -fi - -# https://servicos.imt-ip.pt/ - não cumpre WCAG 2.0 AA (nem A) -## 23/10/2021: there are empty alts -emptyalt=$(curl -k -L https://servicos.imt-ip.pt/ | hxclean | hxselect -s '\n' img | hxselect -s '\n' -c 'img::attr(alt)'|grep -c ^$); -if [ "$emptyalt" -ne "0" ]; then - echo "imtonline: problemas de acessibilidade"; - fail=4; -fi - if [ "$fail" = 0 ]; then echo "imt: incumprimento pode já não existir"; else @@ -41,5 +25,3 @@ else done < README.md > new mv new README.md fi - -