web-dev-qa-db-fra.com

Quand utiliser l'attribut requis par rapport à l'attribut aria-required pour les éléments d'entrée?

J'essaie de rendre un formulaire accessible. Dois-je faire mes entrées ont à la fois required et aria-required attributs, ou un seul?

<label for="textbox1">Input</label>
<input id="textbox1" type="text" name="Text Box" required>

Ou comme ça?

<label for="textbox1">Input</label>
<input id="textbox1" type="text" name="Text Box" aria-required="true">

Ou comme ça?

<label for="textbox1">Input</label>
<input id="textbox1" type="text" name="Text Box" aria-required="true" required>

L'article ( Formulaires HTML5 accessibles - Entrées requises affirme qu'il est préférable d'implémenter les deux.

16

Lorsque John Foliot a écrit cet article en 2012, c'était tout à fait vrai. Vous aviez besoin des deux.

Aujourd'hui, ce n'est plus le cas. Je peux prendre votre exemple, le mettre dans un CodePen , et le vérifier dans JAWS et NVDA (désolé, pas de VoiceOver aujourd'hui):

<label for="textbox1">Input</label>
<input id="textbox1" type="text" name="Text Box" required>

Vous serez heureux de savoir que NVDA et JAWS annoncent le champ comme requis.

En bref, vous n'avez pas besoin de aria-required plus longtemps. Utilisez simplement required.

Vous pouvez lire un peu plus sur les attributs ARIA que vous pouvez vider dans cet article de Steve Faulkner (l'un des éditeurs de la spécification ARIA) de 2015: http://html5doctor.com/on-html-belts- and-aria-braces /

31
aardrian

HTML5 possède désormais l'attribut requis, mais aria-required est toujours utile pour les agents utilisateurs qui ne prennent pas encore en charge HTML5.

Ref: en utilisant le post d'attribut aria required sur MDN

2
Bernd Bauer