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

01 dezembro, 2005

Artigos Interessantes

  1. Conceber Aplicações com Interface Complexo com Visio de Bill Scott explica como conceber um interface de utilizador para uma aplicação da internet usando uma ferramenta (extensão) produzida para o Visio pelo Bill. No seu blogue, Bill expõe os pontos fracos e fortes da sua extensão. No artigo das caixas e das setas expõe a concepção de um interface de utilizador completo.
  2. Como colaborar bem com os restantes responsáveis pelo desenvolvimento de Mike Stenhouse apresenta a sua experiência e pensamento sobre o desenvolvimento de CSS modular e de manutenção simplificada.
  3. Rascunho das WCAG 2.0 de Jeffrey Zeldman diz-nos que as directrizes WAI se estão a afinar retirando algumas das ambiguidades que nela figuram actualmente. Acho que qualquer pessoa que deseje começar deve ler os documentos fundamentais mesmo na sua forma de rascunhos para puder avaliar as tendências para o futuro (este comentário é meu).
  4. (Modelo de) Caixa de Pandora de Truques CSS e Outra Boas Intenções de Tantek, apresenta-nos a visão que Tantek tem hoje dos truques que se foram aplicando ao código CSS para acomodar não conformidade com as especificações do W3C por parte de alguns navegadores. Tem algum fundo histórico para se perceber qual foi a evolução e a razão do aparecimento destes itens indesejáveis em muitos casos.
  5. Padrões e Semântica Web de John Allsopp fála-nos da expressividade baixa do HTML mesmo com as identificações e classes.
  6. 24 maneiras de impressionar as suas amigas (desculpem os seus amigos) Mostra-nos uma aplicação de uma infraestrutura JavaScript de Sam Stephenson chamada Prototype
  7. Ir à placa giratória (o meu título seria: Alimentos para um junkie da web de Danny Ayer toca mais tecnologias de alimentação de informação do que eu gostaria.

Fora de tópico

Assinalar vulnerabilidades em sistemas de escuta artigo produzido na Universidade da Pensilvânia curioso. Os "maus" parecem poder ter as costa livres.

30 novembro, 2005

ALA - 208

Saiu o número 208 do A List Apart.

Neste número temos artigos para audiências diferentes:

Para o tipógrafo que há em si tem:

  1. Imprimir um livro com CSS: Boom! Trata-se da apresentação de um método de produção de livros impressos baseado em HTML e CSS mediado pelo Prince para produzir um PDF final para impressão. Boom trata-se de um microformato proposto pelos autores: Bert Bos e Hakon Wium Lie.
  2. Poder ao povo de D. Keyth Robinson, que julgo resumir razoavelmente como criar soluções para necessidades de utilizadores fazendo-o de forma mais simples possível. Além disso é bom ouvir os seus utilizadores e/ou visitantes/clientes.
  3. O terceiro artigo (o repescado do número 96) A maldição da Concepção da Informação de Scott Jason Cohen, fala das dificuldades colocadas pelos especialistas em acessibilidade e usabilidade e os problemas que algum conservadorismo dos arquitectos de informação pode trazer à evolução da web.

28 novembro, 2005

Sítio de Eleição

Por vezes é necessário criar uma visualização de dados complexos e não sabemos como. Aqui http://www.visualcomplexity.com/ poderá encontrar algo para as suas necessidades/desejos.

Erros comuns em XHTML

  • Não fechar elementos vazios (elementos sem marcador de final)
    • Incorrecto: <br>
    • Correcto: <br />
  • Não fechar elementos não vazios
    • Incorrecto: <p>Isto é um parágrafo.<p>Isto é um outro parágrafo.
    • Correcto: <p>Isto é um parágrafo.</p><p>Isto é outro parágrafo.</p>
  • Aninhar elementos de forma imprópria (os elementos têm que ser fechado pela ordem inversa)
    • Incorrecto: <em><strong>Isto é algum texto.</em></strong>
    • Correcto: <em><strong>Isto é algum texto.</strong></em>
  • Não especificar texto alternativo para imagens (usar o atributo alt, que ajuda a tornar as páginas acessíveis a utilizadores com dispositivos que não carregam imagens ou têm dificiência visual)
    • Incorrecto: <img src="/peles/comuns/imagens/alimentadoporblabla.png" />
    • Correcto: <img src="/peles/comuns/imagens/alimentadoporblabla.png" alt="Blabla" />
  • Colocar texto directamente no corpo do documento (isto não é um erro em XHTML 1.0 Transitional)
    • Incorrecto: <body>Bem vindo à minha página.</body>
    • Correcto: <body><p>Bem vindo à minha página.</p></body>
  • Aninhar elementos bloco dentro de elementos em linha
    • Incorrecto: <em><h2>Introdução</h2></em>
    • Correcto: <h2><em>Introduction</em></h2>
  • Não colocar pelicas à volta de valores de atributos
    • Incorrecto: <td rowspan=3>
    • Correcto: <td rowspan="3">
  • Usar e comercial fora de entidades (usar &amp; para mostrar o caracter «e comercial»)
    • Incorrecto: <title>Carros & Camiões</title>
    • Correcto: <title>Carros &amp; Camiões</title>
  • Uso de e comercial fora de entidades em URLs (usar & em vez de & também em ligações)
    • Incorrecto: <a href="index.php?page=noticias&estilo=5">Notícias</a>
    • Correcto: <a href="index.php?page=noticias&amp;estilo=5"gt;News</a>
  • Uso de nomes de elementos ou atributos em maísculas
    • Incorrecto: <BODY><P>A Melhor Página de Sempre</P></BODY>
    • Correcto: <body><p>A Melhor Página de Sempre</p></body>
  • Minimização de atributo
    • Incorrecto: <textarea readonly>SÓ DE LEITURA</textarea>
    • Correcto: <textarea readonly="readonly">SÓ DE LEITURA</textarea>

Esta é uma lista muito abreviada dos erros encontrados

25 novembro, 2005

XHTML para leigos

Se dissermos «qual é a coisa qual é ela que antes de o ser já o era?» Então um ouvinte terá que adivinhar qual será a resposta.

Se dissermos tudo o que sobe tem que cair. Nada de tentar adivinhar, uma frase simples e com início e fim adequados. Faz sentido que algo que seja lançado para o alto tenha que voltar à terra. O não voltar desafia a gravidade não estando de acordo com aquilo que vemos no dia a dia.

Isto é muito semelhante às diferenças entre o XHTML e o HTML 4.01. Em XHTML, tudo o que tem um princípio tem que ter um fim. Em HTML, tal não se passa. Pode começar um parágrafo mas, nunca o acabar. Pode ter uma lista de coisas e nunca terminar cada item. Se tivermos que comunicar com alguém que nunca termina as frases, tal será confuso no mínimo.

Pense nisto da seguinte forma: o HTML foi pensado como um pacote, com uma dobra em cada lado. Contudo mesmo a especificação estrita é tem ainda alguma maleabilidade, ou seja o pacote não necessita estar fechado. Não sei o que é que pensa mas é mais provável comer uma bolacha dum pacote fechado de um aberto sabe quem há quanto tempo.

Exemplos:

Abaixo encontrará um exemplo de código HTML válido mesmo sob o tipo de documento HTML 4.01 estrito:



     <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN" 
                                              "http://www.w3.org/TR/html4/strict.dtd">
     <html>
     <HEAD>
     <meta http-EQUIV="Content-TyPe" content="text/html; 
                                                                CHARSET=utf-8">
     <titlE>Testing HTML 4.01</TITLe>
     </head>
     <body>
     <P>This is some sloppy HTML 4.01!
     <oL>
     <LI>List item one
     <LI>List item two
     <li>List item three</LI>
     </Ol>
     </BODy>
     </HTmL>

Para comparação eis o mesmo reescrito em XHTML 1.1:


     <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" 
   "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
     <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
     <head>
     <meta http-equiv="content-type" content="application/xhtml+xml; 
         charset=utf-8" />
     <title>Testing XHTML 1.1</title>
     </head>
     <body>
     <p>This is some clean XHTML 1.1!</p>
     <ol>
     <li>List item one</li>
     <li>List item two</li>
     <li>List item three</li>
     </ol>
     </body>
     </html>

Como pode comprovar o segundo exemplo é mais legível (desde que saiba sintaxe HTML). Tudo excepto o DOCTYPE está em minúsculas e tudo que tem um início tem um fim explicíto. Não é só mais fácil, evita que o navegador faça algum trabalho de adivinhação sobre o local onde seria suposto encontrar-se os marcadores de fecho. Por exemplo um <li> pode ser fechado no final da linha, mas também é possível envolver coisas dentro de itens de lista.

Um navegador não sabe até atingir o marcador de abertura seguinte se deve fechar o marcador anterior ou se o deve deixar aberto. Assim não há só confusão para uma pessoa que leia o código, mas para a reprodução da página. Implicitamente esta lógica extra necessária provoca um aumento do tempo de carregamento, independentemente do caso de uns tantos bytes extra necessários ao fecho dos marcadores de cada vez que são abertos. O código limpor é reproduzido mais rapidamente, ponto parágrafo. Para prova de tal verifique estes artigo (não o código do sítio).

Terminador por si:

No final do Terminator 2, Arnold diz "não posso acabar comigo". No caso do XHTML isto é bom. Se tudo o que começa tem que ser terminado há alguns pontos nos quais o HTML mesmo que bem formado tem uns quantos problemas. No exemplo acima, há um desses pontos no marcador meta descrevendo o tipo de conteúdo.

Em HTML um meta termina com um ">" significando que tecnicamente ele se mantem aberto. O XHTML corrige isto terminando-se a sí próprio o meta com um traço de fracção final "/>". Outros marcadores com o mesmo comportamento são img, br e hr – todos são tipicamente deixados "em aberto" no HTML, terminando-se a sí próprios no XHTML. Isto torna muito mais fácil uma leitura sabendo que sempre que encontrar um "/>" se está na presença do fim do marcador.

Resumo:

Deixando de lado toda a argumentação para servir XHTML como text/html ou como application/xhtml+xml, prefiro XHTML devido à rigidez inerente à sua validação. Isto claro que não quer dizer que o HTML não possa ser escrito com um padrão muito próximo em mente o problema é que não não é exigído. Veja se me entende não estou a dizer que o XHTML é a forma mais apropriada de fazer as coisas.

Isto não é uma atitude pedante. Sei perfeitamente que o HTML pode ser tão estruturado e semântico quando o XHTML. Roger Johansson e Robert Nyman são perítos em desenvolvimento de web e ambos usam HTML 4.01 estrito de maneira adequada. Ambos fecham tudo e usam código em minúsculas. Robert escreveu um artigo sobre html versus xhtml. Roger é claramente um apaixonado pelo fecho adequado dos marcadores como pode ser comprovado no seu artigo.

Doug Bowman, outra lenda no campo usa XHTML 1.0 estrito, mas serve-o como text/html, sem grande problema. Vejo a lógica por detrás dos argumentos de ambos os lados sobre quererem continuar a trabalhar adequadamente com navegadores obsoletos, etc.

Voltemos ao assunto principal: Resolvemos os mistérios da humanidade? Não. Este artigo está aqui para provar as vantagens de um doctype sobre outro? Não. Só quiz dar uma revisão geral sobre o que me levou inicialmente para o XHTML e porque prefiro continuar a usar. O aspecto fundamentar é que independentemente do que escolha se lhe mantenha fiel. Não tente misturar - mantenha os marcadores em minúsculas e feche-os.

Ou seja no fim disto tudo. Faça uma selecção de um standards e depois aja em conformidade com o mesmo. Uma disputa sobre que standard seguir é fútil.

24 novembro, 2005

Esquadria azul à volta de uma imagem

Tornar uma imagem a ligação para outra página é muito simples, o HTML que segue trata disso:


 <a href="http://aindaapensar.blogspot.com/">
 <img src="/aindaapensar.png" 
alt="logotipo de aindaapensar"> </a>

No entanto irá verificar que aparece uma esquadria azul à volta da imagem. Esta esquadria serve para informar os utilizadores que a imagem é uma ligação. Claro que há algo a dizer para indicar o que é que ou não uma ligação.

Hoje a generalidade dos designers da web tornam óbvio através das concepções do anúncios ou botões de navegação aqueles elementos que são ligações e nos quais se pode carregar. Então como é que apagamos essa esquadria?

Aqueles que gostam de aplicar as recomendações devem usar folhas de estilo e assim o código será algo como:


 <a href="http://aindaapensar.blogspot.com/">
 <img src="/aindaapensar.png" 
alt="logotipo de aindaapensar"
style="border-style: none"> </a>
Ou ainda melhor remetendo a regra para a folha de estilo separada:

img
{
 border-style: none;
}

E no elemento header da sua página fazer uma menção à folha de estilo:


 <link href="/folha_de_estilo.css" 
rel="stylesheet" type="text/css">

Este método irá automaticamente remover a esquadria azul de todas as imagens que usem este ficheiro css e no caso desta regra não ser ultrapassada por outra mais específica.

23 novembro, 2005

div versus span

Para quem não sabe um elemento div é um elemento bloco e um elemento span é um elemento em linha.

Para os curiosos podem dirigir-se à fonte do html

O que é que é isso de elemento bloco e elemento em linha?

Campos escaláveis

As listas de discussão podem não ser a leitura mais agradável que se possa ter mas permite que um principiante aprenda umas coisas.

Por exemplo quando o utilizador altera o tamanho do tipo de letra é razoável esperar que o campo de pesquisa também veja o seu tamanho aumentar para que isso suceda basta na nossa folha de estilo incluir algo como:


form input {
      width: 15em;
      height: 1.3em;
      font-size: .9em;
}

Nem todos os navegadores respondem a isto de forma imediata alguns necessitam de ser refrescados para ajustarem a altura por exemplo de um select

Com o código acima aumenta a largura e altura do campo assim como o tamanho do tipo da letra.

RSS

No blogue da equipa de RSS da Microsoft diz-se que:

...a nossa experiência de vários anos com o HTML no IE ensinou-nos os problemas a longo prazo que resultam de sermos demasiado liberais naquilo que aceitamos de terceiros. Assim, adoptamos o seguinte princípio para o IE7 e a plataforma RSS no Windows Vista: só iremos suportar alimento XML bem formado.

O que me der na mona

Estou a experimentar uma alternativa ao blogger, o wordpress em "O que me der na mona". Até agora a primeira coisa que me salta à vista é que o processo de produção de colocação na net de um texto permite uma classificação coisa que este directamente não faz. Assim provavelmente a minha secção de Web Standards em Portugal vai passar para lá ficando neste blogue pequenos excertos de html, javascript, css, ruby e outras coias mais associadas a puro código.

As minhas observações sobre web design, arquitectura de informação, web 2.0 e outras devem passar para lá (claro que mantendo-se aqui o que já cá está.)

22 novembro, 2005

background-color e color

background-color e color

Algumas pessoas quando vêm o relatório do validador de CSS acham sem importância os avisos em especial quando estes se referem a cores de texto e cores de fundo (color e background-color).

Quando não se especifica uma ou outra o que pode suceder é que um visitante do sítio ter uma configuração específica em que ambas em determinados elementos sejam coincidentes e nesse caso o visitante deixará de poder ler o conteúdo pois a página lhe vai parecer vazia.

21 novembro, 2005

Web Standards em Portugal

Parem a Impressão, parem a impressão! O novo sítio da Universidade de Lisboa passou a validar!

Não sei em que dia é que isto terá sucedido mas o novo sítio da Universidade de Lisboa passou a validar.

A utilização de tabelas para criar a disposição dos vários elementos mantêm-se (mas já esteve mais longe).

Resumindo a componente mecânica já está! Falta a componente mais humana (semântica).

É pena que haja pelo menos uma página na UL(no interior) com erros ligeiros (falta de fecho de parágrafo) quando deviam validar página a página (teste unitário) para saberem o que mudar.

O CSS também valida com alguns avisos em especial com falta de cores de fundo em elementos com cor (de texto) ou vice-versa.

Continuam a usar atributos que já não se esperaria usarem td com width .

Já agora depois de transformarem as tabelas que não são tabelas em div e torna-se em algo importante um sítio de um estabelecimento de ensino superior a seguir as regras.

18 novembro, 2005

Verificar CSS

Como é que posso verificar se o CSS está correctamente formado e se está de acordo com os Standards do W3C?
O W3C tem um validador de CSS o qual verifica URL, submissão de um ficheiro (CSS ou HTML com folha de estilos <style> ou cópia de CSS directamente para uma caixa de texto para verificação.
Existe para o Firefox um plug in para responsáveis por desenvolvimento de sítios que tem ligações para uma série de validadores entre eles este.

17 novembro, 2005

Como Centrar Conteúdos

Como Centrar Conteúdos

Um problema comum para web designers é centrar conteúdos numa página web

O modelo actual do (X)HTML e do CSS é ver cada documento Web como uma área não limitada e, uma janela de navegador como uma vista para esse documento e não uma parte do mesmo. Daí ser impossível centrar um documento em qualquer janela de navegador.

No entanto por vezes é absolutamente necessário centrar verticalmente uma página ou páginas. Há essencialmente três formas de o fazer: através da combinação de JavaScript e posicionamento absoluto CSS; ou através de métodos arcaicos HTML (usando um arranjo de uma só célula de tabela); ou podemos usar regras de estilo CSS para esticar o documento até 100% da janela do navegador em altura e depois centrar verticalmente o resto da página. O método QuircksMode pode ser usado para esticar o documento. É realmente simples. Só é necessário encontrar o elemento (X)HTML que é para o navegador o equivalente da sua janela - a combinação html e body é suficiente para a generalidade dos principais navegadores e depois definir uma divaninhada com posicionamento absoluto.

(Pode ainda ajustar-se as características desta div com atributos overflow, min/max width/heightetc.)

O código resultante seria algo como (substituir ... por valores adequados ao seu caso):


<... (veja o método QuircksMode para decidir que doctype...>
<html>
   <head>
      <title>Processo de Centragem Vertical da Victoria
                   - Página de Teste</title>
      <style type="text/css">
         html, body   { background-color: blue;
                        height: 100%; 
                        margin: 0;
                        padding: 0;
                        color: yellow; 
                        text-align: center; }
         div#centered { border: 0; 
                        background-color: white;
                        height: 50%;
                        width: 50%;
                        position: absolute;
                        left: 25%;
                        top: 25%;
                        color: black; }
      </style>
   </head>
   <body>
      <div id="centered">
         div centrada verticalmente
            (<a href="http://vmalek.murphy.cz" 
                   title="Processo de Centragem 
                          Vertical da Victoria">
                          Ver comentários acima</a>).
      </div>
   </body>
</html>

Web Standards em Portugual

Para quem ache que tudo o que escrevo é para deitar abaixo, tal não é de facto verdade.

Como já tinha anteriormente dito em Portugal existem responsáveis pelo desenvolvimento de sítios web que levam a sério os web standards.

Hoje irem tentar aqui colocar páginas de entidades que já estejam a aproximar-se desse alvo a atingir, não por si, mas porque isso facilitará a vida as seus visitantes.

  • log

    As páginas validam o XHTML e o CSS. Gostaria de perceber porque é que num sítio com padrão elevado (para a média nacional) depois se falha (ou então porque é que se dicide desta forma) nos detalhes. Está quase lá em termos de standards.

    Em termos gráficos já tenho um problema um pouco maior com a página. O sítio é na minha opinião demasiado frio, quase sem grafismos, a não ser os botões de navegação e o próprio logo. Além disso não é suficientemente flexível pois se ampliarmos os tipos o aspecto começa a ficar excessivamente degradado (excepto no Opera claro). Talves fosse melhor começar a treinar as pessoas que desenvolvem sítios torná-los à prova de bala.

    Imagem reduzida do sítio da Log com texto ampliado

    Algo curioso é os sítios instituicionais por ela produzidos não alcançarem o padrão em termos de web standards do próprio sítio. Será que o sítio apresenta uma evolução. Por último, foi a única empresa de desenvolvimento, em que vi código tão bom.

Esta lista irá, julgo/espero, crescer à medida que for encontrando sítios assim ou melhores (claro que na minha opinião).

16 novembro, 2005

Um Profissional Nunca Pode Deixar de Aprender

Um profissional nunca pode deixar de aprender

Nos últimos tempos tenho lido artigos que levantam o mesmo problema: os profissionais da web que se recusam a actualizar as suas capacidades e insistem em usar métodos desactualizados não se podem chamar a si próprios profissionais da Web.

Há quem me possa achar elitista ao dizê-lo. Mas pense sobre o assunto. Porque é que os profissionais da web não necessitariam de saber sobre o seu metier. Acho esta atitude - tida por muito gente neste meio e por muita gente fora dele - insultuosa para aqueles que diariamente trabalham de forma árdua para se manterem actualizados e ao corrente das melhores práticas.

Gosto que outros expressem as suas opiniões sobre este assunto. Ian Loyd entrevistou Andy Clarke. Eis uma citação que subscrevo:

Há tantos sítios na web, blogues e publicações derigidas para ajudar as pessoas a aprenderem sobre standards e técnicas de acessibilidade que deixou de haver desculpas para não produzir código semântico ou CSS. Pessoas que continuam a produzir disposições de páginas baseadas em tabelas, imagens para espacejamento ou que ignorem a acessibilidade (eu acrescento a usabilidade) não se devem chamar a si próprias profissionais da web.

Esta foi uma forma abreviada de dizer aquilo com que concordo. No caso de desejar comentar esta citação dê um salto a Acessibilidade - Sem luvas

Estou completamente de acordo com o que o Andy diz. Não há razão para tratar alguém como profissional se essa pessa não envida qualquer esforço para aprender e se manter actualizado. Veja bem não estou a apontar o dedo aos que não sabem, aos que são tão novos no meio que ainda não aprenderam mas que estão dispostos a aprender sobre desenvolvimento e concepção modernos para web.

A Molly Holzschlag no seu artigo web standards e novo profissionalismo diz:

O cerne da questão é simples: temos que saber do nosso mêtier! E o que não sabemos, temos que ter disposição para dizer que não conhecemos e que estamos abertos a aprender.

A palavra chave aqui é mêtier. Há tanta gente no meio que parece que não se interessa pelo que faz. Há muitas pessoas que só fazem o que for preciso para que a tarefa termine, que é uma expressão comum para defender o uso de métodos desactualizados.

Estas palavras da Molly surgem num contexto de degradação obervado no sítio da Disney no Reino Unido substituindo um sítio concebido com base em web standards por um sítio concebido com uma grande mixordia de tabelas.

Sei pouco sobre desenvolvimento de web. Mas quando não sei algo, trato de o admitir e ir à procura. Ou pergunto a alguém que o saiba.

Finalmente John Oxton, que exprimiu a citação seguinte em Porque é que agora é ex-html (algumas palavras censuradas):

O que eu desejo é HTML que dê um pontapé no ... se não for tratado de forma adequada. HTML que não tomasse xxxx, com uma mensagem bem destacada (VÁ TRATAR DE APRENDER A USAR-ME!) a pessoas que se recusem a aprender esta linguagem super simples e que não queiram refinar a sua compreenção.

John fala de XHTML servido como XML. Sei que muitos não acreditam no deixar que o navegador (user agent seria um termo mais correcto) apresente mensagens de erro ao visitante de um sítio, em vez de tentar (o user agent), entender o que o autor queria de facto dizer/mostrar. Deixemos de lado esta controvérsia e, imaginemos que todos os navegadores mostram tais mensagens de erro. Não sucederia que muitos dos chamados profissionais da web se preocupariam em aprender como resolver esses erros?

Bem sei que se o HTML tivesses sido tão estrito desde o início, a web não se teria tornado no que é hoje, pois, a curva de aprendizagem, teria sido muito difícil de ultrapassar para muita gente. Mas a web está mais madura agora do que há uma década, quando apareceram os primeiros navegadores gráficos. Chegou a altura para os profissionais da web também amadurecerem.

Alguns dos Grandes Podem Mostrar o Caminho

Amanha veremos como se comportam as empresas em Portugal.

Boas Práticas

Boas práticas de Desenvolvimento

Alguém pergunta se há uma forma correcta de começar um projecto. Acrescenta que o que quer dizer é se se deve começar por escrever o HTML todo e depois escrever as regras CSS ou se se deve fazer as duas coisas de forma alternada? Diz ainda, que está a tentar encontrar um processo lógico a seguir de forma a tornar a tarefa mais fácil de compreender e terminar.

Qual é a minha opinião?

Julgo ser mais fácil desenvolver a totalidade do HTML e documentar a estrutura elementar, as classes e identificações antes de começar o CSS.

Pode parecer aborrecido e pode suceder ser necessário voltar ao HTML mais tarde quando se estiver a resolver problemas levantados por navegadores mal comportados, mas este processo assegura que:

  • O nosso HTML fica bem estruturado e faz sentido sem CSS e/ou JavaScript;
  • Ficamos com documentação para passar aos responsáveis pela manutenção e mais importante para provar que o nosso código era claro;
  • Podemos dar o HTML aos responsáveis pelo desenvolvimento para o transformarem em modelos (templates) ou converterem em ASP.NET, de forma a assegurar que se trabalha em paralelo;
  • Alguns sistemas de gestão de conteúdos fornecem diferentes classes aos editores como estilos num editor WYSIWYG, e tal significa que podemos criar um pequeno guia de estilo para ser preenchido mais tarde quando construir o CSS.

15 novembro, 2005

Web Standards em Portugual

Sítios Portugueses construídos em conformidade com os web standards

Existe na rede um sítio onde alguns designers se registam dando a conhecer que concebem sítios da web em conformidade com os standards.

Nesse sítio, - W3 Compliant Sites - encontram-se inscritos 1088 designers entre os quais 7 portugueses.

Fiz uma visita a cada um dos sítios por eles indicados como estando em conformidade com os web standards.

Dessas visitas destaco os seguintes designers

  1. Carlos Paula Simões
    1. cb2web.com e
    2. Hotel Anjo Azul

    As páginas validam usando as ferramentas clássicas, o código está segregado como é correcto, o design no sítio do hotel é simples e eficaz (mas um pouco apagado não se destacando).

  2. Hugo C. Silva
    1. Vigopor

    Apresenta uma página com HTML 4.01 Transitional, mas apresenta alguns problemas. Sem Flash ou sem JavaScript não há navegação. Além disso usa tabelas para criar a disposição do sítio.

  3. Ivo Gomes
    1. Portal das Curiosidades
    2. Sítio de Ivo Gomes

    O Design não é há prova de bala, se ampliarmos o texto meia duzia de vezes ficamos com um menu funcional mas com mau aspecto

    Um dos melhores sítios que conheço, por um profissional

    Já agora excelente artigo sobre prototipagem em papel

  4. Vitor Costa
    1. Nova Esfera??

    Existem ligações que usam o mesmo texto para apontar para recursos diferentes. Algumas inconsistências no CSS. Não se pode ampliar muito fica tudo sobreposto. O excesso de controlo conduz à sua falta.

Os web designers/responsáveis pelo desenvolvimento de sítios que têm sítios em conformidade poderiam inscrever-se de modo a darem mais visibilidade a esse facto. Aqueles que se tenham inscrito e cujos sítios tenham deixado de estar conformes deviam ter a ombridade de retirarem os seus sítios da lista.

Porque acham que não estou inscrito, porque sei que o design não é meu e porque há páginas que sei de antemão que não estão conformes.

14 novembro, 2005

Web e Dislexia

Concepção de páginas web para leitores dislexicos

A chegada da WWW aos ecrãs dos nossos computadores significa que sofre das falhas de qualquer novo meio:

  • A generalidade dos sítios web é construído com excesso de pressa
  • Os web designer são relativamente novos no meio
  • O texto é frequentemente apresentado num formato eligível, mesmo em texto branco/amarelo sobre fundo preto
  • Navegar num website não é fácil
  • Alguns anunciantes tratam de arranjar algo para chamar à atenção mesmo que seja irritante
  • Alguns designers vêm as páginas web como perítos de computadores em vez do ponto de vista de pessoas normais que leem as suas páginas
  • Preseume-se que todas as pessoas que visitam as páginas sabem/podem usar deligentemente o seu computador
  • Os designers são tentados a criar formas de levar as pessoas a manterem-se no sítio em vez de fornecerem ligações úteis que levem as pessoas a visitar outras fontes de informação
  • e em último lugar, a generalidade das páginas na web foi/é construída por homens, (por acaso gostaria de ver mais páginas concebidas por mulheres)! Falta um pouco de percepção feminina e empatia.

Largura de coluna

Nada há de pior do que ler aquele texto que ocupa todo o espaço disponível no ecrã (da ponta esquerda até ao extremo direito). Há medida que os olhos tentam varrer o ecrã torna-se extremamento difícil ler a linha seguinte. O ponto de fuga perde-se no mar de texto. Exemplo 1 Exemplo 2

Claro que é muito mais fácil de ler a coluna mais estreita, com cerca de 60 a 70 caracteres do que o texto mais largo. É por esta razão que os jornais usam colunas.

Justificado ou não?

O Texto justificado é aquele em que as palavras são espacejadas pelo processador de texto de forma a que ambos os lados esquerdo e direito de cada coluna sejam linhas rectas. O texto não justificado - como o desta página - deixa uma arestas escadeada ao longo do lado direito.

Para um leitor dislexico, o texto justificado, que tem espacejamento mal distribuido entre palavras, cria padrões visuais de espaço em branco que são difíceis de ignorar. Esses espaços distraem o leitor que deixa de saber onde está a ler.

O espaço não justificado é muito mais fácil de ler, embora não esteja na moda em algumas revistas de design, ou pretenções a tal.

Cor do fundo

Alguns leitores dislexicos são particularmente sensíveis ao contraste do texto num fundo branco. Isto pode provocar um movimento aparente e a desfocagem do texto.

Pode evitar-se esta dificuldade se não se usar fundo totalmente branco. Algo como backgound-color: #ffffE5; é suficiente. O texto pode ser mais difícil de ler se for escrito sobre um padrão. (Exemplo)

Para páginas que sejam usadas frequentemente por dislexicos adultos ou adolescentes, pode ser adicionado um comutador de fundo de página, como o existente no cimo desta entrada.

Tipos de letra

Infelizmente a generalidade dos programas de computador por omissão usam letras com serif, como a Times New Roman. Este tipo de letra é tradicionalmente associada à impressão. Uma letra com serif é aquela cujas extremidades têm variação de espessura de traço.

A utilização de um tipo de letra como o "Arial" permite uma página mais clara, para dislexicos.

Tamanho do tipo de letra

Os ecrãs estão cada vez maiores, mas a maior parte das pessoas continua a ver às páginas da web em monitores pequenos. É difícil ler um texto com tamanhos demasiadamente pequenos.

Evitar itálicos

As letras em itálico estão ligeiramente deitadas e são normalmente usadas nos livros para dar enfâse a algo. Contudo, quando vistas num monitor por uma pessoa dislexica são difícies de ler.

No caso da letra ser de uma tamanho muito pequeno tornam a sua leitura impossível.

É preferível realçar palavras usando negrito.

Imagens e Fotografias

Não precisa ser disléxico para saber que uma página com imagens é mais agradável de ser vista do que uma só com texto. As imagens ajudam a quebrar a página em pequenas porções e para um disléxico, dão um estímulo visual imediato e uma memória visual para o futuro.

Pode ver a desilusão na cara de uma criança quando chega a uma página sem imagens. Infelizmente desenvolvemos a opinião que livros com imagens/desenhos são para as crianças, os adultos lêm livros sem imagens. Pode ser apropriado em certas circunstâncias, mas mesmo num texto académico é um alívio ver um gráfico! (Mau exemplo)

Caixas de Texto e Balas

  • Podem ser usadas caixas de texto e balas de forma a enfatisar ou realçar aspectos importantes.
  • Servem ainda para quebrar um secção extensa de texto denso.
  • As balas servem ainda para realçar aspectos chave, em especial se estiverem separadas por espaço em branco extra para ajudar a clarificar.

Imagens em movimento

Imagens a piscar distraiem não só pessoas com problemas visuais, mas todos nós.

Um sentido de direcção afecta os leitores dislexicos. Quantas vezes já tivemos problemas com um web designer "excessivamente criativo".

A regra de outro é haver uma lista de ligações simples em cada página ligando a todas as outras páginas ou secções do sítio

Frases curtas

Frases alongadas contêm mais do que uma ideia. É perfeitamente possível repartir frases compridas criando frases mais curtas e simples. Isto não torna as frases intelectualmente inferiores.

As mesmas ideias podem ser traduzidas claramente em frases curtas. Isto dá um intervalo a um leitor dislexico após cada frase. Não há limite de comprimento fixo para uma frase complicada e comprida que de tão comprida o nosso cérebro deixa de interpretar. Um bom exemplo

Parágrafos curtos

Os artigos dos jornais são normalmente bons exemplos de como se deve repartir o texto para melhorar a legibilidade.

Por vezes os artigos são feitos de forma a que haja parágrafos a cada frase.

Tal pode não estar de acordo com as convenções de Português correcto ou de escrita de ensaios, mas tal é outro assunto.

A prioridade quando se lê um jornal ou uma página da web é legibilidade e os parágrafos - mesmo os com uma linha só - devem ser sempre espacejados com uma linha em branco entre cada.

Escrever para programas de leitura (tecnologias assistivas)

Os leitores dislexicos podem ler as suas páginas de web usando leitores de ecrã. Esses programas têm limitações e portanto devem ser seguidas algumas linhas de orientação:

  1. Se tiver um ponto final nos cabeçalhos (h1 a h6) tal faz com que a voz faça uma pausa e baixe o tom no final;
  2. Use ponto e vírgula, virgulas ou ponto finl após elementos numa lista com balas iniciais, caso contrário podem ser lidas como texto contínuo;
  3. Não escreva palavras só com maísculas pois podem ser lidas como letras individuais pelo programa;
  4. Separe os elementos de uma lista com balas com espaço adicional;
  5. Use um ponto parágrafo após uma ligação para o separar do texto que se lhe segue.

Bibliografia

Guia de Estilo da Associação Britância de Dislexia.
O estilo na qual esta informação foi produzida de forma a facilitar a compreensão pelo leitor. O formato com que se apresenta informação pode torná-la acessível e será vital se a informação contida é para ser compreendida por todos
Uma perspectiva de um disléxico sobre acessibilidade de conteúdo electrónico.
Cobre as quatro áreas principais de acessibilidade: apresentação, conteúdo, estrutura e navegação
10 linhas de orientação para melhorar a acessibilidade para pessoas com dislexia.
Bases para a melhoria da ligebilidade e acessibilidade por pessoas dislexicas

13 novembro, 2005

Erros Comuns

Erros Comuns

Quando pertencemos a uma lista de correio tão específica como a CSS-D esperamos não ver a não ser por parte de principiantes (sem desprimor para eles, visto todos o termos sido e alguns assim se manterem), dizia que esperamos não ver código como este


.caixa {
   border: 1px solid black;
}

#azul {
   background-color: blue;
}

#encarnado{
   background-color: red;
}

Pois não será normal só haver um elemento azul e um elemento encarnado numa página, nem será normal dar nomes a class ou id que tenham a haver com o seu aspecto visual, mas sim nomes que tenham a haver com a sua funcionalidade.

Molly Holzschlag mencionou num artigo sobre como atribuía nomes a estes atributos estes atributos indicando no mesmoa livro/artigo as desvantagens de dar nomes de acordo com a apresentação.

12 novembro, 2005

Treehouse #2

Saiu o #2 do Treehouse

Neste número são incluídos textos de Ryan Campbell (código), Alex McClung (design), Nathan Smith (negócios), entrevistas com Peter-Paul Koch, Lisa McMillan, Josh Williams e críticas de livros "Foundations of Ajax", "Thinking with Type", "The World is Flat".

11 novembro, 2005

Tabelas ou Disposição CSS

Parece haver uma batalha a decorrer entre web designers sobre a utilização de tabelas em arranjos para a web. Os proponentes da utilização de tabelas normalmente referem-se à compatibilidade com os navegadores e à rapidez da concepção dos sites. Os oponentes acham que a utilização de tabelas para arranjos (disposição de elementos visuais) não é conforme os web strandards e a acessibilidade da web. Para se puder perceber como começou esta polémica necessitamos de relembrar a história do HTML e dos arranjos.

O controlo do estilo visual de uma página da web por tabelas nunca foi algo intencional por parte dos criadores do HTML. Na sua opinião só serviam para reproduzir dados com colunas e linhas. Não era um mecanismo para resolver necessidades relativas a arranjos mais elaborados, mas alguns web designers mais inventivos descobriram que podiam usar tabelas para criar arranjos nos quais tivessem mais controlo.

Desde essa altura os web designer têm vindo a usar (incorrectamente) regularmente a linguagem HTML, principalmente por necessidade. Contudo no final dos anos 90 o W3C introduziu as folhas de estilo em cascata (CSS). As CSS tornavam possível a aplicação de estilos a documentos HTML. Os navegadores rapidamente começaram a integrar suporte para as CSS, e os web designers começaram a aplicar estilos simples no seu HTML, como o tipo de letra, a cor, as cores do fundo e as imagens. Contudo o uso de arranjos CSS (em particular arranjos com colunas) não se espalhou até muito mais tarde.

Ao longo dos anos houve um movimento para "purificar" o modo de codificação dos websites. Num esforço de criação de web standards que dão uma abordagem lógica e que dão acessibilidade à web para leitores de texto, bots, dispositivos móveis e muito mais. Um novo padrão foi criado. Um padrão que anda à volta da utilização adequada de XHTML e CSS. O XHTML deve ser codificado de forma a oferecer uma estrutura lógica para o conteúdo enquanto o CSS deve ser usado para criar uma concepção gráfica única.

Há várias razões para que os web designers devamd deixar de usar tabelas para arranjos e adoptarem o uso de CSS para controlo dos arranjos:

  • Conformidade com os padrões de web do W3C
  • Todos os navegadores modernos suportam CSS para controlo de disposição (embora o IE necessite por vezes de remendos)
  • Se bem codificado, as CSS tornam alterações globais fáceis de aplicar
  • A implementação adequada de conteúdo em documentos XHTML, com o uso de CSS só para estilo e disposição ajuda a criar websites acessíveis para pessoas com certas incapacidades
  • As páginas podem ter muito menos código, tornamdo-as mais ligeiras de for usado XHTMl e CSS (com poucas excepções)
  • O principal argumento para continuar a usar tabelas vem dos maus hábitos e de alguma complacência. Normalmente diz-se que é mais fácil usar tabelas em especial pela necessidade de utilizar remendos/truques para uma reprodução adequada no IE, embora sendo verdadeira esta afirmação há um momento a partir do qual temos que começar a usar padrões para "obrigar" os produtores de navegadores a evoluírem.

09 novembro, 2005

ALA - 207

A List Apart 207

Saiu o número 207 da A List Apart, para pessoas que constroiem sítios na web. Neste número são apresentadas consequências inesperadas - tanto positivas como negativas - da concepção de interface comum e de selecção de opções de acessibilidade.

Andy Hagans diz-nos não ser coincidência que os motores de busca gostem de sítios da web altamente acessíveis. Ao concebermos sítios acessíveis, estamos já a usar uma técnica de optimização para motor de busca. Hagans explica ainda outra razão para ter em conta a acessibilidade.

Nick Usborne, pergunta-nos se testamos as nossas concepções? Se não, Nick Usborne, gostaria que nos responsabilizassemos pelas opções de concepção e um efeito quantificável que tais opções podem ter nos sítios web e nos negócios.

O artigo repescado é de Kevin Potts e trata de conselhos sobre a criação de um negócio evitando os erros cometidos por ele.

04 novembro, 2005

A colheita do dia

Se ontém foi um dia de boa colheita, na minha opinião, hoje parece que não está pior

4 de Novembro de 2004

Dulce Pontes em Stanford

7 de Outubro de 2005

Google Advertising Patents for Behavioral Targeting, Personalization and Profiling

3 de Novembro de 2005

Google Patent : Organic Results Ranked by User Profiling

Sem data inicial

Um interessante projecto de investigação

Sem data inicial

Direitos fundamentais

AJAX-VI

Galeria de Imagens

No sítio DHTML Nirvana colocaram um Guia Ajax que usa ajax para se ir carregando (com um pouco de pisca pisca em alguns navegadores!). O guia começa com os fundamentos das técnicas Ajax e, gradualmente, à medida que as páginas são voltadas, vai caminhando para coisas mais complexas terminando numa galeria de imagens.

AJAX-V

Lista de Tarefas com XForms

Eric Bruchez da Orbeon criou uma aplicação de Lista de Tarefas. Implementa um interface de utilizador dinâmico totalmente criado em XForms, sobre um motor OPS XForms.

Este exemplo ilustra muitas das características do XForms tais como:

  • xforms:repeat aninhados
  • Uso de "relevant" para reprodução condicional de controles
  • Escrita que permite formatação automática de datas
  • Uso de xforms:submission com "instance="replace", aqui para chamar um serviço capaz de formatar um documento XML em HTML
  • Uso de instâncias múltiplas
  • Uso de xforms:setfocus e xforms:setindex

Pode analizar a aplicação: Lista de Tarefas.

Pode ver o código original da aplicação: código original de Lista de Tarefas.

AJAX-IV

Struts

Struts é o avô das infraestruturas Java para web e embora tenha deixado de estar na moda como as infraestruturas JavaServer Faces, WebWork, Tapestry, ... ainda há muita gente a escrever aplicações com Struts.

Paul Browne escreveu um artigo de introdução chamado "Sprinkle Some AJAX Magic in Your Struts Web Application."

O artigo foca o lado do cliente ajax, em vez da integração com Struts.

Concepção da sua Aplicação Ajax

Paul Browne

O rascunho do JavaScript acima pode aceitar o modo de utilização do Struts na maior parte das aplicações incluindo aquelas que são muito mais complexas do que a do nosso exemplo (muito simples). Contudo pode achar que os pontos seguintes podem tornar mais fácil escrever e usar o seu código:

  • Para evitar código duplicado, podemos frequentemente usar a mesma "Struts Action" e o JSP para o pedido inicial (isto é mostrar a totalidade da página) e o AJAX (actualizar parte da página and JSP for the initial request (i.e., show full page) and the AJAX (update part of page) requests.
  • Na classe comum (controlador), decidir que secções da página JSP (todo o JSP ou só parte dele) necessita de ser enviada ao navegador. Ao estabelecer indicadores seja na sessão do servidor web ou ActionForm, a página JSP sabe que secções necessitam de ser reproduzidas.
  • No JSP, usar marcadores Struts ou JSTL para decidir se necessita de reproduzir uma secção HTML ou não. Pode descarregar uma versão deste projecto já com capacidade Ajax aqui: struts-Ajax.zip

AJAX-III

Ajax

Monitorização para usabilidade usando técnicas Ajax

Eric Pascarello recentemente escreveu uma entrada sobre a utilização de técnicas Ajax para monitorização de acções de utilizador para captura/registo de erros. O aspecto básico é que vai contra a corrente normal de que o ajax pode ser usado para praticar o mal "espiar o utilizador" usando o ajax para registar todas as acções do utilizador para poder testar em profundidade quando este visita uma página para testar e detectar erros. Eric está a desenvolver uma ferramenta para reter a totalidade das acções do utilizador, registá-las e potencialmente efectuar uma reprodução das mesmas para ver onde ocorrem erros. Isto pode ajudar a evitar o problema de algué dizer "Não me lembro a aplicação simplesmente rebentou!"

Pode ser uma ferramenta para o laboratório de usabilidade do pobrezinho . Se puder reproduzir a interacção do utilizador com a página, pode observar exactamente onde e o que é que ele clicou e onde é que a sua aplicação funciona e onde é que não. Uma ferramenta deste tipo não deve ser de desenvolvimento simples mas pode ajudar nos testes e monitorização de aplicações Ajax

03 novembro, 2005

Que dia

Que dia

netvibes.com start.com live.com Maps Yahoo Infraestruturas AJAX Open Source com Suporte para Serverside Java eHub
Microsoft contra o Vale da Sílica
Produto Concorrência
Windows LiveYahoo,Google, AOL,Salesforce.com, Zimbra
Office LiveGoogle, 37Signals
Live MessengerSkype-eBay, Friendster, Plaxo, AIM, Google Talk, Yahoo, Google (Sidebar), Apple
Microsoft GadgetsWidgets
Microsoft MapsGoogle, Yahoo, Mapquest*, etc

O único que se pode usar cá mas de facto não tendo interface tão moderno quanto os outros.

AJAX-II

AJAX

Parece que os desktop virtuais estão novamente na moda. Live.com, start.com , netvibes.com, protopage.com, etc...

Visualmente são quase todos funcionais (no caso das entradas da microsoft só parcialmente e num caso não em firefox) e agradáveis. Podemos em todos eles arrastar, largar, adicionar e apagar novas "secções". No caso do protopage e do netvibes a funcionalidade é custumizável e persistente (mantendo-se para as sessões seguintes).

Por enquanto as aplicações são limitadas no caso da protopage a notas (substitutos electrónicos dos post-it), listas de tarefas a executar, ligações favoritas e buscas rápidas, nas ofertas da microsoft podemos ainda assinar notícias, ver a metereologia (inclui Lisboa e outras localidades aqui à volta) e por exemplo embeber o nosso correio (hotmail ou live).

Construção de acessibilidade universal

Construção de acessibilidade universal e lista de verificação

Esta secção trata de assegurar que um website do governo (UK) é desenvolvido para servir a maior audiência possível usando o mais alargado número de sistemas (plataformas de hardware e software) e que as necessidades dos utilizadores com incapacidades são levadas em linha de conta.

Não podemos contar que os nossos utilizadores tenham tecnologia padronizada, assim, para assegurar o acesso à nossa informação na web o ónus está do lado dos nossos administradores da web para levar a mensagem para benefício de todos.

É muito importante que a organização do seu sítio da web seja centrado no utilizador e usável desde o início mas mantenha o nível de acessibilidade e usabilidade ao longo da sua existência.

Utilize cada um dos pontos de verificação para assegurar que as suas páginas de web estão conformes estas directrizes.

Diretrizes Nucleares

    Lista de Verificação
  • Mantenha as páginas simples
  • Seja consistente ao longo de todo o website
  • Utilize o HTML como formato de informação por omissão
  • Não devem ser usados métodos específicos de um navegador num website
  • Usar um mínimo de imagem - usar imagens de pequenas dimensões se possível
  • Não dependa da cor para transmitir informação
  • A cor do texto deve contrastar sempre com a cor do fundo
  • Use HTML para estruturar o documento, não aplique estilo
  • Use Folhas de Estilo em Cascata para formatar e dar estilo aos elementos fundamentais do website
  • Os tamanhos dos tipos (de letra fonts) devem ser possíveis de alteração pelo utilizador final - não os defina de forma absoluta
  • Qualquer cor deve ser passível de alteração pelo utilizador final
  • Todas as imagens importantes devem ter um atributo "alt" e descrição
  • As descrições do atributo "alt" devem ter significado
  • Uma barra de navegação, em texto, deve ser usada ao mesmo tempo que um "salto à navegação"
  • Devem ser fornecidos métodos alternativos de navegação para quem não possa usar um dispositivo de orientação
  • Se usados imagemaps então têm que ser no formato do lado do cliente
  • Deve ser dada uma alternativa em texto se forem usados imagemaps
  • É obrigatório fornecer uma versão alternativa em texto de qualquer informação fornecida em formato áudio ou vídeo
  • Qualquer informação que seja fornecida que exija um plug-in deve também ser fornecida em HTML
  • Todas as páginas devem estar conformes o padrão WAI nível A
  • Os logos WAI apropriados devem ser apresentados na página de entrada de uma organização para ilustração da conformidade com as recomendações W3C

Sumário

Existe um mito que o desenvolvimento de websites acessíveis e de páginas inclusivas seja caro, que tenham que ser chatas e aborrecidas, que tenham de ser escritas para o menor denominador comum - tal não é verdade! Também não é verdade que os utilizadores tenham que ver uma página web da forma que um designer a pensou. Com a proliferação de navegadores, tamanhos de ecrãs, profundidades de cor e outras preferências do utilizador não é possível frequentemente que uma página seja vista da mesma forma por todos.

O que é importante é que os utilizadores devem poder ver uma página da forma que desejem ver com o que equipamento que tenham disponível e evitar más experiências que resultem em redução de visitas repetidas.

A integração da acessibilidade no processo de desenvolvimento de websites cria websites de forma eficiente que trabalham correctamente para o maior número de pessoas na maior parte das situações - isto significa mais utilizadores. O desafio aos responsáveis pelo desenvolvimento de web é a criação de páginas que sejam simultaneamente visualmente apelativas e completamente acessíveis para um espectro de utilizadores alargado.

Estamos a entrar num mundo em que gerir um número diferente de versões do mesmo conteúdo se irá torna num padrão. Irá provavelmente fornecer conteúdo diferente a meios diferentes tais como dispositivos móveis. Irá provavlemente conceber e escrever conteúdo de forma a comunicar com diferentes audiencias também. O advento da banda larga significa que o conteúdo multimédia se irá tornar cada vez mais apropriado.

Igualmente, para tornar um website inclusivo, há necessidade de existirem alternativas para suportar pessoas e sistemas com capacidades diferentes. Não se trata só de pessoas com incapacidades. Alguns sistemas corporativos estão protegidos com firewall para extrair conteúdo activo. A acessibilidade é também algo quando se comunica com uma audiência de negócios.

  • Se forem usados frames, é necessário usar um elemento noframes e cada frame dentro do frameset deve ter um título.
  • Os scripts e as applets devem ser complementadas por um elemento noscript para aqueles utilizadores que acedam com navegadores com scripting indisponível ou com firewalls que o bloqueiem.
  • é necessário fornecer equivalentes textuais, ou transcrições a elementos não textuais - multimédia ou informação apresentadas de forma gráfica
  • Páginas alternativas textuais devem ser raramente necessárias e não são consideradas boas práticas. Se forem usadas páginas só de texto então o seu conteúdo:
    • Deve ser tão completo e amplo quando a de conteúdo gráfico
    • Deve ser actualizada em simultâneo
  • A cor não deve ser usada como única forma de transmitir informação
  • Navegação - os utilizadores invisuais devem ter meios alternativos de interação com menus, barras de ferramentas e elevadores, ligações etc

Web Standards em Portugual

Web Standards em Portugal

Por vezes sou um chato em relação à utilização de web standards e da importância dessa utilização. Não me preocupo só com os aspectos formais da questão mas preocupa-me a utilização por exemplo de html (ou xhtml) que não esteja conforme os standard.

O problema é que normalmente a uma má (lei-a-se não conforme os standards) utilização de elementos e/ou atributos no html sucede uma má experiência de utilização por parte dos utilizadores do sítio.

Dizendo de outra forma validar html e/ou css não deve ser um fim mas um meio para alcançar algo. Isto não significa que não possa haver situações onde não haja validação. Agora coisas básicas como um charset mal indicado, um DOCTYPE mal indicado não são aceitáveis.

Por exemplo quando se quer massificar a utilização das declarações electrónicas no ministério das finanças devia ter-se em conta que nem toda gente tem instalado JAVA no seu computador, nem todas as pessoas chegam à página das declarações da mesma forma. A necessidade de scripting aparece como uma mensagem ao visitante "o seu navegador não tem capacidade de scripting ou esta está desactivada". O que devia suceder era haver conteúdo alternativo em seu lugar e não isto (mas é melhor que o caso que me trás hoje aqui). Ao dificultar a um certo número de pessoas a usabilidade do sítio está-se de facto a fomentar a sua não utilização. Se um dia for obrigatória a entrega de todas as declarações por via electrónica espero que se lembrem de todos e não façam como a FEMA nos EUA que usou formulários que só podiam se preenchidos no IE para pessoas que pedissem ajuda na sequência do Katrina.

Se o computador estiver por detrás de uma firewall, que extirpe elementos activos, podem mesmo não ter acesso a nenhum dos conteúdos activos existentes nesta página e não há uma degradação que seja aceitável.

O Ministério da Saúde

O ministério da saúde está agora a construir a sua nova presença na Web, não faço ideia se têm nesta nova versão este tipo de coisas em mente. Espero que não usem a técnica no sítio da Direcção Geral de Saúde, sem javascript, página em branco.

O respectivo construtor masterlink.pt parece ter muito cuidado com o aspecto gráfico esquecendo que a concepção de páginas web ultrapassa em muito o aspecto. Esta estratégia provoca problemas para quem necessitar ampliar o texto, mesmo que tenha o JavaScript activo.

Ou seja o código até pode ser de 1ª água (não sei porque não o verifiquei ainda) mas se verificarem as regras de acessibilidade e usabilidade (quem não tem acesso nem sequer pode usar) é dito que no caso de um conteúdo importante ser obtido com um script se deve fornecer uma alternativa (noscript). Parece-me que o conteúdo (todo neste caso) do sítio é a sua razão de existência, pelo que não me passa sequer pela cabeça que se fez um sítio para só ser visto com JavaScript activo. Por acaso adoraria ser mosca.

Realmente o sítio da Direcção geral é um sítio com frames (gerados pelo JavaScript). Não entendo que razão possa levar uma entidade pública a criar/deixar criar um sítio deste género. Mas deve haver alguma que não seja pura incompetência do dono ou excesso de zelo na obfuscação do conteúdo.

Já repararam que uma das regras básicas de construções de sítios governamentais numa série de países a primeira coisa que têm é uma exigência de simplicidade...como podem ler nesta minha tradução apressada: construção de acessibilidade universal do sítio do governo de sua majestade.

30 outubro, 2005

Candidaturas à Presidência e Web Standards

Nem na porra de páginas acabadinhas de fazer... O João Craveiro, colocou no seu site uma página muito semelhante à página da candidatura de Cavaco e Silva à Presidência da República. Às vezes faço uma leitura demasiado apressada e dá nisto. Vejo uma simulação melhor que o original. E gosto do que vejo (não não estou a falar de política, mas do código da página simulada). Só então reparo que aterrei primeiro na simulação. Depois vou ver a página oficial e... Está à vista que nada mudou continuamos a apertar porcas com chaves de fendas na construção de websites. Penso que os construtores de websites devem ter necessidade de alguém que lhes ensine que uma chave de fendas não serve para apertar uma porca e que uma tabela num website deve ter informação tabular e não deve ser usada para criar arranjos de páginas. Ou será que quem a fez nunca olhou para as especificações do W3C e de algumas explicações para o uso correcto dos elementos num página (e já agora respectivos atributos). Os defeitos que o João encontou no sítio oficial, encontram-se nos sítios dos restantes candidatos (Soares, Manuel Alegre, Manuela Magno (chega a ter páginas com duas(?) declarações DOCTYPE [é um site assinado por uma empresa, provavelmente a evitar, se a qualidade dos restantes sítios for semelhante]), Francisco Louça. Jerónimo de Sousa é um caso à parte usa frameset e tabelas. É claro que é um site para não ser visitado via telemóvel. Já agora em alguns dos restantes também nada se vê por terem posto botões gráficos em vez de texto (com eventual subsituição/sobreposição) para dispositivos que os pudessem apresentar. Não digo que apliquem técnicas semelhantes às do Stu Nicholls para simular frames, ou as técnicas para criar um arranjo harmonioso de com várias colunas, as do João devem são adequadas e perfeitamente nacionais. Só não digo para o contratarem pois pode acabar por gastar algum tempo mais do que os 45 minutos que investiu na criação do seu modelo. Aliás as candidaturas parecem achar que não vale a pena sequer o esforço de permitir o acesso a partir de dispositivos alternativos como os telemóveis ou os televisores. Quase que me apetece fazer versões de texto, sem grafismos, com som, para cada uma das candidaturas. A candidata Manuela Magno tem o sítio alojado num servidor lento ou então com muitos hop entre mim e o site dela (demora muito mais do que 15s a ter algo de útil para ver). A candidatura de Mário Soares tem um títulos(?) com umas cores com baixo contraste

29 outubro, 2005

410

Erro 410 HTTP: Deixei de estar acessível (fui eliminado ou não me querem dar acesso)

O erro 410 do protocolo HTTP é um afilhado do erro 404 (Recurso não encontrado). O erro 410 significa que o recurso deixou de ser acessível, ou seja, existia aqui um recurso neste local, mas deixou de existir. Não só deixou de existir, mas não sei (ou não lhe quero dizer) para onde foi. Se soubesse e lhe quisesse dizer, então utilizaria o erro 301 (redirecionamento permanente) e qualquer cliente inteligente simplesmente apontava para o novo endereço. Mas o erro 410 significa que o recurso desapareceu e não há endereço de reendereçamento.

Não há assim tanta informação sobre o erro 410 facilmente disponível. Se efectuar uma busca no Google pelo erro 410 vai encontrar uma série de páginas onde o erro foi gerado. Há poucas páginas que dão uma pequena descrição do erro mas visto esta condição não ser muito frequente (ou não ser usada com frequência) pouco mais é dito. Além disso parece que todos tivemos uma lavagem ao cérebro acreditando que todos os recursos devem ser permanentes o que não é verdade.

Usar o erro código 410 do HTTP significa aceitar a temporalidade de todas as coisas.

Passemos pois à implementação. Lendo a documentação do Apache, encontram-se várias formas de especificar que um recurso desapareceu. O primeiro usa «Redirect»:


    Redirect gone /caminho/para/recurso
    

Por exemplo se criar uma página temporária:


    http://aindaapensar.cafonso.pt/tmp/imagem.png
    

(*este recurso não existe de qualquer forma) e queira maisd tarde apagar esse ficheiro por qualquer razão devo colocar no ficheiro .htaccess:


 Redirect gone /tmp/imagem.png

O caminho é um caminho virtual do recurso no meu servidor, não o nome completo do ficheiro no disco, e também não o URL completo.

Pode ainda usar RedirectMatch para vários ficheiros, usando expressões regulares. Por exemplo, isto iria corresponder a todos os ficheiros na pasta tmp/ com a extensão .png:

RedirectMatch gone /tmp/*.png

A terceira opção seria usar mod_rewrite, o que permite condicionais complexos para decidir quando servir um erro 410. Por exemplo tenho uma edição móvel que contém uma página de índice e páginas dos cinco artigos mais recentes simplificadas. Estes artigos não devem ser permanentes. Tudo funciona como se fosse um RSS feed, com a excepção de que é repartido por várias páginas devido ao que é esperado pelos dispositivos móveis. Cada página tem o seu endereço próprio, mas têm vida curta. Também não posso usar os mesmos URLs sucessivas vezes como por exemplo colocar os artigos em /movel/1 até /movel/5 pois tal poderia confundir alguns proxies.

Assim quando os artigos deixarem de figurar na página de índice eu elimino-os do meu servidor e desejo servir um código apropriado de erro para proxies e bots que apareçam mais tarde. Pelo que lhes posso dizer o erro 410 é o código de erro perfeito para isso. Não desejo manter de forma manuak uma lista de regras de Redirect (redireccionamento) e assim uso o mod_rewrite:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule movel/[0-9]{6}.html$ - [G,L]

Em português isto quer dizer:

  1. Se houver um pedido para um ficheiro que não exista (!-f)
  2. e o ficheiro estiver na pasta móvel e for identificado por qualquer dos seis algarismos + .html (é a expressão regular)
  3. então usar o código de erro 410 (indicador G)
  4. e retornar imediatamente sem demora adicional (indicador L).

Isto não é uma solução perfeita: se indicar um URL arbitrário de páginas que nunca existiram mas que correspondem ao padrão, irá obter um erro 410 em vez do mais correcto 404. Mas cobre os casos mais prováveis de um proxy ou motor de busca voltar e pedir um recurso que anteriormente tiver apanhado e descobrir que já não existe.

Contudo podemos usar métodos para determinar se houve em algum momento determinado ficheiro (usando uma base de dados/tabela sendo considerado apagado quando a tabela assim o indicasse (de forma deirecta ou indirecta) ou em vez de apagar um ficheiro passar o seu tamanho para zero e assim o erro seria reportado quando o ficheiro tivesse zero bytes). Claro que se podia criar ainda outras regras que permitissem determinar facilmente se um ficheiro poderia já ter existido (por exemplo ficheiros com nomes crescentes).

Quando um user agent pede uma página que tenha marcado com um código 410 o Apache gera uma página de erro por omissão que se parece com:

    Morreu

    O recurso pedido
    /caminho/para/recurso/pedido
    não está mais disponível neste servidor e não há endereço de reencaminhamento. Por favor remova todas as referência para este recurso.

…que está muito bem, excepto quanto a razões estéticas tal como a página por omissão do erro 404. Recurso não encontrado. Mas pode criar uma página 410 à sua medida tal como pode criar páginas de erro à medida para outras condições usando uma directiva de ErrorDocument no seu ficheiro .htaccess:


    ErrorDocument 410 /caminho/para/página/àmedida

Trata-se novamente de um caminho virtual no seu servidor, o qual pode ser o endereço web sem domínio. (Pode ainda ser um URL completo numa máquina remota, mas nesse caso o "user agent" não iria receber um erro 410; iria receber um estado de reencaminhamento em seu lugar. Por isso talvez seja melhor manter a resposta local, de forma a ser emitido o código adequado.

Outros usos possíveis para o erro código 410:

  • Páginas temporárias
  • Posts de blogues apagados
  • Experiências num servidor que oferece hospedagem gratuita por determinado período após expiração do mesmo sem pagamento pelo utilizador pela continuação
  • Sítios de utilizadores que deixem de pertencer a uma comunidade online
  • ...

Não é um erro frequente, e não tenho a certeza de estar a usar isto de forma correcta.

Para quem queira avaliar por si poderá por exemplo consultar o RFC2616.

28 outubro, 2005

Acessibilidade II

Acessibilidade na UMIC

A UMIC vai actualizando o seu site com algumas informações que poderiamos achar interessantes. Entre essas informações encontra-se a de umas jornadas da Fundação SIDAR".

Essas jornadas propõe um rascunho para conclusões com o seguinte texto:

Propomos às Autoridades das Cidades e Localidades as seguintes estratégias que as levarão sem dúvida a dotar os seus cidadãos da oportunidade de participar activamente na Sociedade da Informação acessível e inclusiva para todos:

Estratégias sobre a produção ou concepção da informação

A experiência nas administrações públicas que conseguiram avanços em prole de uma comunicação acessível para todos, dá-nos conta que os elementos que se seguem, que podem ser implementados de uma forma gradual ou simultânea, demonstraram ser uma valiosa ajuda:

  1. Inclusão de uma cláusula de acessibilidade em todos os contratos de desenho, desenvolvimento ou manutenção de páginas, sítios, ou serviços Web, para a administração pública.
  2. Redacção ou publicação de um anexo para as aquisições ou cadernos de encargos da administração pública no qual se explicitem e clarifiquem os requisitos de acessibilidade para os conteúdos na Internet.
  3. Inclusão de uma cláusula nos regulamentos dos programas e gestores de fundos públicos, que obriguem a conformidade para com as directrizes de acessibilidade a todos os projectos que incluam conteúdos para Internet e que sejam financiados total ou parcialmente por fundos públicos.
  4. Estabelecer um centro auditor da acessibilidade das administrações públicas, que não apenas vigie o cumprimento dos requisitos de acessibilidade mas que sirva como centro de referência e apoio para os webmasters da própria administração, assessorando-os nas técnicas e conhecimentos necessários para implementar e manter a acessibilidade.
  5. Promover as boas práticas, mediante a sua exposição atráves da constituição de uma "Galeria da Acessibilidade" e de instituição de menções públicas ou compensações de diversa ordem.
  6. Estabelecer um serviço público de certificação da acessibilidade, preferencialmente a partir de uma entidade normalizadora e certificadora do Estado, baseada numa norma técnica previamente publicada ou, caso não exista, que a referida entidade apoie as organizações de referência neste campo no estabelecimento da certificação.
  7. Publicar periodicamente estudos de diagnóstico de determinados sectores chave da sociedade civil, como por exemplo a banca, hipermercados que ofereçam os seus produtos através da Internet, centros de comércio electrónico, centros de lazer (venda de entradas para cinemas e teatros), etc.

Meus comentários

  1. Não entendo como é que não faz já agora (e já há algum tempo) parte desse tipo de contrato cláusulas quanto à qualidade dos sítios (a acessibilidade seria só um componente dessa qualidade). Acho pois esta recomendação excessivamente simplista, mas também acho que tem que se começar por algum lado.
  2. Aqui parece-me que não se deve inventar muito. Olhe-se para as recomendações/directrizes existentes e se for caso disso façam-se adaptações (não se invente a roda por favor). Só se devem acrescentar algo se for estritamente necessário.
  3. Totalmente de acordo (acho mesmo que não só deviam fazer cumprir as recomendações de acessibilidade como deviam fazer cumprir as recomendações mais gerais na linha do WaSP. Acho mesmo que no caso de não cumprissem quer com as regras de acessibilidade, quer com as regras mais gerais se deviam estabelecer as "penas" a aplicar.
  4. Quanto ao centro auditor da acessibilidade das administrações públicas, algo que devia ser feita além do indicado seria permitir um escrutínio público activo das más práticas, não com a finalidade principal de penalizar os organismos públicos/empresas fornecedoras, mas levam a uma mudança de atitude.
  5. Acho que a promoção de boas práticas deveria incluir sítios piloto de demonstração (no sentido que que se podia observar um caso prático em funcionamento). Os sítios que apresentassem boas práticas deveriam ter louvor público (um ícone que pudessem ostentar e não a coisa ridícula que significa ter um buraco de fechadura) das pessoas responsáveis pelos sítios. Essas pessoas deveriam ser incentivadas a tornar públicas em formato acessível ao todos nós sobre a maneira como concebiam o sítio ou sítios em causa.
  6. Não gastem dinheiro, numa primeira fase, em serviços públicos de certificação de acessibilidade. Façam uma revisão por processo automático e uma autoavaliação e avaliação pelo próprio público. Não criem normas técnicas num campo em permanente actualização. Usem as normas / recomendações / directrizes existentes e confrontem-nas com os vossos próprios sítios.
  7. Não publiquem só estudos de diagnóstico de.... Vejam em série temporal se cada sector chave faz algum esforço.

Aquilo que cada um de nós pode fazer

Sem necessidade de sermos obrigados a fazer, podemos, cada um de nós, fazer um pequeno esforço para melhorar a situação. Se por exemplo visitarem a página traduzida das WAI pela UTAD podem verificar que a página mesmo não sendo validada está muito próximo de ser acessível (talvez com a excepção de uma linguagem demasiado técnica, mas parece-me que neste caso perfeitamente aceitável).

Depois cada uma das pessoas que se ache com essa capacidade tome um sítio debaixo da sua asa e faça uma avaliação humana da acessibilidade nesse sítio e faça conhecer ao responsável pelo sítio aquilo que tenha encontrado que possa ser melhorado. Espere algum tempo e se ele não lhe responder (quer alterando quer enviando-lhe um e-mail) trate de assinalar o facto num local eventualmente a criar.

Assinale os problemas que encontra indicando o problema, para que incapacidade isso pode ser gravoso, que mecanismos alternativos utilizaria, que meios (computador, programas, telemóvel, pda, etc).

Não nos podemos esquecer que a internet não tem só como potencial utilizador o utilizador do computador, julgo que no futuro haverá provavelmente mais utilizadores de meios alternativos e esses devem ser contemplados.

Eu vou continuar a alimentar a minha lista de sítios públicos e vou tentar ver se evoluíram muito entre 2003 e a actualidade quer em relação as web standards quer em particular à acessibilidade. É curioso que não vi até agora nenhum sítio de ministério que não usa-se tabelas para layout. (Não use o telemóvel nestes sítios). Alguns acham mesmo que toda a gente tem JAVA activo, ou imagens.

Parece-me que o caminho será longo, mesmo muito longo. E acho que de facto é genérico em todo o mundo, não é só uma questão nacional.

Já agora quem saiba de algum sítio empresarial ou público que cumpra com as recomendações da WSP cá fazia o favor de me enviar esse dado. Desde já os meus agradecimentos.

Semiótica e Arquitectura de Informação

Semiótica e Arquitectura de Informação

A semiótica em termos simples é o estudo dos sinais. O que se pode tornar complicado é definir o que é um "sinal".

Quando pensamos em sinais, pensamos em algo visual como um sinal de trânsito. Mas os "sinais" são feitos de muitos componentes diferentes - palavras, sons, linguagem corporal e contexto - todos combinados para criar uma linguagem visual que nos ajuda a compreender algo, seja o caminho para a praia, ou se alguém, nos detestou da primeira vez que nos viu.

Este artigo não é sobre semiótica. Não vou aprofundar este assunto muito mais, pois num campo desta natureza nunca poderia deixar de só arranhar a superfície. Vou tentar falar é do uso da simeótica na Arquitectura de Informação. Isto, só por si, já é um campo muito grande pelo que só vou fazer uma introdução.

Introdução

Já dissemos que a semiótica é o estudo dos sinais e que os sinais podem ser feitos de todo o tipo de coisas tal como a língua, imagens, linguagem corporal, etc. Mas o que é que isto nos diz na prática? Bem, poderá ajudar-nos a dar uma revisão ao campo da semiótica e depois passar para algumas teorias que ajudam a constituir o seu núcleo.

Os semióticos modernos, não estudam só sinais - vai muito mais ao fundo - estudam como é que o significado se forma. Estudam como é que as pessoas interpretam um sinal, e como é a sua experiência cultural e pessoal os faz compreender um sinal. Neste sentido a semiótica é sobre comunicação (vê os paralelos com o design?).

Há três áreas principais na semiótica: os sinais, a sua forma de organização num sistema e o contexto em que aparecem.

Vejamos os sinais.

Os Sinais

Ícone - um ícone é um sinal que se assemelha a algo, tal como fotografias de pessoas. Um ícone pode ser ilustrativo ou diagramático, por exemplo um sinal de "proibido fumar".

Indíce - um sinal indíce é um sinal onde há uma ligação directa entre o sinal e um objecto. A maior parte dos sinais de trânsito são índices pois representam informação relativa a um local (por exemplo "perigos vários", colocado numa zona perigosa para o trânsito).

Símbolo - Um símbolo não tem um significado lógico entre ele e o objecto. Infelizmente a web está cheia de maus exemplos deste tipo de sinal, mas há bons exemplos - uma porta aberta para a página de entrada por exemplo. Outro tipo de simbolos que podem ajudar a explicar a diferença são as bandeiras. As bandeiras são simbolos que representam países ou organizações. Novamente o cruzamento entre design e marca está muito evidenciado nestes sinais.

Sausurre propôs uma estrutura mais simples do que é que um sinal é:

  1. um "significante" - a forma que o sinal toma e
  2. um "significado" - o conceito por si representado.

Para Saussure um sinal signo é uma combinação dos dois. Mas, o que é que isto significa em termos da Web?

A Semiótica e a Web

A Web está cheia de sinais. Pense nisso.

A maior parte dos utilizadores efectua uma tarefa num website, de modo a alcançar o que tenham a visam alcançar para navegar para o local correcto. Para que o façam seguem os sinais. Entende?

Não só sinais visuais. Vejamos a Arquitectura de Informação por um momento.

A AI é um campo do desenvolvimento que trata da organização da informação. Em tempos tive uma amiga que me descreveu o que é que a excitava no seu trabalho. Faço listas, disse ela com um grande sorriso. Depois faço listas dentro de listas. Parece-lhe excitante? Trocamos impressões sobre o sentido das palavras e do seu efeito sobre o seu trabalho.

As palavras são importantes, disse ela. Provavelmente mais do que tudo o resto. Podes ter um mau design, mas se as palavras forem as correctas no local correcto, o utilizador acabará por encontrar aquilo que pretende.

A conclusão desta conversa foi que as palavras também são sinais na web. A palavra correcta no sítio correcto - é disso que trata a navegação ou não? Contexto. Passemos agora a algo um pouco mais visual.

Tomemos o exemplo da concepção de um sistema icónico para uma aplicação online. Os paralelos com o design de software são óbvios - um interface gráfico de utilizador GUI, têm bons ícones, ou será que devo dizer sinais. Então o que é que deve fazer para tornar esses sinais compreensíveis pelo utilizador?

  • Seja evidente - seja corajoso
  • Deixe a "criatividade" para os maus designers - Este não é o local para fazer algo de diferente. Se existe uma convenção use-a
  • Posição, posição - Esteja no sítio certo.

Há mais, mas estas seriam as três coisas mais importantes, na minha opinião, para uma sinalização bem sucedida (não se esqueça que os ícones na web são sinalização e quando os está a desenhar está a criar uma sinalização quer o queira quer não).

Comentários de José Afonso (ainda sem website):

Penso que a semiotica é antes de mais um termo. Um termo que, entre várias coisas, designa uma ciência: a ciência dos signos (" Charles Peirce

general theory of signs, which he called semiotic, is a promising candidate for the theory of symbolism apparently missing as yet from the anthropological paradigm.
").

E, o problema, acho eu, surge logo no momento de distinguir signo de sinal. Penso que isto aparece pelo menos de dois modos: do ponto de vista da intencionalidade e do ponto de vista da codificação.

(
"Semiotic is the general theory that attempts to specify the general logical features of signs and the similarities and differences between the great variety of forms they can take. "
)

Um sinal de trânsito, penso eu, ser na verdade um signo. Um signo intencional de aviso de que uma regra ou norma deve ser cumprido. Um signo, também, do ponto de vista da codificação que remete de uma linguagem visual para uma linguagem verbal - a questão seguinte é saber em que medida se pode falar de linguagem visual (como alguns falam de pensamento visual) e da sua relação com (o código) (d)a linguagem verbal.

Não! Devia?... E depois há a comunicação... será que o sinal de trânsito visa comunicar-nos que a ou b deve ser feito ou transmitir-nos o que deve ser feito em determinada situação? Qual a diferença entre "comunicação"(teoria da informação) e "transmissão" (mediologia)?

O que se segue é uma classificação dos "sinais" (signos?) segundo Pierce (uma classificação segundo que princípio)? Ver Umberto Eco, Tratado... "Símbolos, índices, ícones: uma tricotomia insustentável" (curiosamente esta secção fala da "tipologia dos signos" - julgo que uma tipologia é uma classificação de tipos de signos segundo um princípio inerente ao sistema por eles formados)

A fotografia é um bom caso problemático para esta semiótica, cujo princípio de classificação, penso eu, serem as "causas". O que depois apresentas como o "poder ser" do ícone são as suas modalidades de classificação segundo o seu aspecto, constituição, organização ou apresentação material.

Será um símbolo o que "está por" ou "em vez de"?

Há ainda bastantes notas mais só que as vou guardar para amanhã.

27 outubro, 2005

Comentários sobre Web Standards em Portugal III

João Craveiro

João Craveiro enviou-me a seguinte mensagem/comentário:

Para começar, agradeço a referência ao meu artigo -- e já reparei que também fui referido noutro contexto/post. ;)

Já agora, no âmbito desse artigo, indico-lhe um link para uma (que pretendo/pretendia que fosse a 1ª de algumas) experiência (que fiz por altura do artigo) de conversão de páginas da AP para boas práticas de webdesign.

Depois, dado que os comentários estão desactivados (pelas razões que já li, e que na verdade são um dos caveats em utilizar uma plataforma gratuita e/ou de "mexibilidade" limitada):

«Para o João não é muito importante a validação automática, para mim ela só é importante como avaliação inicial da qualidade da página, pode haver algumas razões para que uma página não valide, mas é importante, na minha opinião, perceber se são ou não importantes as razões para a não validação.»

Eu não lhe dou uma importância suprema, porque acho (aliás, tenho a certeza) que não existe uma dependência funcional, em qualquer um dos sentidos, entre "aprovação na validação automática" e "bom webdesign - markup acessível, compatível e semântica". É possível fazer um site "matrioska de tabelas" que valide na perfeição em XHTML 1.1 , da mesma maneira que um site que não valide na sua totalidade pode ser um exemplo a seguir nos parâmetros de bom webdesign que referi.

«O atributo de língua <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">Deve querer dizer que a língua em que o documento está feito é o inglês (não é o que se verifica felizmente)»

Há piores: os que mudam o doctype de «//W3C//DTD XHTML 1.0 Transitional//EN» para «//W3C//DTD XHTML 1.0 Transitional//PT». ;)

Para terminar, em resposta a 2 dos parágrafos de um comentário que fez a um artigo mais recente sobre o assunto:

«Já agora se reparar bem nem os sites das nossas universidades cumprem adequadamente os requisitos médios de acessibilidade, isto para não falar também do desgosto que me provoca olhar para alguns deles como por exemplo o da Universidade de Lisboa (Clássica).»

Eu sei, estudo numa faculdade da Clássica. ;) Até agora, não contando com o site da própria UL, o cúmulo de "querer benzer-se e partir a cabeça" em todos os aspectos (i.e., não se ganhou propriamente muito em 'user experience' por se utilizar uma tecnologia avançada, mas pouco amiga da acessibilidade) é o site de uma cadeira em que cada opção do menu é uma applet Java (só para fazer um efeito rollover).

«Acho que os responsáveis não percebem para que serve ter um site acessível, acessível a cegos, ambliopes, pessoas com dificuldades motoras, pessoas com dificuldades de aprendizagem.»

Este parágrafo dum artigo meu , em inglês, é uma metáfora+hipérbole daquela que acho uma maneira realmente efectiva de "seduzir" (pelo menos o sector privado) ao uso dos webstandards e cumprimento de requisitos de acessibilidade:

«"I don’t care about blind people, are there any real benefits?"

Well, I could answer that by making yet another paragraph advocating the benefits of using semantic markup and separating content from presentation, yada yada, but I won’t. I’ll just cut straight and enlighten the selfish you, who doesn’t care about disabled people, or thinks that blind people don’t need to read you because you write about camcorders and digital still cameras, that search-engine robots are also blind users. Google doesn’t have pigeons looking at every site, to visually distinguish titles (big letters) from text (normal size letters), nor do they perfom OCR on a screnshot of your homepage for that matter. They look at your site’s markup, and build the hierarchical strcture of it based on the headings present and each one’s level. Google, visits, people, fame [we can add "money" to this list, works like a charm ;) ]. Does THAT appeal to you?»

Nota: Os realces são da minha responsabilidade

26 outubro, 2005

Para os nostálgicos da informática

Este post não é para se repetir (está fora do âmbito deste blogue) todos os dias mas de vez em quando vou actualizar esta lista. Já agora hoje, 26 de Outubro de 2005 vai para o ar uma nova entrevista.

Entrevistas com luminárias da informática
  • Dan Drake, um dos fundadores da Autodesk (Autocad).
  • Dave Winer, pai do RSS e dos blogues
  • Tim O'Reilly, o pioneiro do Open Source
  • Brewster Kahle, o fundador do arquivo da internet
  • Bill Joy, o co-fundador da Sun Microsystems
  • Max Levchin, o co-fundador do PayPay
  • Andy Hertzfeld, um dos programadores originais de sistema do Macintosh

As entrevistas são apresentadas em várias formas de áudio MP3, Ogg Vorbis Audio, AAC Audio e transcritas.

O Andy diz

Desejos CSS-3

Tenho pensado em arranjos líquidos ultimamente e julgo que seriam úteis as seguinte propriedades: min-padding, max-padding, min-margin e max-margin.

Normalmente em arranjos líquidos é normal indicar as padding/margin usando percentagens para criar um intervalo líquido entre elementos. Contudo uma vez tendo sido reduzido o arranjo para além de um certo limite esse intervalo torna-se demasiado pequeno. Assim seria muito bom podermos definir um intervalo mínimo de separação entre elementos de forma a aumentar a legibilidade.

Inversamente em ecrã ao baixo (muito mais largos que altos), esses intervalos podem ficar excessivamente grandes causando uma pulverização entre elementos do conteúdo. Indicar um intervalo máximo evitava este problema e mantinha os elementos visualmente associados.

Tendo em conta que há "min" e "max" "width", parece um esquecimento não haver os equivalentes min e max para padding e margin.

No 456 diz-se que isto claro só deve tratar-se da forma abreviada. quando so Andy disse:

min-padding: 0em 1em 1em 2em;

Estava claro só a falar da versão abreviada a versão completa seria algo como:


min-padding-top: 0em; 
min-padding-right: 1em; 
min-padding-bottom: 1em; 
min-padding-left: 2em; 

AJAX - I

AJAX - I

Este é o meu primeiro artigo sobre como Começar a Desenvolver/Trabalhar com AJAX. Faça o favor de o incluir nos seus marcadores preferidos, guardá-lo, imprimi-lo ou o que quer que seja.

Eis uma lista de Guias Fundamentais para desenvolvimento de AJAX:

  • Centro de Desenvolvimento do Mozilla: AJAX:Introdução - É um bom local para começar a estudas o que é que é o AJAX. A equipa do Mozilla fez um belicímo trabalho à introdução do AJAX dando alguns exemplos os quais pode experimentar de imediato.
  • Responsáveis pelo desenvolvimento do Meebo: Introdução ao AJAX - Os responsáveis pelo desenvolvimento do Meebo falam de como começar a trabalhar com AJAX no seu projecto, alguns conselhos que pode usar para arranjar ideias e desenvolver o seu próprio projecto AJAX.

  • Kevin Meyer - tem uma série de artigos sobre introdução ao AJAX e ASP. Tem um tutor com código de exemplo, e assim todos os "malucos" por ASP podem seguir os exemplos.
  • PASSEÀFRENTE: AJAX e JAVA - Aqui a gente da Getahead partilham os seus conhecimento sobre usar AJAX com DWR que é uma biblioteca AJAX para JAVA. É bem escrita e documentada com exemplos de código. Os "malucos" pelo JAVA, estão no seu território.
  • developerfusion: Introdução ao AJAX em ASP.NET - Para "malucos" por produtos da Microsoft, eis alguns bons exemplos de código, assim como documentação.
  • 5411 - Exemplos de AJAX - Neste sítio irá encontrar uma série de ligações para vários exemplos de AJAX para que possa ver como o AJAX está a ser usado.

Vejam esta aplicação para criar sql scripts usando técnicas AJAX.

25 outubro, 2005

ALA - 206

A List Apart - nº 206

Saiu o número 206 do A List Apart com dois artigos do número:

  • Os bons designers redesenham, os ases do design realinham escrito por Cameron Moll.

    A diferença entre redesenhos que fazem parecer estar ocupado e dão aos interessados algo para discutirem, e revisões estratégicas que recolocam a sua marca e o ajudam a estabelecer e atingir objectivos.

  • O ataque das cópias zombiede Erin Kissane.

    Já os viu na web, estas frases zombie - mesmo com os erros de sintaxe, frases vazias de tudo excepto da terrível fome por cérebro humano. Eis como contra-atacar.

O artigo repescado é A noite do image map, de Stuart Robertson e escrito em 2003

No seu artigo Cameron deseja distinguir dois tipos de pessoas que concebem páginas Web aqueles que as redesenham e aqueles que as realinham sendo ele (claro que na sua opinião) um realinhador. Eu cá tenho que admitir que sou um reles observador.

Entre as distinções encontramos as razões de base para se fazer uma alteração aos sites.

Como é habitual há aquelas pessoas que se preocupam com a terminologia exacta (é sempre bom usarmos as palavras mais adequadas para descrever algo, contudo se as redefinimos tal não será tão importante (embora o seja)).

Os comentários pelo menos até aqui são geralmente triviais.

O segundo artigo trata de algo problemático: os conteúdos textuais. Resumindo (muito) diz que é necessário pensar antes de escrever e que não deve ser usado vocabulário demasiado hiperbólico e pouco usado.

O Terceiro artigo (o respescado) é um excelente artigo sobre utilização de ligações com imagens (por exemplo menus) e algum CSS para criar "aquela" página.