Semântica de tabelas ≈ Revolução Etc

Web standards, arquitetura da informação, usabilidade, acessibilidade, tecnologia, filosofia de buteco (sic), e qualquer coisa em uma casca de noz!

Ir direto para o conteúdo

Semântica de tabelas

Por: Henrique Pereira

Saturday 03 September 2005 às 16:55

Categoria: HTML / CSS / JavaScript

As tabelas foram e ainda são utilizadas para estruturar sites, obviamente de forma errada. Mas muitas pessoas pensam que desenvolver um site em webstandards significa nunca usar uma tabela no site. Isso não é verdade. Para estruturar um site, o correto é utilizar as tags corretamente respeitando o propósito pelo qual elas foram criadas, assim como a tag <table> que foi criada para exibir dados tabulares. Já me perguntaram o que são dados tabulares e minha resposta foi: "São dados em formato de tabela!". No propósito que estou discutindo aqui, são dados exibidos e organizados em linhas e colunas. Tudo que tem este formato é uma tabela.

A maioria das pessoas conhece o código de uma tabela em um documento XHTML da seguinte forma:


<table>
<tr>
         <td>texto aqui!</td>
         <td>texto aqui!</td>
         <td>texto aqui!</td>
         <td>texto aqui!</td>
</tr>
<tr>
         <td>texto aqui!</td>
         <td>texto aqui!</td>
         <td>texto aqui!</td>
         <td>texto aqui!</td>
</tr>
 
<tr>
         <td>texto aqui!</td>
         <td>texto aqui!</td>
         <td>texto aqui!</td>
         <td>texto aqui!</td>
</tr>
 
<tr>
         <td>texto aqui!</td>
         <td>texto aqui!</td>
         <td>texto aqui!</td>
         <td>texto aqui!</td>
</tr>
</table>

Existem outras tags que podem ampliar muito o potencial de se controlar os estilos de uma tabela. Fora as tags <table> <tr> e <td> conhecida de praticamente todos, ainda existem outras como as declaradas a seguir:

<caption> :
Caption em inglês é cabeçalho. Usando esta tag você insere um cabeçalho de título da tabela.
<th> :
TH é um acrônimo de Table Header ou cabeçalho de tabela. Pode ser usado em substituição da TD. A melhor aplicação desta tag é em títulos de linhas ou colunas como pode ser exemplificado em um exemplo mais abaixo.
<thead> <tbody> <tfoot> :
Estas tags são usadas para agrupar linhas de uma tabela e defini-las. Por exemplo, <thead> define a primeira linha da tabela e <tfoot> define a última linha, <tbody> é o corpo da tabela propriamente dito. Veja abaixo como seria o código fonte de uma tabela utilizando todas estas tags.


<table>
     <caption>texto</caption>
<thead>
    <tr>
         <th> texto </th>
         <th> texto </th>
         <th> texto </th>
         <th> texto </th>
    </tr>
</thead>
<tfoot>
    <tr>
         <th> texto </th>
         <th> texto </th>
         <th> texto </th>
         <th> texto </th>
    </tr>
</tfoot>
<tbody>
    <tr >
         <th> texto </th>
         <td> texto </td>
         <td> texto </td>
         <td> texto </td>
    </tr>
    <tr>
         <th> texto </th>
         <td> texto </td>
         <td> texto </td>
         <td> texto </td>
    </tr>
    <tr >
         <th> texto </th>
         <td> texto </td>
         <td> texto </td>
         <td> texto </td>
    </tr>
</tbody>
</table>

Observe que, mesmo que o <tfoot> esteja logo abaixo da tag <thead>, ela só é exibida abaixo do <tbody>. Veja abaixo a aparência dessa tabela:

<Caption>
<thead> <th> <thead> <th> <thead> <th> <thead> <th>
<tfoot><th> <tfoot><th> <tfoot><th> <tfoot><th>
<tbody><th> <tbody><td> <tbody><td> <tbody><td>
<tbody><th> <tbody><td> <tbody><td> <tbody><td>
<tbody><th> <tbody><td> <tbody><td> <tbody><td>
<tbody><th> <tbody><td> <tbody><td> <tbody><td>
<tbody><th> <tbody><td> <tbody><td> <tbody><td>
<tbody><th> <tbody><td> <tbody><td> <tbody><td>
<tbody><th> <tbody><td> <tbody><td> <tbody><td>
<tbody><th> <tbody><td> <tbody><td> <tbody><td>
<tbody><th> <tbody><td> <tbody><td> <tbody><td>

Existe um site chamado CSS Table Gallery onde você pode exercer seus conhecimentos de CSS e colocar estilos em uma tabela. Eles publicaram minha versão e você pode conferir o CSS que eu usei aqui.

Artigos relacionados:

Este texto não pode ser copiado ou reproduzido em nenhum outro site na íntegra sem autorização do autor!. Mais detalhes sobre licença de uso aqui!



Existem 19 comentários para “Semântica de tabelas”

# 1° Thiago Melo Monday 05 September 2005 às 11:18GMT

Muito interessante este código, Henrique! Não sabia que existiam estas tags, semânticamente corretas para tabelas. Parabéns pelo blog; ele tem me ensinado muito! ;)

# 2° Fabio Ortolan Monday 05 September 2005 às 14:13GMT

Sempre se esquecem da propriedade summary na tag table para a ascessibilidade…

# 3° Anonymous Monday 05 September 2005 às 15:16GMT

Gostei! Bem pensado. ^^

# 4° Diogo Chaves Monday 05 September 2005 às 21:35GMT

Esse lance das tabelas eu já conhecia, no livro “Web Standards Solutions -Dan Cederholm” ele é bem explicado :).
Ma obrigado por trzer mais esta informação de uma maneira tão “simples” e gratuíta ;)

# 5° Carlos (Putcharles) Tuesday 06 September 2005 às 11:45GMT

Muito bom!
Também já conhecia e achei ótima a iniciativa!

# 6° Flávio Theruo Kaminisse Tuesday 06 September 2005 às 16:08GMT

Henrique, curti pra caramba estas explicações, apesar de não mexer muito no código html das páginas um dia pode me ser bastante útil.
Parabéns. :-)

# 7° Orestes Tuesday 06 September 2005 às 21:44GMT

eu não conhecia esse código.
Parabéns pelo site, muito legal isso

# 8° Wesley Menezes Saturday 17 September 2005 às 22:59GMT

Muito interessante… eu sabia que existia essas tags, mas sempre pensei que fosse obrigatório o uso na ordem , e dps

# 9° Ana Claudia Oliveira Monday 19 September 2005 às 11:38GMT

Parabéns pelo seu blog. Muito bom.
Sugiro q vc abra espaço para colaborações de artigos.
[]‘s

# 10° Luiz Júnior Fernandes Tuesday 15 November 2005 às 05:17GMT

Putz, curti ao extremo este tópico, msm pq tem horas que nao temos como nos ver 100% livres das ; curti muito tb seu blog, tah de parabens truta ;)

# 11° Leandro Vieira Pinho Monday 05 December 2005 às 10:55GMT

Cara, bacana este artigo. Mas, acho que deveria apresentar os demais recursos para uma table. Como: summary; scope; header; dentre outros.

Um abraço.

# 12° Emerson Thursday 11 January 2007 às 08:18GMT

Tirou minha duvida
vlw

# 13° William Lopes Tuesday 11 September 2007 às 17:14GMT

Parabéns pelo artigo. Foi muito útil para mim que já estou caminhando para prestação de serviços totalmente acessíveis, mas ainda não havia tido oportunidade de estudar tabelas (somente a ausência delas ;D)

Concordo com Leandro. Pena não ter tido também as tags: summary; scope; header; dentre outros.

# 14° Noradar Wednesday 28 May 2008 às 04:07GMT

Muito bom o artigo, me foi muito útil. Parabéns pelo trabalho!

Deixe um comentário

Observação: Todos os campos obrigatórios estão marcados com um asterisco (*).

Informações de Contato

Sobre o Revolução Etc

Henrique Costa Pereira O Revolução Etc é o site pessoal do Henrique C. Pereira que trabalha com design de interfaces, planejamento, arquitetura da informação e desenvolvimento para web. Ele escreve aqui sobre várias coisas relacionadas com acessibilidade, web standards, tecnologia, desenvolvimento e o que mais der na telha, além de eventualmente escrever alguma coisa ou outra para o Webinsider. Leia mais.

Publicidade

  • Banner
  • Banner

Henrique Costa Pereira - Revolução Etc - (CC) Alguns Direitos Reservados - Powered by WordPress

O conteúdo deste site de autoria de Henrique Costa Pereira está sob a licença de Creative Commons Atribuição-Uso Não-Comercial-Compartilhamento pela mesma Licença 2.5 Brasil. Permissões e/ou restrições além do escopo desta licença podem ser vistas e/ou requeridas na minha página de licença.

Nenhum conteúdo deste site pode ser copiado e reproduzido em outro site sem autorização do autor! Mais detalhes aqui!

Powered by WordPress