Select / Dropdown

Resumo

Dropdowns, também conhecido como Combobox (quando possui a possibilidade de input de texto) mostram aos usuários uma lista de opções. Eles podem filtrar e selecionar múltiplas opções caso necessário

Anatomia

  1. Label (opcional): Comum em formulários para identificar o campo

  2. Container: Corpo que abriga o placeholder e ícone

  3. Seta para dropdown: Indicador que a lista pode ser expandida

  4. Placeholder: Texto que indica que tipo de infomação é esperada

  5. Barra de rolagem: Pode ser padrão do sistema ou personalizada pelo designer

  6. Item do dropdown: Opções disponíveis para seleção

Estados

  1. Active: Estado original do gatilho

  2. Disabled: Quando componente não permite interação

  3. Hover: Indica que o item é clicável ao passar o mouse

  4. Focus: Estado de destaque quando o componente é selecionado

  5. Error: Comum em formulários para indicar que uma seleção obrigatória não foi feita ou está incorreta

  6. Filled/Completed: Quando um item já foi selecionado e o componente volta ao estado original exibindo a escolha

Select vs Dropdown

Select e dropdown são visualmente similares, no entento, a aparência do select será determinada pelas configurações do navegador ou dispositivo do usuário.

Dropdown vs Popover

Dropdown e popover são confundidos porque visualmente parecem a mesma coisa (um container flutuante que aparece sobre o conteúdo), mas a diferença real está na função e no contrato de interação, não na aparência. Se o objetivo é o usuário decidir entre opções, é dropdown; se o objetivo é mostrar/editar algo contextual, é popover.

Esse assunto possui múltiplas conclusões

Também é possível entender o popover como um elemento do próprio combobox, no caso como uma lista de opções selecionáveis que aparece ao clicar.


Dropdown

Popover

Propósito

Selecionar uma ou mais opções de uma lista

Exibir conteúdo/ações contextuais

Tipo de conteúdo

Itens selecionáveis semelhantes

Conteúdo livre

Trigger comum

Click no campo

Click, hover ou foco em um elemento âncora

Comportamento ao selecionar

Fecha e aplicar o valor

Permanence até a ação explícita

Fechamento

Ao escolher item ou clicar fora

Clicar foca, esc ou botão de fechar

Onde usar

Menus de comando

Quando inicia uma ação de acordo com a opção selecionada

Menus de navegação

Quando leva o usuário para uma nova página

Em formulários

Quando o usuário selecionada uma opção dentro do formulário

Seleção de atributos

Quando o usuário seleciona itens de uma lista de opções possíveis

Quando não usar

Menos de 5 itens

Nessa situação, é mais provável que uma lista de checkboxes seja selecionado

Quando é mais fácil digitar

Quando o dado é muito familiar para o usuário

Quando as opções são binárias (sim/não)

Quando as opções são numéricas

Quando é necessário selecionar valores

Quando você tem um range de valores

Variações

Auto sugestão

Interessante para listas longas

Auto complete

Dropdown sugere a continuação do que está sendo digitado

Multi seleção

Enquanto a versão padrão é uma extensão do funcionamento de um radio button, essa opção utiliza o componente checkbox e permite seleção de vários itens

Com grupos

Longas listas podem receber essa categoria

Seleção de data

Usados para agendamentos de reuniões, seleção de datas de aniversário, check in/out e outras situações

Com imagens + Tags

Além de exibir uma lista com imagens, podemos usar o componente de tag/pill para indicar itens selecionados.

Boas práticas

O que colocar o placeholder

  1. Deixar em branco

  2. Usar indicação genérica

  3. Indicar o que é pra ser selecionado

  4. Exemplificar com uma das opções

  5. Tipo de dado esperado

Deixe claro as opções indisponíveis

Em vez de remover, mantenha qualquer item que não pode ser selecionado com estado inativo

Padrão obscuro de UX

Alguns sites menos escrupulosos podem pré-selecionar uma opção em um menu suspenso sem que o usuário perceba. Isso é particularmente comum ao perguntar sobre recursos adicionais. Para evitar frustrar e irritar seus usuários, é melhor deixar todos os menus suspensos desmarcados ao carregar a página.

Altura do menu suspenso

Exibir apenas algumas opções por vez torna a visualização menos confusa.

Uma pessoa comum só consegue manter 7 (mais ou menos 2) itens em sua memória de trabalho.

Permitir opções que não estejam na sua seleção.

Às vezes, a opção que o usuário procura não está disponível na seleção atual. Se ele já criou outras opções (por exemplo, categorias, pastas, etiquetas etc.), então ele também deve conseguir criar uma nova a partir desta lista.

Mantenha o título do menu visível

Acessibilidade

A

O campo precisa de um rótulo visível que identifique o que se seleciona (WCAG 3.3.2).

Quando uma seleção obrigatória falta ou é inválida, o erro precisa ser descrito em texto, não apenas por cor ou borda (WCAG 3.3.1).

Estado e seleção não podem ser comunicados só por cor (WCAG 1.4.1).

Ícones dentro do campo ou das opções precisam de nome textual equivalente (WCAG 1.1.1).

Nenhuma instrução pode depender só de característica sensorial — posição ou cor (WCAG 1.3.3)

AA

O texto do campo, do valor selecionado, do placeholder e das opções da lista precisa de contraste de pelo menos 4.5:1 contra o fundo (WCAG 1.4.3).

A borda do campo, a seta, o indicador de foco, a borda do estado de erro e o check do item selecionado precisam de pelo menos 3:1 contra a cor adjacente (WCAG 1.4.11).

O campo e cada item da lista precisam de área de toque de no mínimo 24×24px (WCAG 2.5.8).

O indicador de foco precisa estar visível no campo e em cada item alcançado por teclado (WCAG 2.4.7).

Ao abrir, a lista não pode esconder o campo que tem foco, e o item focado dentro da lista não pode ficar atrás de outra coisa (WCAG 2.4.11).

Quando a correção do erro é conhecida, ela deve ser sugerida ao usuário (WCAG 3.3.3).

AAA

O texto do campo e das opções com contraste de 7:1 (WCAG 1.4.6).

O campo e cada item da lista com área de toque de no mínimo 44×44px (WCAG 2.5.5).

O indicador de foco com espessura equivalente a um perímetro de 2px ao redor do elemento e contraste de 3:1 entre focado e não-focado (WCAG 2.4.13).

Referências

https://componentes.design/aulas/select-dropdown

https://balsamiq.com/learn/dropdown-menus/

https://mobbin.com/glossary/combobox

Create a free website with Framer, the website builder loved by startups, designers and agencies.