HTML - Cabeçalhos e Legendas
Cabeçalhos de Tabela
Definindo Cabeçalhos de Tabela
Em tabelas HTML, os cabeçalhos rotulam colunas ou linhas de dados. Para definir um cabeçalho de tabela, use a tag <th>
. A tag <th>
é colocada dentro da tag <tr>
(linha da tabela), como células regulares da tabela (<td>
). A principal diferença entre as tags <th>
e <td>
é que <th>
é usada para células de cabeçalho, que geralmente têm peso de fonte em negrito e alinhamento de texto centralizado por padrão.
Exemplo: Como definir cabeçalhos de tabela
<table>
<tr>
<th>Cabeçalho 1</th>
<th>Cabeçalho 2</th>
<th>Cabeçalho 3</th>
</tr>
<tr>
<td>Dado 1</td>
<td>Dado 2</td>
<td>Dado 3</td>
</tr>
</table>
A primeira linha contém três tags <th>
, definindo os cabeçalhos para cada coluna. A segunda linha contém tags <td>
regulares com os dados reais.
Atributos de Cabeçalho de Tabela
Os cabeçalhos de tabela têm alguns atributos especiais que podem ser usados para melhorar a estrutura e a acessibilidade da tabela:
-
colspan
: O atributocolspan
permite que uma célula de cabeçalho se estenda por várias colunas. Por exemplo,<th colspan="2">Cabeçalho</th>
criaria uma célula de cabeçalho que se estende por duas colunas. -
rowspan
: O atributorowspan
permite que uma célula de cabeçalho se estenda por várias linhas. Por exemplo,<th rowspan="3">Cabeçalho</th>
criaria uma célula de cabeçalho que se estende por três linhas. -
scope
: O atributoscope
é usado para associar uma célula de cabeçalho às células de dados que ela descreve. Isso é importante para a acessibilidade, pois ajuda os leitores de tela a entender a relação entre cabeçalhos e dados. O atributoscope
pode ter os seguintes valores:row
: O cabeçalho se aplica à linha.col
: O cabeçalho se aplica à coluna.rowgroup
: O cabeçalho se aplica a um grupo de linhas.colgroup
: O cabeçalho se aplica a um grupo de colunas.
Exemplo: Uso de atributos de cabeçalho de tabela
<table>
<tr>
<th colspan="2">Cabeçalho 1 e 2</th>
<th>Cabeçalho 3</th>
</tr>
<tr>
<th rowspan="2" scope="row">Cabeçalho 4</th>
<td>Dado 1</td>
<td>Dado 2</td>
</tr>
<tr>
<td>Dado 3</td>
<td>Dado 4</td>
</tr>
</table>
A primeira célula de cabeçalho se estende por duas colunas usando colspan
, a quarta célula de cabeçalho se estende por duas linhas usando rowspan
, e o atributo scope
é usado para indicar que o quarto cabeçalho se aplica à linha.
O uso de cabeçalhos de tabela com atributos apropriados ajuda a criar tabelas bem estruturadas e acessíveis em HTML.
Legenda da Tabela
Adicionando uma Legenda a uma Tabela
Uma legenda de tabela é uma breve descrição do conteúdo ou propósito da tabela. Para adicionar uma legenda a uma tabela HTML, use a tag <caption>
. A tag <caption>
deve ser colocada logo após a tag de abertura <table>
, antes de quaisquer elementos <tr>
, <th>
ou <td>
.
Exemplo: Tabela HTML com Legenda
<table>
<caption>Dados de Salário dos Funcionários</caption>
<tr>
<th>Nome</th>
<th>Cargo</th>
<th>Salário</th>
</tr>
<tr>
<td>João Silva</td>
<td>Gerente</td>
<td>R$80.000</td>
</tr>
<tr>
<td>Maria Santos</td>
<td>Desenvolvedora</td>
<td>R$75.000</td>
</tr>
</table>
Estilizando Legendas de Tabelas
Por padrão, as legendas de tabelas são exibidas acima da tabela e centralizadas. No entanto, você pode usar CSS para estilizar e posicionar a legenda conforme necessário.
Para estilizar uma legenda de tabela, direcione o elemento <caption>
em seu CSS:
Exemplo: Estilização CSS para Legenda de Tabela
table caption {
font-size: 1.2em;
font-weight: bold;
color: #333;
margin-bottom: 10px;
}
Para posicionar a legenda abaixo da tabela em vez de acima, use a propriedade CSS caption-side
:
Exemplo: Posicionamento CSS para Legenda de Tabela
table caption {
caption-side: bottom;
}
A propriedade caption-side
aceita dois valores: top
(padrão) e bottom
.
Ao usar a tag <caption>
e estilizá-la com CSS, você pode fornecer uma descrição clara e atraente para suas tabelas HTML.
Considerações de Acessibilidade
Ao criar tabelas HTML, é importante considerar a acessibilidade para usuários que dependem de tecnologias assistivas, como leitores de tela. Cabeçalhos e legendas de tabelas desempenham um papel na criação de tabelas acessíveis e compreensíveis para todos os usuários.
O uso de cabeçalhos de tabela (<th>
) é importante para leitores de tela porque fornece contexto e estrutura aos dados da tabela. Os leitores de tela anunciam o texto do cabeçalho antes de ler as células de dados correspondentes, ajudando os usuários a entender a relação entre os cabeçalhos e os dados. Isso facilita a navegação e compreensão do conteúdo da tabela pelos usuários.
Para melhorar a acessibilidade, use o atributo scope
nas células de cabeçalho para definir a associação entre cabeçalhos e células de dados. O atributo scope
pode ter valores como row
, col
, rowgroup
ou colgroup
, dependendo se o cabeçalho se aplica a uma linha, coluna ou grupo de linhas ou colunas.
Exemplo: Tabela com Atributo scope
<table>
<tr>
<th scope="col">Cabeçalho 1</th>
<th scope="col">Cabeçalho 2</th>
</tr>
<tr>
<th scope="row">Cabeçalho da Linha</th>
<td>Dados</td>
</tr>
</table>
Fornecer uma legenda usando a tag <caption>
também é importante para a acessibilidade. A legenda deve descrever o conteúdo ou propósito da tabela, dando aos usuários uma visão geral do que a tabela representa. Os leitores de tela anunciam a legenda antes de ler a tabela, fornecendo contexto para os usuários.
Exemplo: Tabela com Legenda
<table>
<caption>Relatório de Vendas Mensal</caption>
...
</table>
Ao escrever legendas, seja descritivo e conciso. Evite usar legendas genéricas como "Tabela 1" ou "Tabela de Dados", pois elas não fornecem informações úteis sobre o conteúdo da tabela.
Ao usar cabeçalhos de tabela com atributos scope
e fornecer legendas, você pode melhorar a acessibilidade de suas tabelas HTML, tornando-as mais inclusivas e fáceis de usar para todos os usuários, incluindo aqueles que dependem de tecnologias assistivas.
Exemplos e Demonstrações
Para entender como usar cabeçalhos e legendas de tabelas em HTML, veja alguns trechos de código de amostra e exemplos.
Exemplo: Tabela com legenda e cabeçalhos
<table>
<caption>Notas dos Alunos</caption>
<tr>
<th scope="col">Nome</th>
<th scope="col">Matemática</th>
<th scope="col">Ciências</th>
<th scope="col">Inglês</th>
</tr>
<tr>
<td>Alice</td>
<td>90</td>
<td>85</td>
<td>92</td>
</tr>
<tr>
<td>Bob</td>
<td>80</td>
<td>88</td>
<td>79</td>
</tr>
<tr>
<td>Charlie</td>
<td>95</td>
<td>92</td>
<td>88</td>
</tr>
</table>
Este exemplo mostra uma tabela com uma legenda descrevendo o conteúdo da tabela ("Notas dos Alunos") e cabeçalhos de tabela para cada coluna ("Nome", "Matemática", "Ciências" e "Inglês"). O atributo scope
associa os cabeçalhos às suas colunas.
A tabela se parece com isto:
Notas dos Alunos | |||
---|---|---|---|
Nome | Matemática | Ciências | Inglês |
Alice | 90 | 85 | 92 |
Bob | 80 | 88 | 79 |
Charlie | 95 | 92 | 88 |
Exemplo: Tabela com colspan e rowspan
<table>
<caption>Inventário de Produtos</caption>
<tr>
<th rowspan="2">Categoria</th>
<th colspan="3">Produto</th>
</tr>
<tr>
<th>Nome</th>
<th>Preço</th>
<th>Quantidade</th>
</tr>
<tr>
<td>Eletrônicos</td>
<td>Smartphone</td>
<td>R$599</td>
<td>100</td>
</tr>
<tr>
<td>Eletrônicos</td>
<td>Laptop</td>
<td>R$999</td>
<td>50</td>
</tr>
<tr>
<td>Roupas</td>
<td>Camiseta</td>
<td>R$19</td>
<td>200</td>
</tr>
</table>
Neste exemplo, a primeira célula de cabeçalho abrange duas linhas usando rowspan="2"
, e a segunda célula de cabeçalho abrange três colunas usando colspan="3"
. O resultado é uma estrutura de tabela mais complexa:
Inventário de Produtos | |||
---|---|---|---|
Categoria | Produto | ||
Nome | Preço | Quantidade | |
Eletrônicos | Smartphone | R$599 | 100 |
Eletrônicos | Laptop | R$999 | 50 |
Roupas | Camiseta | R$19 | 200 |
Estes exemplos mostram como cabeçalhos e legendas de tabelas podem criar tabelas claras e bem estruturadas em HTML. Usando atributos como scope
, colspan
e rowspan
, você pode fazer tabelas fáceis de ler e entender, tanto visualmente quanto para tecnologias assistivas.