2017-10-04 1 views
1

J'ai un cas d'utilisation où je veux désactiver certains boutons radio, mais il existe des moyens de revenir en arrière pour réactiver ces boutons radio. Si j'utilise l'attribut désactivé, les lecteurs d'écran passeront le champ et ne connaîtront pas d'informations importantes.Comment "désactiver" un bouton radio d'une manière telle qu'un lecteur d'écran lirait toujours le texte et indiquerait à un utilisateur qu'il est désactivé?

Je suis à la recherche d'une solution accessible qui continuerait à fonctionner pour les utilisateurs standards, mais qui serait également compatible avec la plupart des lecteurs d'écran.

Répondre

2

Seuls quelques lecteurs d'écran ignorent les boutons radio désactivés comme s'ils n'existaient pas (eg. Jaws in Firefox for instance). Un autre annoncera l'article mais indiquera qu'il est désactivé. Bien entendu, pour ce dernier, l'élément ne pourra jamais gagner en focus mais sera annoncé en mode lecture.

Si vous voulez gérer tous les lecteurs d'écran et d'annoncer les options non sélectionnables, vous pouvez les remplacer par le texte brut avec des indications appropriées:

sélectionnable

<input type="radio" name="example value="1" /> 

indisponible:

<div>1 (disabled option, you should select XXX to enable this option)</div> 
+0

C'est un bonne suggestion. Si l'O.P. utilise Bootstrap 3, il existe la classe ['sr-only'] (https://stackoverflow.com/q/19758598/2729937), pour afficher uniquement un élément pour les lecteurs d'écran. –

+0

Une grande partie de nos utilisateurs utilise Jaws ou NVDA, qui ont tous deux présenté ce comportement de saut. Je pense que remplacer la radio par du texte brut serait une solution réalisable pour nos utilisateurs de lecteurs d'écran, alors j'aime cette idée. L'inconvénient est que pour nos utilisateurs voyants, cela peut être un peu inhabituel. Il serait idéal si nous pouvions détecter si un lecteur d'écran était utilisé, puis afficher l'élément de texte pour les utilisateurs du lecteur d'écran et montrer le bouton radio désactivé aux autres utilisateurs. – bigtunacan