Como estruturar filtros em interfaces

Aprenda a organizar filtros por tarefa, prioridade e tipo de controle para ajudar as pessoas a refinar resultados sem perder contexto.

Wireframe de uma lista de resultados ao lado de um painel organizado de filtros com estados selecionados.
Nível de impácto
Alto
Status
Recomendado
Nível de evidênica
Forte evidência

Contexto

Filtros reduzem uma coleção de resultados que já está visível usando critérios como categoria, estado, faixa de preço, data ou característica. Eles ajudam a transformar uma lista ampla em um conjunto mais manejável, mas só funcionam quando a pessoa entende o que pode filtrar, como os critérios se combinam e como voltar ao estado anterior.

Estruturar filtros não é colocar todos os atributos disponíveis em uma lateral ou em um botão. É escolher os critérios relevantes para a tarefa, agrupá-los por significado, usar controles adequados e comunicar o efeito de cada escolha.

Estruture os filtros a partir das decisões que a pessoa precisa tomar, da coleção que será refinada e da lógica entre os critérios. Um filtro só vale a pena quando ajuda a reduzir a lista de forma compreensível.

Comece pela tarefa. Identifique quais atributos realmente ajudam a encontrar ou escolher um item. O filtro deve responder a uma pergunta útil da pessoa, e não apenas expor um campo que existe no banco de dados.

Separe busca, filtro e ordenação. A busca ajuda a encontrar itens que podem não estar visíveis; o filtro restringe uma coleção; a ordenação muda a sequência dos resultados. Use rótulos e controles que deixem essas funções distintas.

Agrupe critérios relacionados. Reúna opções por conceitos que façam sentido para a pessoa, como “Formato”, “Disponibilidade” ou “Faixa de preço”. Dê a cada grupo um nome curto, específico e coerente com o vocabulário do domínio.

Priorize os filtros. Mostre primeiro os critérios mais usados ou decisivos. Coloque opções secundárias em “Mais filtros” apenas quando essa organização não esconder algo importante para a tarefa.

Escolha o controle adequado. Use caixas de seleção para múltiplas escolhas, rádio ou select para uma escolha, campos de intervalo para valores numéricos e controles de data para períodos. Uma lista extensa de opções pode exigir busca interna, agrupamento ou outra forma de exploração.

Explique a lógica da combinação. Deixe claro se várias opções do mesmo grupo ampliam a busca ou restringem o resultado. Em geral, escolhas dentro de um mesmo atributo funcionam como alternativas, enquanto grupos diferentes restringem a coleção em conjunto. Essa lógica precisa ser confirmada nos testes e refletida na interface.

Mostre o estado aplicado. Exiba quais critérios estão ativos, quantos resultados permanecem e como remover cada escolha. A pessoa não deve depender apenas da mudança visual da lista para entender o recorte.

Ofereça recuperação. Permita remover um filtro individual e limpar todos de uma vez. Preserve as escolhas ao navegar, recarregar ou voltar para a lista quando isso fizer parte da tarefa.

Adapte a apresentação ao dispositivo. Em telas largas, os filtros podem ficar próximos da lista. Em telas estreitas, podem abrir em um painel ou gaveta, mas o controle fechado deve indicar que há filtros ativos e informar quantos estão aplicados.

Trate resultados vazios como recuperação. Explique quando a combinação não encontrou itens e ofereça ações claras para remover ou relaxar os filtros. A pessoa não deve precisar recomeçar a busca para tentar outra combinação.

Valide a estrutura com tarefas reais. Teste se as pessoas encontram os critérios, entendem os grupos, preveem o efeito das escolhas e conseguem desfazer a filtragem. Observe também o comportamento com muitos filtros, resultados vazios, telas pequenas e redes lentas.

Regra prática

Um bom conjunto de filtros reduz a coleção com critérios compreensíveis, lógica previsível, estado visível e recuperação simples. Se a pessoa precisa descobrir algo que não está na lista, use busca. Se precisa apenas reorganizar a lista, use ordenação.

Base da recomendação

Baymard documenta, em estudos de listas de produtos e benchmarking de ecommerce, que disponibilidade, escopo, lógica, layout e descoberta dos filtros afetam diretamente a busca por itens. Carbon recomenda escolher o método de seleção conforme a tarefa, agrupar categorias e oferecer indicadores e limpeza dos filtros aplicados. Primer diferencia busca de filtro, recomenda combinar o controle com a complexidade da tarefa, manter o estado recuperável e comunicar mudanças nos resultados. W3C orienta rotular e agrupar controles relacionados de forma semântica. GOV.BR oferece referências para controles de seleção e acessibilidade em componentes de formulário. A recomendação é forte para estruturar filtros, mas os critérios e a ordem devem ser validados com o domínio e as tarefas reais.

Exemplo do IBM Carbon Design System com painel lateral de filtros por categoria, opções selecionadas e resultados ao lado
Exemplo real do IBM Carbon Design System: o painel agrupa critérios relacionados, mostra a opção selecionada e oferece “Reset Filters” para recuperar o estado inicial. A estrutura exemplifica como filtros por categorias podem reduzir uma coleção sem esconder o contexto. Fonte: Carbon Design System — Filtering: https://carbondesignsystem.com/patterns/filtering/

Porque isso importa?

Filtros são uma ponte entre uma coleção ampla e o item que a pessoa procura. Quando estão bem estruturados, reduzem o esforço de explorar muitos resultados e ajudam a tomar decisões com mais segurança.

Quando os filtros são numerosos, vagos ou mal agrupados, a pessoa pode não encontrar um critério importante, aplicar uma combinação que não entende ou acreditar que a lista não possui o que procura. O problema não está apenas no visual: envolve conteúdo, lógica, estado e comportamento.

A experiência também precisa continuar compreensível depois da aplicação. A pessoa deve saber o que mudou, quantos critérios estão ativos, como desfazer cada escolha e o que fazer quando nenhum resultado aparece.

  • Listas extensas de resultados.
  • Coleções com atributos relevantes.
  • Catálogos e bibliotecas pesquisáveis.
  • Dashboards com muitos registros.
  • Resultados que podem ser refinados progressivamente.
  • Tarefas que combinam mais de um critério.
  • Listas em que a pessoa precisa controlar o recorte.
  • Listas pequenas e fáceis de percorrer.
  • Encontrar conteúdo que ainda não está na lista.
  • Apenas mudar a ordem dos resultados.
  • Escolher entre duas opções simples.
  • Etapas sequenciais de um processo.
  • Critérios que ninguém consegue explicar.
  • Atributos sem efeito real nos resultados.
Exemplo do IBM Carbon Design System com indicador de filtros ativos, ícone de filtro e menu de opções selecionadas
Exemplo real do IBM Carbon Design System: a interface mantém visível a contagem de filtros aplicados e abre um menu com as escolhas marcadas. Isso materializa a regra de comunicar o estado ativo e permitir revisar ou remover critérios. Fonte: Carbon Design System — Filtering: https://carbondesignsystem.com/patterns/filtering/

Recomendações

Faça

Práticas recomendadas
  • Parta da tarefa.
  • Priorize critérios.
  • Nomeie os grupos.
  • Escolha o controle certo.
  • Explique a lógica.
  • Mostre filtros ativos.
  • Ofereça limpar tudo.
  • Anuncie o resultado.
Wireframe com filtros agrupados por significado, escolhas ativas visíveis e controles adequados para cada critério.
Exemplo correto: filtros agrupados por critérios, com estados ativos visíveis e resultados organizados. A composição ilustra como a estrutura ajuda a entender o recorte aplicado.

Evite

Práticas a evitar
  • Misturar busca e filtro.
  • Usar grupos vagos.
  • Expor todos os atributos.
  • Ocultar filtros importantes.
  • Aplicar sem feedback.
  • Remover a recuperação.
  • Zerar escolhas sem aviso.
  • Depender só de cor.
Wireframe com controles de filtro misturados, sem agrupamento claro nem indicação compreensível do estado aplicado.
Exemplo incorreto: controles aglomerados e sem agrupamento claro dificultam a leitura, a identificação do estado aplicado e a recuperação das escolhas.

Acessibilidade

Use controles nativos sempre que possível e associe cada campo a um label visível. Para grupos relacionados de caixas de seleção ou botões de opção, use fieldset e legend, ou uma alternativa semântica equivalente com nome acessível. O nome do grupo deve explicar o critério sem obrigar a pessoa a inferi-lo pelas opções.

Se os filtros forem exibidos em uma gaveta ou painel, o botão que abre o conjunto deve ter nome claro, informar se está expandido e indicar a quantidade de filtros ativos. O foco deve entrar no painel de forma previsível, permanecer visível, alcançar todos os controles e retornar ao acionador ao fechar. A ação de fechar, limpar tudo e remover cada filtro precisa ser operável por teclado e toque.

Comunique o estado aplicado e a mudança na quantidade de resultados de forma textual e programática, por exemplo com uma região de status que não interrompa a leitura. Não dependa apenas de cor, posição, contagem visual ou mudança silenciosa da lista. Associe instruções e mensagens aos controles com aria-describedby quando necessário.

Garanta ordem de foco lógica, contraste suficiente, áreas de toque adequadas, zoom de 200% e 400% e funcionamento em telas estreitas. Teste combinações com teclado, leitor de tela, navegação por toque, recarregamento, botão Voltar e resultados vazios.

Checklist

  • Os filtros respondem a tarefas reais?
  • A busca está separada do filtro?
  • A ordenação está separada do filtro?
  • Os critérios estão agrupados por significado?
  • Os nomes dos grupos são claros?
  • O controle combina com cada tipo de escolha?
  • A lógica das combinações é compreensível?
  • Os filtros ativos estão visíveis?
  • É possível remover um filtro e limpar todos?
  • O estado e os resultados são comunicados por teclado, leitor de tela e mobile?

Referências

Baymard Institute — Filtering Options. Reúne exemplos anotados e insights de benchmarking sobre filtros em listas de produtos. A pesquisa destaca que filtros precisam considerar layout, disponibilidade, escopo, lógica e descoberta para ajudar a reduzir coleções extensas. É uma fonte especialmente relevante para ecommerce; outros domínios devem validar seus próprios atributos e tarefas. Consultar Filtering Options.

Baymard Institute — Product Lists & Filtering UX. Apresenta a base metodológica e os temas de pesquisa sobre listas, filtros e ordenação, incluindo disponibilidade de filtros, escopo e lógica, interface e layout. Consultar Product Lists & Filtering UX.

IBM Carbon Design System — Filtering. Define filtros como forma de reduzir itens visíveis, orienta a escolha entre seleção única, múltipla e categorias, recomenda indicador de filtros aplicados e oferece limpeza por categoria e global. Consultar Filtering.

GitHub Primer — Filter. Diferencia filtro de busca, recomenda escolher o controle conforme a complexidade da tarefa, manter o estado visível e recuperável e comunicar atualizações da lista a tecnologias assistivas. Consultar Filter.

GitHub Primer — Search. Explica a diferença entre encontrar itens que não estão visíveis e restringir uma coleção já exibida, orientando quando usar busca simples, painel de seleção ou filtro estruturado. Consultar Search.

W3C WAI — Grouping Controls. Orienta agrupar controles relacionados visual e semanticamente com fieldset e legend, ou usar uma alternativa ARIA com nome acessível quando necessário. Consultar Grouping Controls.

W3C WAI — Labeling Controls. Recomenda associar cada controle a um rótulo que identifique sua finalidade, preferencialmente com o elemento label. Consultar Labeling Controls.

Padrão Digital GOV.BR — Select. Documenta um controle de seleção do Design System do Governo Federal e serve como referência complementar para escolhas únicas, estados e acessibilidade de componentes de formulário. Consultar Select.

Veja também

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