Design system interno · uso exclusivo da Up Web Studio

Icon Provider · Lucide

Primitiveselection

Radio Group

Stable

Uma resposta dentre um conjunto conhecido. Composto sobre Base UI RadioGroup. É um controle só feito de vários elementos: o grupo custa um Tab stop, e dentro dele as setas movem e escolhem ao mesmo tempo. Não há caminho de volta para "nada" — uma pergunta genuinamente opcional precisa de uma opção explícita, não de um grupo vazio. Passando de seis ou sete opções, o Select passa a economizar mais do que custa.

Instalação

npx up-web-ds add radio-group

Preview

Default

Distribuição do item

With Descriptions

Maturidade

With Disabled Option

Publicação

Horizontal

Tema do preview

All states

Default

Distribuição do item

With Descriptions

Maturidade

With Disabled Option

Publicação

Horizontal

Tema do preview

Metadata

Classificação

Layer
Primitive
Domínio
Domain-free (compartilhado)
Categoria
selection
Status
Stable

Origem e distribuição

Fonte
shadcn registry / radio-group
Licença
MIT
Distribuição
Interna

Acessibilidade

  • Teclado: revisado
  • Leitor de tela: revisado
  • Touch: revisado
  • Reduced motion: revisado

Teclado verificado por teste: o grupo inteiro custa um Tab stop — o segundo Tab sai dele —, as setas movem e escolhem ao mesmo tempo, a navegação dá a volta da última opção para a primeira, e uma opção desabilitada continua no grupo recusando a escolha. Leitor de tela verificado por teste: o grupo tem papel radiogroup nomeado pela pergunta via aria-labelledby, cada opção tem papel radio com aria-checked, a escolha é reportada pelo valor, o rótulo associado também escolhe, e aria-invalid é exposto no grupo sem trocar o papel dos controles. Touch verificado em navegador com emulação de toque em viewport de 375px: o círculo visível mede 16x16, mas o alvo desenhado pelo pseudo-elemento mede acima do mínimo de 24x24 da WCAG 2.2 SC 2.5.8, e a escolha por toque funciona pelo círculo e pelo rótulo. Reduced motion verificado com prefers-reduced-motion: reduce — a única transição é a do anel de foco, que colapsa para 1ms.

Dependências

Pacotes
@base-ui/react
Ícones
Nenhum
Construído sobre
Nenhum
Usado por
Nenhum ainda