O elemento dl na HTML5
Publicado em: 2009-11-27 — 23.286 visualizacoes
A especificação para HTML 4 define o elemento dl
para marcar as listas de definição (definition lists) e diz o seguinte:
Os items das listas de definição são constituidos de duas partes: termo e descrição. O elemento para marcar o termo é
dt
e deve conter somente elementos inline. O elemento para marcar a descrição édd
e pode conter elementos nível de bloco.
A referida especificação demonstra o uso destes elementos e dá exemplos que esclarecem ser permitido o uso de mais de um elemento dt
e/ou dd
dentro de um mesmo elemento dl
conforme mostrado a seguir:
<dl> <dt>Nerd</dt> <dd>Pessoa tecnicamente brilhante, mas com comportamento social passivo.</dd> <dt>Hacker</dt> <dt>Chacker</dt> <dd>São frutos da sociedade moderna.</dd> <dd>Possuem conhecimentos avançados de programação.</dd> </dl>
Outro emprego das listas de definição, segundo a HTML 4, é para marcar diálogos, usando-se o elemento dt
para marcar os interlocutores e dd
para suas falas, conforme mostrado a seguir:
... ... <dl> <dt>Filho</dt> <dd>Mamãe, você sabia que o vovô é mecânico.</dd> <dt>Mãe</dt> <dd>De onde você tirou isto meu filho. Vovô não é mecânico!</dd> <dt>Filho</dt> <dd>Então, o que ele está fazendo embaixo do ônibus ali na esquina?</dd> </dl>
O que diz a HTML 5?
A HTML 5 altera radicalmente a semântica e consequente emprego das listas de definição e seus items.
Observe a seguir o que está previsto, resumidamente, na especificação para HTML 5 e a seguir meu comentário:
- Especificação: O elemento
dl
destina-se a marcar uma lista associativa consistindo de zero ou mais grupos do par nome/valor (lista de definição). Cada grupo consiste de um ou mais nomes (elementosdt
) seguido por um ou mais valores (elementosdd
). Dentro de um elementodl
não pode haver mais de umdt
com o mesmo nome. - Comentário: A HTML 5 introduz o conceito do par nome/valor dentro da listas associativas ampliando a semântica do elemento. Assim, o elemento
dt
não mais representa um termo a ser definido e sim, genericamente, um nome a ser associado. Quando ocorrer aquele caso deve-se usar o elementodfn
(você conhece o elementodfn
da HTML 4?) como elemento-filho dedt
conforme mostrado a seguir:... ... <dl> <dt><dfn>Nerd</dfn></dt> <dd>Pessoa tecnicamente brilhante, mas com comportamento social passivo.</dd> <dt><dfn>Hacker</dfn></dt> <dt><dfn>Chacke</dfn>r</dt> <dd>São frutos da sociedade moderna.</dd> <dd>Possuem conhecimentos avançados de programação.</dd> </dl>
- Especificação: O elemento
dl
não é apropriado para marcar diálogos. - Comentário: Anula o que diz a HTML 4. Observe a seguir como marcar um diálogo segundo a HTML 5:
... ... <p>Filho: Mamãe, você sabia que o vovô é mecânico.</p> <p>Mãe: De onde você tirou isto meu filho. Vovô não é mecânico!</p> <p>Filho: Então, o que ele está fazendo embaixo do ônibus ali na esquina?</p>
- Especificação: Um só elemento
dt
e um só elementodd
podem ser usados como elemento-filho do elementofigure
e a ordem em que eles aparecem é indeferente. - Comentário: A HTML 5 permite o uso de
dt
edd
como elementos-filhos único do elementofigure
sem necessidade do elementodl
, podendodd
vir antes dedt
. Quando assim empregados o elementodt
marca a legenda da figura edd
o seu conteúdo. Obeserve o exemplo a seguir:... ... <figure> <dd><img src="copa.jpg" alt="Vista da praia de Copacabana"></dd> <dt>Praia de Copacabana - janeiro 2009</dt> </figure>
- Especificação: O elemento
dt
pode ser usado como primeiro-filho do elementodetails
e o elementodd
como seu último-filho. O elementodt
destina-se a marcar um sumário do que está sendo detalhado e o elementodd
os detalhes propriamente ditos. - Comentário: A HTML 5 permite o uso de
dt
edd
como elementos-filhos do elementodetails
sem necessidade do elementodl
. Observe o exemplo a seguir. Notar a presença do elementodl
como filho do elementodd
!:... ... <details> <dt>Copiando... <progress max="375505392" value="97543282"></progress> 25%</dt> <dd> <dl> <dt>Taxa de transferência:</dt> <dd>452KB/s</dd> <dt>Arquivo local:</dt> <dd>/home/rpausch/raycd.m4v</dd> <dt>Arquivo remoto:</dt> <dd>/var/www/lectures/raycd.m4v</dd> <dt>Duração:</dt> <dd>01:16:27</dd> <dt>Perfil de cores:</dt> <dd>SD (6-1-6)</dd> <dt>Dimensões:</dt> <dd>320×240</dd> </dl> </dd> </details>
Concluindo
Como tudo na especificação para a HTML 5, as definições e conceitos de emprego dos elementos para listas de definição, conforme mostrados nesta matéria, ainda estão em fase de rascunho de trabalho. A própria documentação do WHATWG esclarece que tais conceitos ainda precisam uma análise mais profunda.
Ao escrever esta matéria meu objetivo foi de fornecer aos meus leitores uma visão antecipada do que está por vir (sabe-se lá quando) com a HTML 5.
Quer opinar? Marque uma, ou mais, das opções a seguir e poste sua opinião nos comentários.
Desenvolvimento com Padrões Web? Adquira os livros do Maujor
Visite o site dos livros.
Esta matéria foi publicada em: 2009-11-27 (sexta-feira). Subscreva o feed RSS 2.0 para comentários.
Comente abaixo, ou link para https://www.maujor.com/blog/2009/11/27/o-elemento-dl-na-html5/trackback no seu site.
vou começar a estudar esses tutoriais.
Preciso estudar muitoo, tutoriais são bom .
tutoriais de HTML e CSS…
e são incríveis
digo ‘por favor’
Maujor me endique por favou um livro que trate de maneira simples css e html 5 na rede
Otimo Post !!!
Olá! Vim aqui só para contar que li inteirinho seus tutoriais de HTML e CSS…
e são incríveis!
Muito obrigada por disponibilizar a informação!
Ajudou muito!
:)))
Sinceramente acho a qualidade do HTML 5 uma coisa incrivel. No entanto sou da opinião de utilizar, até a data deste post, apenas em projetos pessoais pelo fato de falta de instabilidade de manter todas as tags e semânticas sobre elas.
Repetindo o código….
é o seguinte. Estou usando dessa forma: http://pastebin.com/f1cfc2e87
De acordo com o que foi dito sobre html5 aqui no post, isso não será válido, pois o DL precisa de um par de chaves título:valor com DT e DD, correto?
Que alterações precisaria fazer nessa vitrine para obter o máximo de semântica?
Sobre a pergunta do @klawdyo no comentário #1, você, que leu a matéria, se fosse usar HTML5, como marcaria?
Dica: Para marcar código em comentários use codificação de caracteres para o sinal “menor que” ( < ).
Digite assim:
<detais>
Para sair assim:
<details>
Não há necessidade de codificar o sinal “maior que” >
Em um site de imóveis, nos detalhes dos mesmos, posso fazer isso?
apartamento
aluguel
R$2500
boa área, próximo a escolas, etc, etc, etc
O que você sugere para o máximo de semântica num caso desses?