Língua estrangeira no XHTML

Qual seria a forma mais correta para se marcar termos em língua estrangeira no XHTML? Nos velhos tempos, mandávamos um <i>, e pronto, mas atualmente esta não é mais considerada uma atitude educada.

Que tal um <span> com o atributo lang? Por exemplo, um texto em francês ficaria:

<span lang="fr">je ne parle pas français</span>

Depois é só colocar em itálico via CSS:

span[lang~="fr"] { font-style: italic; }

Pena que esse CSS ainda não funciona no Internet Explorer (pra variar)...

Update (11/11/2006): a verdade é que desde quando escrevi este post mudei um pouco de opinião. Usando <span>, o texto marcado com lang="xx" não recebe nenhum tratamento visual onde o CSS não é processado (em agregadores, por exemplo). Portanto, voltei a usar desta forma: <i lang="xx">. Foge um pouco da premissa de usar o HTML somente para estrutura (ao invés de estilo), mas resolve o problema e ainda é XHTML 1.0 válido.

Publicado 15/09/2005 às 11h17

Comentários

  • Poxa que legal isso! Sera que a tag “cite” também aceita atributo “lang” para citações em outros idiomas? Vou dar uma olhada. Mas o Internet Explorer aceita o “font-style:italic;”, Pelo menos o meu!
    Abraço…
  • O <cite> aceita “lang”, sim, Henrique. Quanto ao Internet Explorer, o problema não é reconhecer o “font-style: italic”, mas sim o “span[lang~=’fr’]”. Isso funciona aí no seu IE?

  • O problema são os seletores né.
    Se no ie eles funcionassem, ia ser uma maravilha. Postei algo sobre isso em:

    http://beam.to/taq/blog.php?id=19

    (Inclusive dei uma garibadinha hoje no post – nada como fazer uma revisão ás vezes ;-).

Deixe seu comentário

Obrigatório, mas não será exibido no comentário
Opcional
Somente marcação Textile