Quand utiliser l'attribut disabled par rapport à l'attribut aria-disabled pour les éléments HTML?

j'essaie de rendre un formulaire accessible. Dois-je faire mes entrées ont les deux disabled et aria-disabled attributs, ou juste un?

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

Ou comme cela?

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

Ou comme cela?

<label for="textbox1">Input</label>
<input id="textbox1" type="text" name="Text Box" aria-disabled="true" disabled>
18
demandé sur unor 2016-06-27 19:43:23

3 réponses

je peux prendre votre exemple, mettre dans un CodePen, et de 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" disabled>

vous serez heureux de savoir que la NVDA et JAWS sautent le champ (ou si elles sont explicitement ciblées, annoncez qu'elles sont désactivées).

en bref, vous ne pas besoin aria-disabled plus longtemps. Suffit d'utiliser disabled.

vous pouvez lire un peu plus sur les attributs ARIA que vous pouvez Dumper dans cet article de Steve Faulkner (un de la rédaction de l'ARIA spec) à partir de 2015 (si aria-disabled n'est pas explicitement, le concept est le même): http://html5doctor.com/on-html-belts-and-aria-braces/

Si ma réponse ressemble à votre autre questionrequired contre aria-required, c'est parce qu'elle est essentiellement la même réponse.

14
répondu aardrian 2017-05-23 11:54:54

en bref, vous n'avez plus besoin d'Aria-disabled. Utilisez simplement désactivé.

Pour terminer @aardrian réponse.

lorsque vous utilisez un contrôle HTML qui supporte nativement le disabled l'attribut, vous n'avez pas besoin de l' aria-disabled l'attribut.

Si vous utilisez un contrôle personnalisé vous pouvez utiliser le aria-disabled l'attribut. Par exemple, dans le code suivant, le bouton "Pause" sera désactivé jusqu'à ce que le bouton "Jouer" est pressé (notre javascript pour changer tabindex et aria-disabled attributs).

<img src="controls/play.png"
  id="audio-start"
  alt="Start"
  role="button"
  aria-disabled="false"
  tabindex="0" />

<img src="controls/pause.png"
  id="audio-pause"
  alt="Pause"
  role="button"
  aria-disabled="true"
  tabindex="-1" />

notez que selon W3C:

les éléments désactivés peuvent ne pas recevoir la mise au point de l'ordre de l'onglet. [...] En plus de définir l'attribut aria-disabled, les auteurs doivent modifier l'apparence (grisée, etc.) pour indiquer que l'élément a été désactivé.

16
répondu Adam 2016-06-28 09:08:13

une distinction importante est que lors de l'utilisation de la voix-off l'article avec juste la propriété 'disabled' ne sera pas tabbed to. Cependant, l'item avec aria-disabled="true" sera toujours en mesure de recevoir la mise au point et le rapport au lecteur d'écran comme dimmed.

6
répondu brandonbradley 2017-05-05 19:52:54