--- title: ':optional' slug: 'Web/CSS/:optional' translation_of: 'Web/CSS/:optional' ---
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.
Veja {{cssxref(":invalid")}} como exemplo.
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.
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. |
{{Compat("css.selectors.optional")}}