C15 · Componentes

Form

Primitivas de entrada: input, textarea, select, checkbox, radio. Foco usa cor de assinatura. Erros espelham a mesma tonalidade do feedback semântico danger.

01

Tipos de campo

TipoUso
Input + hintTexto curto com texto auxiliar abaixo.
Input + erroValidação negativa, mensagem em vermelho.
TextareaTexto longo (descrição, mensagem).
SelectLista finita (até 7 opções; mais → autocomplete).
CheckboxMúltipla seleção, valores não exclusivos.
RadioSeleção única exclusiva.
02

Estrutura padrão

<div class="field">
  <label for="name">Nome <span aria-hidden="true">*</span></label>
  <input id="name" type="text" required
    aria-describedby="name-hint" />
  <p id="name-hint" class="hint">Como você gosta de ser chamado.</p>
</div>
03

Estados

EstadoVisual
defaultBorda --n-fog.
focusBorda 2px --accent-base, outline 3px wash.
errorBorda --sem-danger, mensagem visível.
disabledOpacidade 0.5, cursor not-allowed.
readonlyFundo --n-bone, sem borda visível.
04

Acessibilidade

  • Labels associados via for/id.
  • Mensagens de erro vinculadas via aria-describedby.
  • Campos obrigatórios com aria-required='true'.
  • Estado inválido com aria-invalid='true'.
  • Asterisco visível + texto auxiliar 'obrigatório'.