Tabelas HTML acessíveis: estrutura para dados

Crie tabelas semânticas com caption, thead, tbody, th e scope e adapte a visualização a telas pequenas sem perder contexto.

Compartilhe

Tabela de dados HTML com cabeçalhos acessíveis

HTML moderno: estrutura, semântica e acessibilidade

Estrutura semântica de uma página HTML moderna

HTML moderno: fundamentos e como a Web é estruturada

Editor e navegador conectados por um documento HTML

Seu primeiro documento HTML: do arquivo ao navegador

Árvore de elementos e sintaxe HTML

Elementos e sintaxe HTML: tags, conteúdo e aninhamento

Controles e propriedades de atributos HTML

Atributos HTML: propriedades, valores e boas práticas

Hierarquia visual de cabeçalhos HTML

Cabeçalhos HTML: hierarquia clara para pessoas e buscadores

Blocos estruturados de parágrafos e conteúdo pré-formatado

Parágrafos HTML: texto, quebras e conteúdo pré-formatado

Navegação entre páginas por links e âncoras

Links HTML: navegação acessível, URLs e segurança

Elementos semânticos de texto HTML

Semântica de texto HTML: ênfase, citações e código

Camadas de estrutura HTML e apresentação CSS

CSS no HTML: como conectar estrutura e apresentação

Imagem adaptada a telas de diferentes tamanhos

Imagens responsivas em HTML: desempenho e acessibilidade

Tabela de dados HTML com cabeçalhos acessíveis

Tabelas HTML acessíveis: estrutura para dados

Listas ordenadas, não ordenadas e de descrição

Listas HTML: ul, ol, dl e estruturas aninhadas

Formulário HTML acessível com campos e controles

Formulários HTML acessíveis: campos, rótulos e validação

Conteúdo externo protegido em um iframe

Iframes em HTML: incorporação segura e acessível

Atributos globais aplicados a um elemento HTML

Atributos globais HTML: idioma, dados, foco e identidade

Biblioteca organizada de elementos HTML modernos

Referência de elementos HTML: guia atual e semântico

Interface HTML moderna com modal, popover e painel expansível em tons de azul e ciano

HTML moderno sem frameworks: dialog, details e Popover API na prática

Tabelas são adequadas para dados com relações entre linhas e colunas. Não use tabelas para montar o layout da página. Uma boa tabela possui título, cabeçalhos identificáveis e leitura coerente quando estilos não estão disponíveis.

Estrutura básica

<caption> dá um nome à tabela. <thead> e <tbody> agrupam linhas; <th> identifica cabeçalhos e scope explicita se eles se aplicam à coluna ou à linha.

<table>n  <caption>Planos mensais</caption>n  <thead>n    <tr><th scope="col">Plano</th><th scope="col">Projetos</th></tr>n  </thead>n  <tbody>n    <tr><th scope="row">Essencial</th><td>3</td></tr>n    <tr><th scope="row">Pro</th><td>10</td></tr>n  </tbody>n</table>

Células mescladas

colspan e rowspan são válidos, mas aumentam a complexidade das associações. Em tabelas extensas ou com múltiplos níveis, teste com leitor de tela e considere dividir a informação em tabelas menores.

Responsividade

Uma solução simples é colocar a tabela em um contêiner com rolagem horizontal e um rótulo que indique essa possibilidade. Evite ocultar colunas essenciais. Em alguns casos, uma lista de cartões é uma visualização alternativa melhor para telas estreitas, desde que preserve as relações.

Checklist de qualidade

  • A tabela representa dados, não layout.
  • Existe caption e todos os cabeçalhos usam th.
  • As relações continuam compreensíveis em zoom e tela estreita.

Pratique agora

Crie uma tabela de três produtos com preço e disponibilidade. Inclua caption, cabeçalhos de linha e coluna e teste com CSS desativado.

Referências atualizadas

HTML moderno: estrutura, semântica e acessibilidade

Imagens responsivas em HTML: desempenho e acessibilidade Listas HTML: ul, ol, dl e estruturas aninhadas