Como tornar tabelas responsivas no mobile

Tabelas responsivas devem preservar relações, contexto e ações no mobile. Escolha entre rolagem local, linhas empilhadas ou uma lista conforme a tarefa e a densidade dos dados.

Wireframe minimalista de uma tabela de desktop reorganizada para uma apresentação adequada no mobile.
Nível de impácto
Alto
Status
Usar com atenção
Nível de evidênica
Forte evidência

Contexto

Tabelas dependem da relação entre linhas e colunas. Em telas estreitas, simplesmente reduzir sua largura pode cortar valores, comprimir textos e dificultar comparações. A solução responsiva deve ser escolhida conforme a tarefa: preservar a grade quando a comparação entre colunas for essencial ou reorganizar a apresentação quando cada registro puder ser compreendido separadamente.

Comece identificando o que a pessoa precisa fazer com os dados. Não existe uma única transformação adequada para todas as tabelas.

Mantenha a tabela com rolagem local quando a comparação for essencial. Coloque a grade em um contêiner com rolagem horizontal, preserve cabeçalhos e mantenha o restante da página ajustado à largura da tela.

Empilhe linhas quando cada registro funcionar de forma independente. Repita visualmente o rótulo de cada valor e preserve a associação programática entre cabeçalhos e células.

Use uma lista quando poucos atributos forem suficientes. Priorize as informações essenciais para a decisão e leve dados secundários para detalhes expansíveis ou para uma página própria.

Reduza colunas antes de comprimir conteúdo. Remova redundâncias, encurte rótulos e defina quais atributos precisam estar visíveis no mobile.

Preserve orientação e ações. Considere cabeçalhos ou primeira coluna fixos quando isso ajudar, mantenha seleção, ordenação e ações disponíveis e torne a possibilidade de rolagem perceptível.

Teste com dados reais. Verifique a solução em larguras pequenas, zoom, textos longos e diferentes quantidades de linhas e colunas.

Regra prática

Se a pessoa precisa comparar valores entre colunas, preserve a grade em um contêiner rolável. Se precisa consultar cada item separadamente, uma apresentação empilhada ou uma lista pode ser mais clara. A adaptação deve manter o significado dos dados, não apenas fazê-los caber.

Exemplo do USWDS mostrando uma tabela com rolagem horizontal em uma tela estreita.
Exemplo real — USWDS: em telas estreitas, a tabela comparativa permanece em grade dentro de um contêiner com rolagem horizontal própria. Assim, as relações entre linhas e colunas são preservadas sem ampliar a página inteira. Fonte: https://designsystem.digital.gov/components/table/#scrollable-table

Porque isso importa?

Uma tabela comprimida aumenta o esforço para ler, comparar e manter a orientação. O problema é maior quando a pessoa precisa alternar continuamente entre rolagem horizontal e vertical ou quando os cabeçalhos deixam de indicar a que cada valor pertence.

O W3C reconhece que tabelas podem depender de uma organização bidimensional, mas orienta limitar a rolagem ao próprio componente, manter o restante da página responsivo e preservar as relações estruturais em todas as apresentações. Isso beneficia pessoas que usam zoom, telas pequenas, estilos personalizados e tecnologias assistivas.

Em testes de comércio digital, o Baymard observou que tabelas densas de produtos funcionam bem no desktop, mas perdem eficiência no mobile quando poucas colunas ficam visíveis e a comparação exige rolagem nos dois eixos. Nesses casos específicos, listas com os atributos essenciais podem apoiar melhor a consulta. Design Systems como USWDS e VTEX Shoreline complementam essa evidência com implementações de rolagem local, variações empilhadas e cabeçalhos fixos.

  • Rolagem horizontal: comparação entre várias colunas.
  • Rolagem horizontal: dados numéricos densos ou matrizes.
  • Linhas empilhadas: diretórios e registros independentes.
  • Lista: poucos atributos essenciais por item.
  • Detalhes expansíveis: informações secundárias extensas.
  • Cabeçalho ou coluna fixa: tabelas longas em que a orientação se perde.
  • Comprimir todas as colunas até o texto ficar ilegível.
  • Ocultar dados essenciais sem alternativa.
  • Transformar dados comparativos em cards desconectados.
  • Criar rolagem horizontal na página inteira.
  • Exigir gestos horizontais sem indicar conteúdo adicional.
  • Empilhar células sem repetir seus rótulos.
  • Duplicar versões desktop e mobile para leitores de tela.
Exemplo do USWDS mostrando os dados de uma tabela reorganizados em blocos empilhados no mobile.
Exemplo real — USWDS: a variante responsiva reorganiza cada linha como um bloco e repete os rótulos das colunas junto aos valores. Essa solução favorece registros consultados individualmente, mas reduz a comparação direta entre linhas. Fonte: https://designsystem.digital.gov/components/table/#responsive-stacked-table

Recomendações

Faça

Práticas recomendadas
  • Priorize colunas essenciais.
  • Preserve cabeçalhos e relações.
  • Limite a rolagem à tabela.
  • Indique conteúdo fora da tela.
  • Mantenha ações acessíveis.
  • Teste com zoom e teclado.
Exemplo correto de tabela responsiva: dados reorganizados em blocos no mobile, preservando as relações de cada registro.
Exemplo correto: a tabela mantém colunas comparáveis em um contêiner próprio e sinaliza a rolagem horizontal sem ampliar a página.

Evite

Práticas a evitar
  • Espremer todas as colunas.
  • Cortar valores importantes.
  • Ocultar ações no toque.
  • Depender apenas do gesto.
  • Quebrar a ordem de leitura.
  • Criar rolagem na página.
Exemplo incorreto de tabela responsiva: muitas colunas são comprimidas em uma área estreita e exigem rolagem horizontal.
Exemplo incorreto: a tabela é comprimida até tornar colunas e valores difíceis de distinguir no mobile.
Exemplo do VTEX Shoreline mostrando uma tabela com quatro colunas para comparar propriedades de itens.
Exemplo real — VTEX Shoreline: a tabela mantém propriedades alinhadas para escanear, ordenar e comparar registros. O componente também oferece cabeçalho e primeira coluna fixos, recursos que podem preservar a orientação em conjuntos densos. Fonte: https://shoreline.vtex.com/components/table

Acessibilidade

Mantenha a estrutura semântica da tabela com <table>, <caption>, cabeçalhos em <th> e células em <td>. Em tabelas simples, use scope="col" e scope="row"; em estruturas complexas, associe cabeçalhos e células com id e headers quando necessário.

Quando houver rolagem horizontal, mantenha-a no contêiner da tabela e garanta acesso por teclado. O foco deve ser visível e o componente precisa oferecer uma indicação perceptível de que há conteúdo fora da área mostrada. Não remova a barra de rolagem sem fornecer outro mecanismo compreensível.

Se a apresentação ficar empilhada, preserve no código a relação entre cada valor e seu cabeçalho. Não duplique uma tabela desktop e outra mobile de modo que ambas sejam anunciadas por tecnologias assistivas. Teste a 320 CSS pixels, com zoom de 400%, leitor de tela, teclado, toque e textos ampliados.

O critério WCAG 1.4.10 admite uma exceção de reflow para dados que dependem de layout bidimensional, mas essa exceção não se estende ao restante da página, aos filtros, à busca ou à paginação. A estrutura e as relações também precisam atender ao critério 1.3.1.

Checklist

  • A tarefa principal foi identificada?
  • As colunas essenciais foram priorizadas?
  • A comparação ainda é possível no mobile?
  • A rolagem está limitada à tabela?
  • Existe indicação de conteúdo fora da tela?
  • Cabeçalhos e células continuam associados?
  • Ordenação, seleção e ações continuam acessíveis?
  • O restante da página se ajusta sem rolagem horizontal?
  • A solução funciona com teclado, toque e leitor de tela?
  • A tabela foi testada com zoom e dados reais?

Referências

W3C WAI — Tables Tutorial: Tips and Tricks. Recomenda manter tabelas simples e preservar as relações estruturais quando sua apresentação muda em telas pequenas, zoom ou texto ampliado. Consultar as orientações para tabelas responsivas.

W3C WAI — WCAG 2.2, critério 1.4.10: Reflow. Exige que o conteúdo funcione em largura equivalente a 320 CSS pixels sem perda de informação ou funcionalidade. Tabelas que dependem de uma organização bidimensional são uma exceção, mas devem ficar em uma área própria para não provocar rolagem horizontal no restante da página. Entender o critério de reflow.

W3C WAI — WCAG 2.2, critério 1.3.1: Info and Relationships. Sustenta que relações comunicadas visualmente, como a associação entre cabeçalhos e células, também precisam estar disponíveis programaticamente. Entender o critério de informações e relações.

Baymard Institute — Use Product Tables for Desktop Product Listings. Em testes com produtos B2B ricos em especificações, observou que a comparação por tabelas perde eficiência no mobile quando exige rolagem horizontal e vertical; nesses casos, listas com atributos essenciais podem ser mais adequadas. É uma evidência específica de comércio digital, não uma regra universal para todas as tabelas. Consultar a pesquisa sobre tabelas de produtos.

U.S. Web Design System — Table. Recomenda considerar a experiência em telas pequenas, usando tabelas roláveis para dados densos e variantes empilhadas para diretórios. Também orienta reduzir colunas e tornar contêineres roláveis acessíveis por teclado. Consultar o componente Table.

VTEX Shoreline — Table. Apresenta tabelas para escanear, ordenar e comparar propriedades e oferece recursos como cabeçalho e primeira coluna fixos, úteis para preservar orientação em conjuntos densos. Consultar o componente Table do Shoreline.

IBM Carbon Design System — Data Table Usage. Recomenda oferecer espaço suficiente para dados densos, evitar tabelas em contêineres apertados e manter ações de linha visíveis em dispositivos de toque. Consultar as orientações de uso da Data Table.

Veja também

Esta recomendação foi útil para você?