aria-live et de la mâchoire
Je vais essayer d'obtenir un aria-live région pour fonctionner correctement avec JAWS 11 et IE8.
À l'aide du code ci-dessous, je peux obtenir des MÂCHOIRES pour annoncer la nouvelle valeur lorsque le bouton est cliqué, mais le comportement n'est pas ce que je m'attends.
<!DOCTYPE html>
<html>
<head></head>
<body>
<button onclick="document.getElementById('statusbar').innerHTML = parseInt(document.getElementById('statusbar').innerHTML) + 1">Update</button>
<div id="statusbar" aria-live="polite">0</div>
</body>
</html>
À l'aide de mon JAWS11/IE8 configuration, à chaque clic sur le bouton j'entends:
Cliquez sur le numéro de Valeur HTML (après clic) MÂCHOIRES dit ------------ ------------------------- --------- 1 1 "bouton mise à Jour, 0" 2 2 "1" 3 3 "2"
Le problème, et ma question est: comment puis-je faire des MÂCHOIRES annoncer valeur actuelle de l'aria-live région, plutôt que de la valeur précédente de l'aria-live région?
Je serais également intéressé par la façon dont les autres lecteurs d'écran va gérer cette fonctionnalité.
Le même problème ne semble pas se produire dans cette vidéo démontrant aria-live -- c'est peut-être quelque chose à faire avec mon installation?
OriginalL'auteur Daniel Nitsche | 2011-08-02
Vous devez vous connecter pour publier un commentaire.
Votre code est correct. Apparemment, le "1 derrière" a été découvert. À partir du lien, il semble que si l'aide
aria-atomic="true"
peut résoudre le problème. Cependant, l'exemple donné ne fonctionner correctement dans IE9 et Firefox.Si vous n'avez pas trébuché à travers eux déjà, admirez les cas de test sur codetalks et accessibleculture.org. Il ya beaucoup de différences subtiles pour être au courant de. Il suffit de ne pas être surpris si les tests échouent! Au cours de la dernière année, j'ai rencontré quelques-uns (insuffisance) des astuces qui peuvent vous aider.
Méthode 1:
role="alert"
La
alert
rôle est censé être équivalent àaria-live="assertive"
, mais les anciennes versions de JAWS n'ai pas le gérer correctement. Découvrez ces exemples à partir de février 2011, qui stipule que:Les deux Firefox4+ et IE9 ne l'exige pas. Mais il serait quelque chose comme ceci:
Méthode 2: mettre l'accent forcer hack
Par la création dynamique d'un élément du DOM et de forcer le focus, vous pouvez vous "truc" que la plupart des lecteurs d'écran en lire le contenu. C'est hackish, mais efficace...et un peu le point de la De créer et de se Concentrer exemple. Simplifié, vous pouvez faire quelque chose comme ceci:
Simplement masquer/afficher le contenu au lieu de cela fonctionne assez bien la plupart du temps. Cependant, VoiceOverdes efforts s'attarde sur l'élément et de ne pas parler de son contenu lorsqu'ils sont présentés de nouveau. Ainsi, le retirer de la DOM semble être la plus infaillible méthode pour l'instant. Je ne l'aime pas, mais tel est l'état des choses.
merci pour la mise à jour sur IE8. Bonne chance!
OriginalL'auteur Courtney Christensen
Si vous utilisez JAWS, je pense que vous devez également configurer le mode par défaut; car le lecteur d'écran ont un mode "lecture seule". ce problème peut être résolu par voie de communiqué:
(Insert + z) pour activer/désactiver la lecture seule des lecteurs d'écran.
http://www.mozilla.org/access/qa/win-webcontent-jaws.html
OriginalL'auteur Ahmad AlMughrabi