Como ordenar dados em tabelas

Ordene uma tabela apenas quando isso ajudar a comparar dados, indique claramente a coluna e a direção ativas e mantenha o controle acessível por teclado e leitor de tela.

Wireframe de uma tabela com uma coluna ordenada e destacada
Nível de impácto
Alto
Status
Recomendado
Nível de evidênica
Forte evidência

Contexto

Ordenar uma tabela muda a posição das linhas para facilitar a comparação por um critério, como nome, data, quantidade ou valor. O recurso só ajuda quando a coluna tem uma ordem que faça sentido para a tarefa e quando a interface deixa claro qual critério está ativo. Ordenação não substitui filtros: ela reorganiza os dados, mas não remove linhas.

Use a ordenação para ajudar a pessoa a comparar, localizar e explorar os dados. Ela deve responder a uma necessidade real da tarefa, e não aparecer apenas porque a tabela tem várias colunas.

Ordene apenas colunas com sentido. Ative a ordenação em nomes, datas, números, estados ou outros valores que tenham uma ordem compreensível para a tarefa. Colunas com conteúdo livre, descrições longas ou combinações de informações geralmente não oferecem uma sequência útil.

Escolha um estado inicial útil. Defina uma coluna e uma direção que reflitam a prioridade mais provável, como data mais recente ou maior valor. Mostre essa ordenação desde o carregamento e deixe claro que a lista já está organizada.

Indique a coluna e a direção. Use o nome da coluna junto de um indicador compreensível de crescente ou decrescente. O estado não deve depender apenas de cor, posição ou uma seta sem nome acessível.

Faça a alternância ser previsível. Ao ativar a mesma coluna, alterne entre crescente e decrescente. Se existir um terceiro estado sem ordenação, explique o comportamento e torne esse estado fácil de reconhecer.

Ordene pelo valor real. Compare datas, números, percentuais, moedas e tamanhos por seus valores, não pela aparência formatada do texto. Por exemplo, “R$ 9,00” deve ser tratado como menor que “R$ 10,00”, mesmo que a comparação textual produza outro resultado.

Atualize sem perder o contexto. Reordene as linhas mantendo a posição e o estado do controle compreensíveis. Em ordenações remotas, mostre o carregamento, preserve ou explique a mudança de página e informe o novo critério aplicado.

Comunique a mudança de forma acessível. Atualize o estado do cabeçalho ou do controle de ordenação e anuncie a alteração para quem usa leitor de tela, sem mover o foco automaticamente para outro ponto da tabela.

Adapte a ordenação em telas estreitas. Se a tabela virar cards ou linhas empilhadas, mantenha uma forma equivalente de escolher o critério. Caso a ordenação não faça sentido nessa apresentação, remova o controle em vez de deixá-lo disponível sem efeito claro.

Regra prática

Se a pessoa precisa comparar os itens por um critério, permita ordenar por esse critério. Sempre mostre qual coluna e direção estão ativas, use valores reais e mantenha o resultado compreensível depois da atualização.

Base da recomendação

A orientação cruza pesquisa de usabilidade sobre exploração e ordenação, padrões de tabelas de Design Systems e recomendações normativas de acessibilidade para controles, estados e anúncio de mudanças.

Três estados de uma tabela do Carbon mostrando coluna de nome sem ordenação, em ordem crescente e em ordem decrescente
Exemplo real: o Carbon mostra a mesma tabela sem ordenação e ordenada de forma crescente e decrescente pela coluna “Name”. Isso evidencia como comunicar a coluna ativa e a direção aplicada. Fonte: IBM Carbon Design System — https://carbondesignsystem.com/components/data-table/usage/

Porque isso importa?

Em listas longas, encontrar o menor, o maior, o mais recente ou o mais relevante manualmente aumenta o esforço de comparação. A pesquisa da Baymard sobre product lists observou que a ordenação ajuda as pessoas a reorganizar resultados segundo os atributos que importam para sua decisão. Em tabelas, a mesma lógica é útil quando o critério de comparação é claro e os dados permanecem compreensíveis após a mudança.

Sem um estado ativo evidente, a pessoa pode não saber por que as linhas estão naquela ordem ou interpretar o ícone de forma errada. Sem um controle operável e um anúncio acessível, a mudança pode existir visualmente e continuar invisível para parte das pessoas.

  • Tabelas longas com muitas linhas para comparar.
  • Dados numéricos, datas, nomes ou estados com ordem significativa.
  • Interfaces de gestão, relatórios, dashboards, catálogos e listas administrativas.
  • Tarefas em que a pessoa precisa localizar extremos, comparar grupos ou priorizar itens.
  • Quando a ordem natural já é única e não ajuda oferecer outra.
  • Quando a coluna não tem uma ordem compreensível ou confiável.
  • Quando a ordenação quebra a leitura de linhas mescladas ou grupos hierárquicos.
  • Quando a tabela vira uma apresentação empilhada no mobile e o controle deixa de representar as colunas.
  • Quando reordenar altera uma prioridade manual que deve permanecer sob controle da pessoa.
Tabela do USWDS com a coluna Order admitted to union destacada e setas de ordenação nos cabeçalhos
Exemplo real: o USWDS destaca a coluna ativa, indica a direção pela seta e reorganiza as linhas conforme o critério escolhido. Fonte: U.S. Web Design System — https://designsystem.digital.gov/components/table/

Recomendações

Faça

Práticas recomendadas
  • Ordene colunas relevantes.
  • Mostre coluna e direção ativas.
  • Use valores reais.
  • Alterne a direção previsivelmente.
  • Use botão no cabeçalho.
  • Anuncie a atualização.
Wireframe de uma tabela com uma única coluna ativa e linhas ordenadas
Exemplo correto: uma única coluna está ativa, a direção da ordenação é evidente e as linhas seguem o critério escolhido.

Evite

Práticas a evitar
  • Ordenar todas as colunas.
  • Depender só de cor.
  • Ordenar texto formatado.
  • Ocultar o critério ativo.
  • Mudar a direção sem feedback.
  • Quebrar o controle no mobile.
Wireframe de uma tabela com indicadores de ordenação conflitantes
Exemplo incorreto: vários indicadores competem entre si, não há uma coluna ativa clara e a pessoa não consegue entender a ordem aplicada.

Acessibilidade

Use marcação semântica de tabela, com <th scope="col"> para cabeçalhos de coluna e <td> para células de dados. O cabeçalho ordenável deve conter um botão que possa receber foco e ser acionado por teclado. O indicador visual deve acompanhar o nome da coluna e ter contraste e foco visível.

Exponha o estado da coluna ativa com aria-sort="ascending" ou aria-sort="descending" no cabeçalho correspondente; mantenha esse estado em apenas uma coluna quando houver uma única ordenação. Para mudanças dinâmicas, use uma região aria-live="polite" para anunciar algo como “Tabela ordenada por data, mais recentes primeiro”, sem mover o foco. Se houver múltiplos critérios, comunique a prioridade de cada um.

Garanta que números, moedas, percentuais e datas sejam ordenados por valores programáticos consistentes com o que está visível. Teste com teclado, leitor de tela, zoom, alto contraste, toque e diferentes larguras. No mobile, confirme que a ordenação continua compreensível ou ofereça uma alternativa equivalente.

Checklist

  • A ordenação ajuda a tarefa?
  • As colunas ordenáveis têm uma ordem clara?
  • A coluna ativa está identificada?
  • A direção crescente ou decrescente está visível?
  • O controle funciona por teclado?
  • Os valores são ordenados pelo tipo correto?
  • A mudança é anunciada ao leitor de tela?
  • O foco permanece previsível?
  • A tabela continua compreensível no mobile?
  • O fluxo foi testado com dados reais?

Referências

Baymard Institute — Allow Sorting by “Price”, “User Rating”, “Best-Selling”, and “Newest”. A pesquisa mostra que ordenar ajuda a reorganizar listas por atributos importantes para a exploração e que o critério selecionado deve ficar visível, em vez de permanecer escondido em um rótulo ambíguo. A evidência é específica para listas de produtos, por isso serve como apoio contextual, não como regra universal para toda tabela. Ler a pesquisa sobre tipos de ordenação.

Baymard Institute — Product Lists UX. O estudo relaciona filtros, ordenação e apresentação dos resultados como partes da mesma tarefa de encontrar e comparar itens. Consultar a pesquisa de product lists.

W3C WAI-ARIA Authoring Practices — Sortable Table Example. Demonstra cabeçalhos ordenáveis com botões, foco visível e aria-sort no cabeçalho da coluna atualmente ordenada. O próprio W3C recomenda testar a implementação com as tecnologias assistivas do projeto. Ver o exemplo de tabela ordenável.

W3C WAI — Tables in Developer Modules. Orienta que o controle de ordenação seja implementado como botão para funcionar com diferentes métodos de entrada e que o estado da ordenação seja comunicado além do sinal visual. Ler o módulo sobre tabelas acessíveis.

Material Design — Data tables. Recomenda indicar a coluna ordenada, inverter a direção ao ativar novamente e atualizar os atributos de acessibilidade do estado. Consultar o padrão de data tables.

U.S. Web Design System — Table. Orienta habilitar ordenação somente em colunas ordenáveis, definir coluna e direção padrão, fornecer valores brutos para números e datas formatados e anunciar mudanças por uma região de status. Também alerta que a ordenação não funciona corretamente no variant mobile empilhado. Consultar o componente Table do USWDS.

IBM Carbon Design System — Data table. Serve como referência complementar para decisões de componente, estados e interação em tabelas de dados. Consultar o uso de data tables no Carbon.

Veja também

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