Posts tagged: xhtml

Use a Cabeça! (Head First) HTML com CSS & XHTML

Use a Cabeça (Head First) HTML COM CSS & XHTML

Use a Cabeça! (Head First) HTML com CSS & XHTML

Há um bom tempo atrás eu comprei o livro Use a Cabeça! (Head First) HTML com CSS & XHTML, e apesar de já ter começado a lê-lo várias vezes, somente no início desse ano eu tomei vergonha na cara e o li do início ao fim. Sendo assim, aqui está a minha opinião sobre o livro.

Assim como os demais títulos da série Use a Cabeça, esse livro tem uma abordagem bastante inteligente, focada num texto fácil e extremamente agradável de ler. Esta característica, combinada com algumas outras, faz com que o nosso cérebro preste mais atenção no conteúdo, além de aumentar as chances de memorização, conforme os livros da série explicam em seus capítulos introdutórios.

Outra tática inteligente do livro é dar exemplos para cada novo tópico apresentado, só que limitando o escopo, de forma que os exemplos sejam bem simples e diretos. Isso evita que o leitor fique cansado lendo longos exemplos onde apenas um pequeno trecho é realmente relevante.

Essa abordagem mais direta também é aplicada nos exercícios, que aparecem com razoável frequência, mas sempre bem focados no tópico que está sendo discutido no momento. Além disso, muitos dos exercícios são divertidos, e o obrigam a pensar fora da caixa, principalmente os exercícios de palavras cruzadas, presente em quase todos os capítulos.

Uma outra característica que torna o livro mais eficiente na tarefa de ensinar o conteúdo é o fato dele ser redundante sobre muitas coisas importantes. Dessa forma, alguns tópicos são apresentados mais de uma vez, só que em contextos e de formas diferentes, muitas vezes adicionando uma pequena novidade, e facilitando que o assunto em questão seja memorizado através da ocorrência repetida.

Ainda sobre a didática do livro, é interessante notar que a série segue essa fórmula não porque está dando certo, ou baseada em achismo, mas porque estudos relacionados a metacognição indicam que as técnicas de apresentação de conteúdo usadas no livro estão entre as mais eficientes.

Em relação ao conteúdo propriamente dito, é impossível não destacar positivamente a preocupação do livro em focar desde o início a separação da estrutura e da apresentação de uma página Web. Para ter uma idéia do quão engajados eles são em relação a este assunto, já no capítulo que explica sobre a metodologia da série, ou seja, antes mesmo do primeiro capítulo com conteúdo sobre HTML, XHTML e CSS, há uma breve e clara explicação sobre a função dessas tecnologias.

Adicionalmente, o livro menciona com frequência que devem ser utilizados os elementos do HTML/XHTML que melhor representarem o conteúdo que está sendo marcado, enfatizando assim a importância da semântica no desenvolvimento de uma página Web.

No entanto, nada é perfeito, e este livro não é diferente. Pra começar, a tradução é péssima. A Alta Books, que é a editora do livro, fez um trabalho extremamente descuidado na tradução, o que não me surpreendeu, já que o único outro livro traduzido que eu tenho deles, o Use a Cabeça! Java, também tem uma tradução sofrível.

Aliás, ao meu ver, este é o maior defeito do livro, pois realmente complica a compreensão do texto por parte de quem não sabe nada sobre HTML, XHTML e CSS, sendo que este é exatamente o público alvo do livro. Como exemplo deste péssimo trabalho de tradução, eu posso citar nomes de elementos sendo traduzidos, sendo o elemento head o campeão no número de ocorrências.

Outro erro bizarro está nos exemplos de regras do CSS. A extrema maioria delas não possuem um par de chaves tradicional, ou seja, { e }, e sim um bizonho par de chaves { e {. Exemplo:

p
{
  color: maroon;
{

O exemplo acima foi tirado do próprio livro, no capítulo que começa a explicar o CSS. Ou seja, quem nunca ouvir falar sobre a linguagem vai ficar bem confuso sobre a forma correta de combinar as chaves. E o mais curioso é que a versão original do livro não contém estes erros, portanto, a Alta Books fez besteira até onde nem precisava traduzir.

Contudo, nem todos os defeitos do livro são culpa da Alta Books, uma vez que há também alguns poucos deslizes na versão original em inglês. Por exemplo, o livro usa com certa frequência o elemento <br />, o que, ao me ver, é errado, uma vez que este elemento insera uma quebra de linha, o que caracteriza uma função relacionada a apresentação, não representando absolutamente nada em relação à semântica da página Web.

Outro erro relacionado ao uso incorreto de um elemento no que diz respeito a semântica está presente no exemplo abaixo:

  <h1>BEVERAGES</h1>

  <p>House Blend, $1.49</p>

  <p>Mocha Cafe Latte, $2.35</p>

  <p>Cappuccino, $1.89</p>

  <p>Chai Tea, $1.85</p>

Neste caso, novamente de acordo com a minha opinião, há vários elementos p sendo usados para representar itens de uma lista, portanto o correto seria envolver toda a lista com o elemento ul, que representa listas não ordenadas, e então usar o elemento para itens de lista, li, para cada bebida individual. O resultado seria esse:

  <h1>BEVERAGES</h1>

  <ol>
    <li>House Blend, $1.49</li>
    <li>Mocha Cafe Latte, $2.35</li>
    <li>Cappuccino, $1.89</li>
    <li>Chai Tea, $1.85</li>
  </ol>

Mas nesse caso podemos deixar passar, já que na verdade este exemplo está presente na página de recursos do livro.

Enfim, o Use a Cabeça! (Head First) HTML com CSS & XHTML é um excelente livro. Ainda que ele cometa alguns poucos deslizes, é de longe o melhor livro que eu conheço para quem quer aprender HTML, XHTML e CSS, uma vez que ensina desde o início a desenvolver páginas Web da maneira correta: usando o HTML ou XHTML para estruturar o conteúdo da página, respeitando a semântica de cada elemento, e definindo a apresentaçao através do CSS.

P.S.: Uma dica para quem se interresou pelo livro: compre a versão original e se livre de uma péssima tradução.

Redes Sociais:
  • del.icio.us
  • TwitThis
  • Google
  • E-mail this story to a friend!
  • Rec6
  • StumbleUpon
  • Technorati
  • LinkedIn
  • Facebook
  • Live
  • MySpace
  • Tumblr

As mudanças do XHTML 2.0

Outro dia eu fiz um resumo das duas tecnologias que estão vindo pra substituir o atual XHTML: XHTML 2.0 e HTML 5. Agora é hora de olhar mais a fundo pra proposta do W3C. Será que ele é tudo que precisamos? Será que é a resposta pros nossos problemas?

Desde a versão 1.0 do XHTML o consórcio W3C tem empurrado cada vez mais o HTML pro lado do XML. Mas essa versão foi feita pra tentar manter uma grande semelhança e compatibilidade com o HTML 4.01, e por isso acabaram mantendo muitos elementos de apresentação no XHTML. Agora, querem dar um grande passo. Querem remover tudo, querem fazer o XHTML que o W3C sempre sonhou. E com isso podem dizer adeus à retrocompatibilidade.

Quanto mais as coisas mudam, mais elas mudam

A idéia do W3C para o XHTML 2.0 é remover TODOS os elementos de apresentação. Ou seja, qualquer coisa no código XHTML que indique como o elemento vai aparecer na tela vai ser removido. Isso é trabalho do CSS. Nessa nova versão morrem as tags <img>, <a>, <br> e algumas outras.

Vai ter uma série de mudanças tão grandes que não existe compatibilidade com versões anteriores. Os sites precisarão ser refeitos para validar com as especificações do XHTML 2.0. O problema é que a maioria dos profissionais são ruins. Ainda hoje a maioria dos sites não cumpre nem as especificações do HTML 4.01, imagina se vão mudar pra se adequar a essa nova “linguagem estranha”.

Eu conheço ainda pessoas que nem sabem direito o que é CSS ou XHTML. Profissionais que montam seus sites usando a tag <font> pra formatar o texto, e outras coisas igualmente bizarras. Esse tipo de pessoa nunca vai querer reaprender tudo pra adotar o XHTML 2.0.

XHTML

Vamos dar uma olhada em algumas das principais mudanças:

- Mataram o <a>. Agora tudo é link.

Todos os elementos do XHTML possuem alguns parâmetros padrão, como “id”. E agora o parâmetro “href” se junta a essa lista. Qualquer elemento poderá receber o parâmetro href e se tornar um link. Você vai poder fazer coisas como <p href=”http://disney.com”>…um monte de texto…</p> e terá um parágrafo inteiro funcionando como link.

- Adeus <br>. Olá <line>

Eles não querem que o XHTML tenha nada que force um jeito específico do conteúdo aparecer na página, então uma das primeiras tags a morrerem foi a tag de quebra de linha. Não tinha jeito de impedir, ela só servia pra uma coisa e pronto.

No lugar dela, entre a tag <line></line>. O padrão é que sempre que você fechar a tag o browser vai quebrar a linha, mas agora você pode evitar esse comportamento se quiser.

Read more »

Redes Sociais:
  • del.icio.us
  • TwitThis
  • Google
  • E-mail this story to a friend!
  • Rec6
  • StumbleUpon
  • Technorati
  • LinkedIn
  • Facebook
  • Live
  • MySpace
  • Tumblr

XHTML2, HTML5 e outras coisas futurísticas

Nós, gênios modestos que desenvolvem para a web, trabalhamos usando tecnologias que são bem antigas, se levarmos em conta a velocidade com que as coisas mudam. Em 1999 foi definido o XHTML 4.01, e no ano 2000 saiu o XHTML 1.0, que é a tecnologia mais atual para desenvolver os sites. O grande problema é que o foco dos sites (e o modo como são usados) mudou bastante nestes últimos 9 anos, e precisamos de algo diferente. Precisamos de algo que resolva nossos problemas. Precisamos do Batman!

(Acabei de receber um fax me proibindo de fazer piadas com super-heróis num site sobre programação. Eu garanto que não há nenhuma referência a um personagem famoso pelos próximos três parágrafos)

Duas grandes tecnologias estão sendo desenvolvidas e deverão estar disponíveis antes de 2099: XHTML 2.0, e HTML 5. A principal diferença entre elas é que o HTML 5 é uma evolução de tudo que temos hoje, e o XHTML 2.0 é tão diferente que é quase uma linguagem nova.

Explicando de uma forma clara, é como se o HTML 5 fosse o seu carro atual, mas com neón azul, turbina e aerofólios, e o XHTML 2.0 seria como vender o seu carro, tirar o seu dinheiro da poupança e comprar um novo importado, com marcha no volante e formato esquisito.

HTML5 está pronto pra briga!

HTML5 está pronto pra briga!

O que me parece é que alguém perdeu completamente a noção da realidade. Mesmo hoje, a maioria dos sites não consegue validar nem contra as especificações do HTML 4.01. Uma boa parte dos programadores é tão ignorante que nem faz idéia do que é XHTML e com qual garfo se come isso. É muito otimismo acreditar que uma revolução completa na linguagem conseguiria uma grande adoção. Não quero ser muito pessimista, mas não acredito no futuro do XHTML, que é desenvolvido pelo consórcio W3C (World Wide Web Consortium).

Já o HTML 5 está sendo sendo desenvolvido pelo grupo WHATWG (na minha cabeça, isso é sigla para Why Have A Tomato With Guitars, “por que ter um tomate com guitarras”), formado pela Apple, Mozilla, e Opera. Sim, as grandonas do desenvolvimento de navegadores bons. A proposta do HTML 5 é pegar tudo de bom que temos até agora, acrescentar coisas ainda melhores, e corrigir as falhas para que todos os navegadores renderizem os sites da mesma forma. Incluindo os sites que não validam nem com o HTML 4.01. Isso sim parece bom. O que o Batman faria?

Vou te dizer o que o Batman faria. O Batman sabe que não é muito bom ter duas linguagens concorrendo pra substituir as tecnologias atuais. Ele vai esperar e observar até que, num futuro não tão distante (2030 é perto, não é?) as duas linguagens vão dividir os programadores por um tempo, mas depois uma delas vai ser esquecida e morrer. Porque o Batman é esperto. Ele sabe que HTML é como Highlander: só pode haver um. E apenas um dos grupos tem guitarras.

Redes Sociais:
  • del.icio.us
  • TwitThis
  • Google
  • E-mail this story to a friend!
  • Rec6
  • StumbleUpon
  • Technorati
  • LinkedIn
  • Facebook
  • Live
  • MySpace
  • Tumblr

Os Elementos Perdidos do HTML/XHTML

Se você é um desenvolvedor Web que faz o seu dever de casa, já deve estar cansado de saber que o HTML/XHTML serve para estruturar o conteúdo de uma página Web. Sendo assim, você usa elementos como p para parágrafos, h1, h2, h3, h4, h5 e h6 para títulos, ol para listas ordenadas, entre outros igualmente populares. No entanto, existem alguns outros elementos com tanto valor semântico quanto estes, mas que são bem menos conhecidos. Veja alguns destes abaixo:

address

O elemento address define um conteúdo como uma informação de contato do autor ou dono da página Web.

Avenida Expedicionário José Amáro, número 500, Apartamento 13, Vila São Luís, Duque de Caxias/RJ.

del

Tem a função de marcar um texto que foi removido da página.

<p>
  O Jogo Final Fantasy XIII é a continuação da famosa saga de RPG da Square
  ,sendo o seu lançamento exclusivo para o Playstation 3.
</p>

ins

Especifica um texto que foi inserido no documento, sendo muitas vezes usado em conjunto com o elemento del, como forma de corrigir uma informação anterior.

  <p>
    A atual versão do Rails é a 2.22.3.2.
  </p>

abbr

O elemento abbr serve para marcar um texto que é a forma abreviada de uma frase ou de uma expressão composta, ou seja, ele marca abreviações. Adicionalmente, é bom utilizar o atributo title neste elemento para especificar a palavra ou frase inteira que está sendo abreviada. Além disso, é válido mencionar que este elemento não é suportado pelo Internet Explorer 6.

  <p>
    O <abbr title = "EXtensible HyperText Markup Language">XHTML</abbr> deve ser
    usado para estruturar o conteúdo.
  </p>

acronym

Este elemento tem a função semântica de identificar acrônimos, que são um tipo especial de abreviação, onde cada letra do acrônimo corresponde à primeira letra de uma das palavras da expressão ou frase abreviada.

<p>
  Para definir a apresentação de uma página Web você deve usar o
  <acronym title = "Cascading Style Sheets">CSS</acronym>.
</p>

cite

Define o autor ou a fonte de uma citação, podendo, e devendo, ser usado em conjunto comos elemento q e blockquote, que identificam a citação em si.

<p>
  Conforme Martin Fowler disse:
</p>

<blockquote>
  <p>
    Any fool can write code that a computer can understand.
    Good programmers write code that humans can understand.
  </p>
</blockquote>

dl, dt e dd

Estes elementos são usados para criar listas de definição em uma página Web, sendo muito usados, por exemplo, para a criação de FAQs. O elemento dl representa a lista em si, enquanto os elementos dt e dd representam o termo a ser definido e a sua definição, respectivamente.

<dl>
  <dt>Ruby</dt>
  <dd>Linguagem de script orientada a objetos e criada por Yukihiro Matsumoto.</dd>

  <dt>Ruby on Rails</dt>
  <dd>Framework Web desenvolvido com a linguagem de programação Ruby</dd>

  <dt>ActiveRecord</dt>
  <dd>Um dos principais sub-frameworks do Ruby on Rails</dd>
</dl>

dfn

O elemento dfn é utilizado para marcar um termo que está sendo definido, sendo que pode-se usar o atributo title para resumir a sua definição. A diferença entre o dfn e uma lista de definição, é que o primeiro é utilizado para marcar uma definição isolada no texto, enquanto o segundo agrupa várias definições em uma lista.

<p>
  O <dfn title = "Framework Ruby">Merb</df> é um framework Web escrito em Ruby.
</p>

Conclusão

Existem muitos elementos no XHTML/HTML além daqueles que são amplamente conhecidos, e uma vez que estes elementos adicionais são mais precisos quanto à semântica do seu conteúdo, não há porquê não usá-los. Dessa forma, suas páginas Web ficarão mais corretas semanticamente, o que significa uma maior acessibilidade.

Além disso, não se limite aos elementos extras mostrados aqui, uma vez que a idéia deste post era apenas mostrar através de exemplos que quase sempre há um elemento mais preciso para marcar o seu conteúdo. Portanto, quando tiver dúvidas se está usando o elemento correto em sua página Web, pesquise pare descobrir se não há uma opção mais adequada.

Por fim, embora alguns destes elementos possuam um estilo padrão definido pelo browser, a regra de ouro continua valendo, ou seja, para definir a apresentação deles você deve usar o CSS.

Redes Sociais:
  • del.icio.us
  • TwitThis
  • Google
  • E-mail this story to a friend!
  • Rec6
  • StumbleUpon
  • Technorati
  • LinkedIn
  • Facebook
  • Live
  • MySpace
  • Tumblr

WordPress Themes