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.
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 /
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.