required: attributo HTML

L'attributo booleano required, se presente, indica che l'utente deve specificare un valore per l'input prima di poter inviare il modulo proprietario.

L'attributo required è supportato dagli input <input type="text"><input type="search"><input type="url"><input type="tel"><input type="email"><input type="password"><input type="date"><input type="month"><input type="week"><input type="time"><input type="datetime-local"><input type="number"><input type="checkbox"><input type="radio"><input type="file"> insieme agli elementi <select> e <textarea>. Se presente su uno qualsiasi di questi tipi ed elementi di input, la pseudo classe :required corrisponderà. Se l'attributo non è incluso, la pseudo classe :optional corrisponderà.

L'attributo non è supportato o rilevante per range e color , poiché entrambi hanno valori predefiniti. Inoltre, non è supportato su nascosto in quanto non ci si può aspettare che un utente compili un modulo nascosto. Né è supportato su nessuno dei tipi di pulsanti, incluso image.

Nel caso di un gruppo di pulsanti di opzione con lo stesso nome , se un singolo pulsante di opzione nel gruppo ha l'attributo required, è necessario selezionare un pulsante di opzione in quel gruppo, anche se non deve essere quello con l'attributo applicato. Quindi, per migliorare la manutenzione del codice, si consiglia di includere l'attributo required in ogni pulsante di opzione con lo stesso nome nel gruppo, oppure in nessuno.

Interazioni di attributi

Poiché un campo di sola lettura non può avere un valore, required non ha alcun effetto sugli input con l'attributo readonly anche specificato.

Usabilità

Quando si include l'attributo required, fornire un'indicazione visibile vicino al controllo per informare l'utente che <input><select> o <textarea> è richiesto. Inoltre, scegli come target i controlli dei moduli richiesti con la pseudo-classe :required, modellandoli in modo da indicare che sono obbligatori. Ciò migliora l'usabilità per gli utenti vedenti. La tecnologia assistiva dovrebbe informare l'utente che il controllo del modulo è obbligatorio in base all'attributo richiesto, ma l'aggiunta aria-required="true"non fa male, nel caso in cui la combinazione browser / screen reader non sia ancora supportata.

Convalida dei vincoli

Se l'elemento è richiesto e il valore dell'elemento è la stringa vuota, l'elemento soffre valueMissing e l'elemento corrisponderà alla pseudo classe :invalid.

Problemi di accessibilità

Fornire un'indicazione agli utenti informandoli che il controllo del modulo è obbligatorio. Assicurati che i messaggi siano sfaccettati, ad esempio attraverso testo, colore, contrassegni e attributi, in modo che tutti gli utenti comprendano i requisiti indipendentemente dal fatto che abbiano daltonismo, differenze cognitive o utilizzino un'utilità per la lettura dello schermo.