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

A pseudo-classe CSS :optional representa qualquer elemento {{HTMLElement("input")}}, {{HTMLElement("select")}}, ou {{HTMLElement("textarea")}} que não contenha o atributo {{ htmlattrxref("required", "input") }}.

/* Selects qualquer <input> opcional */
input:optional {
  border: 1px dashed black;
}

Esta pseudo-classe é utilizada para estilizar campos do formulário que não são requeridos para sumissão.

Nota: A pseudo-classe {{cssxref(":required")}} seleciona campos do fumulário requeridos.

Sintaxe

{{csssyntax}}

Exemplos

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

Referências de acessibilidade

Se um formulário contém {{htmlelement("input")}} opcionais, inputs requeridos devem ser indicados utilizando o atriuto {{ htmlattrxref("required", "input") }}. Isto garantirá que usuários que navegam com tecnologia de acessibilidade, como um leitor de tela, possam entender  quais entradas devem ter o conteúdo validado para submeter o formulário com êxito.

Entradas requeridas devem ser indicadas visualmente, utilizando 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

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

Compatibilidade com navegadores

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

Ver também