Semântica no HTML - Preformatação
No último post sobre Semântica no HTML o Pedro sugeriu nos comentários a conhecida técnica de usar a tag <pre> dentro da tag <code> para manter a identação e as linhas.
É uma alternativa tentadora! Infelizmente ainda não é a solução ideal pra exibir código.
A tag <pre> é uma tag muito controversa. Ela deve ser usada somente quando o conteúdo depende dos espaços e quebras de linha para existir semanticamente.
Onde Não Usar <pre>
Naturalmente, todo código tem essa característica de manter identação original e quebras de linha, portanto a tag <pre> não adiciona semântica alguma nesse caso. Comparando, a técnica <code><pre></pre></code> seria como usar um <strong><b></b></strong>, é algo redundante.
Ainda nos faltam alternativas pra identificar cada linha do código. Quando falamos em código é comum ouvir “tal código tem tantas linhas”, “veja a linha tal de tal código” e por aí vai. No XHTML2 existe a tag <l> com esse propósito.
Onde Usar <pre>
Um exemplo simples são letras de música. Versos não são exatamente parágrafos e não existe uma tag específica para versos. Isso se aplica em poesia também. Ao invés de colocar cada verso em um <p> ou usar vários <br /> você coloca a letra de música dentro de um <pre>, para preservar as quebras de linha, porque elas representam a metragem da música/poesia.


15/3/2007 às 3:15 pm
Dá forma como foi explícita aí encima é algo redundante mesmo. Como mostrei em um comentário anterior, eu utilizo da seguinte forma:
<pre><code>
</code></pre>