Personal website of Filipe Figueiredo Correia
Tenho-me deparado com uns quantos artigos a defender o ponto de vista da proposta feita pelo WHATWG ao W3C para a adopção do que chamaram (x)html 5 como próxima versão do (x)html.
O que me espanta é a forma como do lado do WHATWG apoiam a ideia que a próxima versão do (x)html deve ser “compatível” com as versões anteriores (html 4.01 e xhtml 1.0). Do meu ponto de vista esta é uma oportunidade de resolver os vários problemas do (x)html ao nível semântico, que se traduzem, por exemplo, na amalgama de informação de apresentação que é possível especificar (ocorre-me o <font>, que me choca ainda ver a ser utilizado com alguma frequência[1][2] nos tempos que correm). Olhando para trás (nos tempos pré-CSS e pré-javascript normalizado), espalhar por um documento de hipertexto informações relativas à sua apresentação ou comportamento fazia perfeito sentido na perspectiva em que não havia outra forma de o fazer, mas continuar a insistir nisso em novas versões da norma parece-me mal.
Manter a compatibilidade com as versões actuais do (x)html é essencial, mas isso não se vai perder (os motores de renderização actuais não vão desaparecer…). O necessário é que futuros browsers suportem, além da futura especificação, também as especificações actuais.
O W3C também tem pensado na próxima versão do (x)html (aka, xhtml 2.0), que não vai minimamente de encontro ao dito (x)html 5.0 do WHATWG.
Do que conheço do xhtml 2.0, vai muito mais na direcção que eu gostaria de ver a Web semântica a tomar. Ao contrário do (x)html 5, o xhtml 2 restringe-se ao âmbito de um documento de hipertexto, definindo apenas elementos que fazem sentido nesse contexto (títulos, secções, parágrafos, objectos, etc). O (x)html 5, por outro lado, estende o (x)html que conhecemos adicionando-lhe novos elementos e modificando o significado de alguns elementos já existentes (o que, aliás, nem é coerente com o desejo de manter compatibilidade com versões anteriores).
Sobre todo este tema, encontrei no xhtml.com um artigo bastante lúcido, que gostei de ler.
[1] http://www.cgd.pt/
[2] http://www.clix.pt/
You've reached the personal website of Filipe Correia. Software Engineer and Researcher with an inclination to agile methods, design patterns, architecture, collaborative systems and information science.
Carlos Rodrigues
May 5th, 2007 at 20:37
Estás a confundir duas questões diferentes aqui… Uma coisa é defender que se deve continuar a investir na linha do HTML como formato de markup, outra é defender que se deve preservar a mixórdia que muita gente insiste em fazer com o HTML. Sim, porque ao contrário do que o hype em redor do XHTML pode levar a pensar, é possível fazer sites baseados em HTML4.01 com uma qualidade tão boa quanto a que se consegue obter com o XHTML, com a vantagem de serem processados por um parser muito melhor testado, e não por um parser mais lento e mais imaturo (XHTML enviado como “text/xml+html”), ou mesmo como simples HTML inválido (XHTML enviado como “text/html”).
O campo do HTML5 defende exactamente o mesmo nível de separação entre markup e apresentação que o campo do XHTML. A diferença está na forma como se deve “evangelizar” os autores: o W3C acredita que é possível impingir uma nova norma ao mercado, enquanto o WHATWG acredita que a única forma de por as coisas em ordem é limpando o próprio HTML, definindo como se deve lidar com os erros de uma forma consistente e começando a remover da norma as tags que são pura apresentação (p.ex. “u”, “center”, “font”).
O XHTML tem muitas vantagens, como poder ser processado por parsers XML para fins puramente semânticos, ou poder misturar diferentes linguagens no mesmo documento (p.ex. uma página XHTML com fórmulas matemáticas em MathML embutidas), mas também cria problemas para quem tem de gerir conteúdos, pois basta um pequeno erro num artigo introduzido num CMS para toda a página se reduzir a uma janela em branco ou a erros vermelhos em fundo amarelo (experimenta mandar XHML marado, com o mimetype correcto, ao Firefox para veres o resultado).
Além do mais, também é possível usar HTML correcto (e toda a gente está interessada em promover o uso de HTML correcto) para fins puramente semânticos… Não se pode usar um qualquer parser de XML, é preciso usar um parser de SGML ou um parser especializado (e os parsers de XML começaram por ser especializados, agora é que há muitos e são considerados genéricos…), mas o resultado é o mesmo.
Eu até acho que esta história do HTML (ou XHTML) semântico é uma grande treta. Estas linguagens devem ser usadas para representar o conteúdo dos documentos, e a semântica embutida nesta representação não
deve ir para além da semântica do próprio conteúdo (algo possível de atingir com HTML correcto, com exactamente o mesmo nível de esforço necessário para conseguir o mesmo em XHTML). Isto é, a maior parte dos objectivos que os defensores da semantic web querem atingir devem ser alcançados por elementos externos ao (X)HTML, da mesma forma que a apresentação dos documentos deve ser definida com CSS, e a mecânica como JavaScript (em ficheiros externos para ambos os casos).
PS: Não há nenhum “X” no HTML5, porque o HTML5 não é derivado do XML (é derivado do SGML, tal como o XML o é, mas um subconjunto distinto).
Filipe Correia
May 5th, 2007 at 22:53
Pois, talvez não tenha sido muito claro. A questão do tipo de markup (sgml vs xml) não me preocupa muito. Em relação ao facto dos browsers ainda não tratarem o xhtml de forma tão eficiente como tratam o html, parece-me mais um defeito dos browsers, e não tanto da especificação :) Acaba por ser a história do ovo e da galinha, se ninguém usar xhtml, quem desenvolve os browsers também terá menos motivação para melhorar os parsers de xhtml. Em todo o caso, vejo algumas vantagens no xml face ao sgml, mas não me parece mal continuar com ambas as versões (sgml e xml).
Hmm, desculpa, mas não concordo. Ao olhar para a proposta do WHATWG não vejo nada que me leve a acreditar que o objectivo deles seja “limpar” o html. Vejo algum valor em se definir como lidar com os erros, mas eles pretendem manter muitas tags de apresentação, e eliminar outras que até têm algum sentido, a meu ver.
Pois, tenho consciência disso. Mas por outro lado, não é necessariamente mau. É passar a responsabilidade dos browsers para os produtores de conteúdos. Os browsers, na grande maioria das vezes, não se deviam ter de preocupar com os erros de markup que encontra (é daí que surgem os comportamentos mais bizarros e inconsistentes que se verificam actualmente). Se um produtor de conteúdos estiver a fazer asneira, irá resolvê-la muito mais rapidamente se o browser se queixar. A longo prazo, pode até ser a solução para termos cada vez menos das “sopas de tags” que temos agora.
+1
+1
Vejo o facto de se basearem em XML mais como um bónus :) para facilitar o parse e integração com outras linguagens XML.
A especificação do WHATWG também prevê um xhtml5, mas sim, tipicamente falam da versão sgml.
Só me referi a xhtml2, e não a (x)html2 porque ainda não vi referência a lado nenhum a um “html2”, mas também não me pareceria mal ter a versão sgml correspondente.