Figuras, legendas e tempo: figure, figcaption e time
Veja como associar imagens às suas legendas de forma semântica e como marcar datas e horários de maneira legível para máquinas.
Para enriquecer ainda mais o significado do nosso HTML,
existem tags semânticas específicas para lidar com
conteúdo multimídia e informações de tempo. As tags
<figure>, <figcaption> e <time> nos permitem
associar imagens a suas legendas de forma robusta e
marcar datas e horários de maneira legível para máquinas.
A tag <figure>: conteúdo independente de fluxo
A tag <figure> representa conteúdo auto-contido
que é referenciado a partir do fluxo principal do documento,
mas que pode ser movido para outro lugar (como uma barra
lateral ou um apêndice) sem afetar o fluxo principal.
Pense nela como uma "figura" ou "ilustração" em um livro
ou artigo.
O que geralmente vai dentro de um <figure>?
- Imagens:
<img>(o uso mais comum). - Vídeos:
<video>. - Áudios:
<audio>. - Gráficos:
<canvas>,<svg>. - Blocos de código:
<pre><code>. - Citações:
<blockquote>.
Exemplo de uso de <figure> com <img>:
<p>No exemplo abaixo, podemos ver a representação visual do modelo de caixa do CSS.</p>
<figure>
<img src="css-box-model.png" alt="Diagrama do Modelo de Caixa do CSS">
<!-- A legenda virá aqui -->
</figure>
<p>Este modelo é fundamental para entender como os elementos são renderizados.</p>
A tag <figcaption>: a legenda da figura
A tag <figcaption> representa uma legenda ou título
para o conteúdo de um <figure>. Ela deve ser o primeiro
ou o último elemento filho de um <figure>.
Exemplo de uso de <figure> com <figcaption>:
<p>No exemplo abaixo, podemos ver a representação visual do modelo de caixa do CSS.</p>
<figure>
<img src="css-box-model.png" alt="Diagrama do Modelo de Caixa do CSS">
<figcaption>Diagrama ilustrando o Modelo de Caixa do CSS: Conteúdo, Padding, Borda e Margem.</figcaption>
</figure>
<p>Este modelo é fundamental para entender como os elementos são renderizados.</p>
Por que usar <figure> e <figcaption>?
- Semântica: Associa a legenda diretamente à figura, dando um significado claro para leitores de tela e mecanismos de busca.
- Acessibilidade: Leitores de tela podem anunciar a legenda junto com a imagem, fornecendo contexto adicional.
- Organização: Ajuda a agrupar conteúdo multimídia com suas descrições de forma lógica.
A tag <time>: marcando datas e horários
A tag <time> representa um ponto específico no tempo
ou um intervalo de tempo. Ela é útil para marcar datas
e horários de forma que sejam legíveis tanto para humanos
quanto para máquinas.
Características principais:
- Atributo
datetime: Este é o atributo mais importante da tag<time>. Ele fornece a data e/ou hora em um formato legível por máquina (ISO 8601). - Conteúdo visível: O texto dentro da tag
<time>é o que será exibido para o usuário.
Formatos do atributo datetime (ISO 8601):
- Ano:
<time datetime="2026">2026</time> - Data completa:
<time datetime="2026-05-28">28 de maio de 2026</time> - Data e hora:
<time datetime="2026-05-28T20:00">28 de maio de 2026 às 20:00</time> - Hora:
<time datetime="20:00">20:00</time> - Duração:
<time datetime="PT3H30M">3 horas e 30 minutos</time>(P = Period, T = Time, H = Hours, M = Minutes)
Exemplo de uso de <time>:
<p>O evento começa em <time datetime="2026-06-15T19:00">15 de junho de 2026 às 19h</time>.</p>
<p>Este artigo foi publicado em <time datetime="2026-05-28">28 de maio de 2026</time>.</p>
<p>A duração do filme é de <time datetime="PT2H15M">2 horas e 15 minutos</time>.</p>
Por que usar <time>?
- Acessibilidade: Leitores de tela podem interpretar a data/hora de forma mais precisa, e usuários podem configurar seus dispositivos para exibir a data em seu formato preferido.
- SEO: Mecanismos de busca podem usar as informações
de
datetimepara indexar o conteúdo por data, o que é crucial para notícias e artigos. - Funcionalidade: Ferramentas e navegadores podem
oferecer funcionalidades como adicionar eventos ao
calendário ou converter fusos horários com base no
valor de
datetime.
Resumindo
<figure>:- Representa conteúdo auto-contido (imagens, vídeos, gráficos, código, citações).
- Pode ser movido para outro lugar sem afetar o fluxo principal do documento.
<figcaption>:- Representa a legenda ou título para o conteúdo de um
<figure>. - Deve ser o primeiro ou o último filho de
<figure>.
- Representa a legenda ou título para o conteúdo de um
<time>:- Representa um ponto ou intervalo de tempo.
- Usa o atributo
datetimepara fornecer a data/hora em formato legível por máquina (ISO 8601). - Melhora a acessibilidade, o SEO e a funcionalidade relacionada a tempo.
- Todas essas tags são elementos semânticos que enriquecem o significado do seu HTML, tornando-o mais compreensível para humanos e máquinas.