--- title: ':required' slug: 'Web/CSS/:required' translation_of: 'Web/CSS/:required' ---
{{ CSSRef }}

A pseudo-classe CSS :required representa qualquer {{HTMLElement("input")}}, {{HTMLElement("select")}}, ou {{HTMLElement("textarea")}} contendo o atributo {{ htmlattrxref("required", "input") }}.

/* Seleciona qualquer <input> requerido */
input:required {
  border: 1px dashed red;
}

Esta pseudo-classe é utilizada para destacar campos que devem ter dados válidos antes do formulário ser submetido.

Nota: A pseudo-classe {{cssxref(":optional")}} seleciona campos do formulário que são opcionais.

Sintaxe

{{csssyntax}}

Exemplos

Veja {{cssxref(":invalid")}} como exemplo.

Preocupações com acessibilidade

Elementos {{htmlelement("input")}} obrigatórios devem ter o  atributo {{ htmlattrxref("required", "input") }} atribuídos. Isso garante que pessoas que navegam com auxílio de recursos de acessibilidade, como o leitor de tela, possam entender quais campos precisam ter conteúdos válidos para garantir a submissão dos dados .

Se o formulário também possui campos opcionais, entradas requeridas devem ser indicadas visualmente usando um tratamento que não seja apenas a cor para passar o significado. Usualmente, textos descritivos e/ou um ícone são utilizados.

Especificações

Especificação Status Comentário
{{ SpecName('HTML WHATWG', '#selector-required', ':required') }} {{ Spec2('HTML WHATWG') }} Sem mudança.
{{ SpecName('HTML5 W3C', '#selector-required', ':required') }} {{ Spec2('HTML5 W3C') }} Define a semântica de validação e de restrição HTML.
{{ SpecName('CSS4 Selectors', '#opt-pseudos', ':required') }} {{ Spec2('CSS4 Selectors') }} Sem mudança.
{{ SpecName('CSS3 Basic UI', '#pseudo-required-value', ':required') }} {{ Spec2('CSS3 Basic UI') }} Define a pseudo-classe, mas não a semântica associada.

Compatibilidade de navegadores

{{Compat("css.selectors.required")}}

Veja também