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:

  1. colspan: O atributo colspan 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.

  2. rowspan: O atributo rowspan 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.

  3. scope: O atributo scope é 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 atributo scope 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.