Web,ruby, Ajax ou qualquer outra coisa que me venha a cabeça (com prioridade para esta última)

12 outubro, 2005

Web Standards em Portugal - IV

Web Standards em Portugal - Portal do Cidadão

Não gosto muito de criticar terceiros sem dar oportunidade para comentar a minha crítica. Mas neste caso vou abrir uma excepção pois trata-se de um organismo público com particular responsabilidade na infraestrutura pública de acesso à informação do estado por todos os cidadãos.

O Portal do Cidadão é um elemento importante da net em Portugal e tal como analisei outros sectores quiz ver como se comportava o estado, infelizmente não muito melhor do que os particulares embora até possua linhas de orientação que espero mais tarde ou mais cedo conduzam a forte melhoria na situação.

Como se sabe para aceder a um determinado site essa entrada poderá não ser feita pela entrada (principal) mas por qualquer página e neste caso entrei por: http://www.portaldocidadao.pt/PORTAL/entidades/MCTES/UMIC/pt/ORG_umic+++agencia+para+a+sociedade+do+conhecimento++ip.htm

.

Esta página tal como se apresenta se passar pelos validadores do W3C gera 69 erros. Alguns deles são de fácil resolução e referem-se ao <HEADER>.

A escolha do DTD é muito importante, no caso de estarmos a usar a declaração: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > não podemos por exemplo fechar as instruções de metadados isto é não podemos fazer como a UMIC:

<HTML lang=pt>
  <HEAD>
  <style >.panel { OVERFLOW: auto }
  </style>
  <title>Portal do Cidadão -  UMIC - Agência para a Sociedade do Conhecimento, IP</title>
  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
  <meta name="AREA" content="entidades"/>
  <meta name="TEMPLATE" content="Organismo" />
  <meta name="DESCRIPTION" content="A UMIC — Agência para a Sociedade do Conhecimento, IP, é um instituto público, dotado de personalidade jurídica, com autonomia administrativa e financeira e património próprio.  Tem por missão o planeamento, a coordenação e o desenvolvimento de projectos nas áreas da sociedade da informação e governo electrónico.  Exerce a sua actividade sob a tutela e..." />
  <meta name="GUID" content="{93BC05F1-9DFF-4A52-B01C-DEA02926DB74}" />
  <meta name="PMOVEL" content="1" />
  
  <link href="/PORTAL/include/default.css" type="text/css" rel="stylesheet">
  <link href="/PORTAL/include/base.css" type="text/css" rel="stylesheet">
  <script src="/PORTAL/include/fonte.js" type="text/javascript"></script>
  <script type="text/javascript" src="/PORTAL/include/cookies.js"></script>
  ...

Pois tal pode ser interpretado como encerrando o cabeçalho como se pode ver na recomendação HTML W3C sobre estrutura do cabeçalho de um documento HTML 4.01.

Devido a este erro sistemático surgem 2 erros devidos aos link (das folhas de estilo).

Este é um erro comum quando se está a fazer uma transição de HTML para XHTML fácil de corrigir.

Já agora no estilo podiam acrescentar «type="text/css"» para evitar outro erro evidente.

  <script language="JavaScript">
  
   //alert(document.all['panelvisivel');

Depois na linha 45 e na linha 94 do documento (extracto acima no caso da 45) falta type="text/javascript". O erro assinalado na linha 110 trata-se de consequência do encerramento dos metas (o cabeçalho já foi dado como terminado).

 <BODY id="body" leftMargin="30">

Esta linha apresenta dois erros, um devido ao erro dos metas (body já está por omissão aberto e não pode haver duas secções body num documento. O Segundo erro tem a haver com uma extensão proprietária da Microsoft leftMargin="30", curiosamente não aparece a da Netscape e descendentes. Isto podia muito bem ser regulado por uma regra de estilo.

 <form name="Homepage" method="post" action="Organization.aspx?NRMODE=Published...

O erro apontado na linha 112 é uma chinesice pois a recomendação embora recomende o uso do atributo «id» diz que «name» é mantido por questões de retrocompatibilidade.

 <td width="19%" align="right" valign="top" id="header" nowrap>

Este é um erro de lana caprina alguém se esqueceu de verificar que só se pode usar uma identificação uma vez. Este erro é repetido várias vezes, linhas 142 (acima), 151, 168.

 <tr>
  ...
          <td>
  </td>
 ... 
<script>

Neste caso o erro começa por ser a falta de fecho do elemento <tr> da linha 135 e da falta de indicação do atributo «type» na linha 155.

A linha 165 tem o segundo tipo de erro. Eventualmente estes scripts não deviam estar aqui.

Vou saltar alguns erros de tipo já anteriormente analisado.

 <a href="/PORTAL/pt/pesquisa?st=a&page=1&paged=1&ipp=5&set=portal&q=" id="mainB...

A utilização de & não devidamente codificados é a principal causa deste erro. Vejam o as observações sobre uso de e comercial em URLs.

Após corrigir esta linha o código fica com muito menos erros.

Na linha 204 há um erro de descuido, usar em duplicado o atributo altdeve ser excesso de zelo.

Nas linhas 235 e na 239 surge um novo valor para o atributo align, ...Cidadãos" align="AbsBottom" border="0" ....

Os restantes erros são semelhantes aos já analisados com a excepção dos gerados por scripts e por tabelas mal formadas. Donde provavelmente se tira que só se devem usar tabelas para apresentar dados tabulares ou como último recurso quando se tratar de disposição de elementos numa página.

Estas são pistas que podem reduzir alguns dos erros presentes. Não sei mas o CMS usado parece gerar demasiados erros.

Acessibilidade

Este site leva a acessibilidade para cegos e pesoas com dificuldade de visão a sério e isso nota-se. Já agora seria de recomendar à UMIC que fizesse uso das suas linhas de orientação para produção de sítios web

Este site mesmo assim não passa nos meus critérios como página aceitável de um organismo público deste tipo.

Sem comentários: