Support des attributs ARIA par les lecteurs d’écran
Régulièrement, au cours de nos projets, nous sommes amenés à réaliser des tests de support des attributs de la spécification ARIA (en anglais) sur différentes combinaisons navigateur/lecteur d’écran.
Cette ressource, qui sera fréquemment agrémentée et mise à jour, présente les résultats de ces tests.
Présentation des résultats
Chaque attribut ARIA testé est précédé d’une explication présentant son utilité et d’un lien vers sa spécification officielle.
Les résultats de ces tests se présentent sous la forme de tableaux de données à double entrée.
Les entêtes de colonne supérieures de ces tableaux correspondent aux types de lecteurs d’écran ; les inférieures, aux versions de ces derniers.
Les entêtes de ligne, elles, listent les navigateurs (et leur version) sur lesquels les tests ont été réalisés.
Enfin, lorsque nécessaire, des informations complémentaires quant à ces tests figurent sous les tableaux.
Il peut par exemple s’agir d’explications sur la méthodologie adoptée pour les tests ou le report d’éventuels comportements anormaux.
Fréquence de mise à jour
Chaque tableau de résultats est amené à évoluer en fonction de l’apparition sur le marché d’une nouvelle version d’un lecteur d’écran ou d’un navigateur.
En haut à gauche de chaque tableau figure la date de sa dernière mise à jour.
Pour l’instant, les tests sont réalisés sur un échantillon de combinaisons navigateur/lecteur d’écran assez réduit ne couvrant que partiellement le champ des configurations utilisateurs possible.
À noter qu’à court terme, le nombre de ces combinaisons va augmenter.
Table des matières
Support de aria-describedby
L’attribut aria-describedby
(en anglais) peut-être intégré dans tous les éléments HTML.
Il sert à identifier le ou les élément(s) décrivant l’élément en question.
Mis à jour le 10/02/2014 | JAWS | NVDA | VoiceOver | ||
---|---|---|---|---|---|
11 | 13 | 2012.3.1 | iOS 6.1.2 | iOS 7.0.4 | |
IE 10 | |||||
Firefox 23 | |||||
Safari |
Attribut testé sur les éléments de formulaire suivants : <input type="text" />
, <input type="checkbox" />
et <textarea>
.
Support de aria-expanded
Lorsque la valeur de l’attribut aria-expanded
(en anglais) est à true
, il informe l’utilisateur que l’élément en question (ou celui qu’il contrôle) est développé/déplié.
MAJ le 10/02/2014 | JAWS | NVDA | VoiceOver | CrVox | ||
---|---|---|---|---|---|---|
11 | 13 | 14 | 2013.2 | iOS 7.0.4 | 1.29.1 | |
IE 10 | ||||||
FF 24 | ||||||
Safari | ||||||
Cr 29 |
Attribut testé sur les éléments suivants : <button>
, <a role="button">
et <a>
.
Cas particuliers
- JAWS 11 / Internet Explorer 10
- Seulement supporté sur
<a role="button">
. - JAWS 13 / Internet Explorer 10
- Seulement supporté sur
<a role="button">
. - JAWS 13 / Chrome 29
- Non supporté sur l’élément
<a>
. - Lorsque la valeur de l’attribut est à
false
, aucune information n’est restituée. - JAWS 14 / Chrome 29
- Lorsque la valeur de l’attribut est à
false
, aucune information n’est restituée. - NVDA 2013.2 / Chrome 29
- Lorsque la valeur de l’attribut est à
false
, aucune information n’est restituée.
Support de aria-grabbed
L’attribut aria-grabbed
(en anglais) peut-être intégré dans tous les éléments HTML.
Il sert à indiquer si l’élément en question est ou peut-être saisi (fonctionnalité de glisser/déposer).
MAJ le 10/02/2014 | JAWS | NVDA | VoiceOver | CrVox | ||
---|---|---|---|---|---|---|
11 | 13 | 14 | 2013.2 | iOS 7.0.4 | 1.29.1 | |
IE 10 | ||||||
FF 24 | ||||||
Safari | ||||||
Cr 30 |
Attribut testé sur l’élément <div tabindex="0">
.
Cas particulier
- NVDA 2013.2 / Firefox 24 et Internet Explorer 10
- Supporté lorsque l’élément intégre
role="button"
.
Support de aria-haspopup
L’attribut aria-haspopup
(en anglais) peut-être intégré dans tous les éléments HTML.
Lorsque la valeur de cet attribut est à true
, il informe l’utilisateur que l’élement en question dispose d’un menu contextuel pouvant s’afficher.
Mis à jour le 10/02/2014 | JAWS | NVDA | VoiceOver | ChromeVox | |
---|---|---|---|---|---|
11 | 13 | 2013.2 | iOS 7.0.4 | 1.29.1 | |
IE 10 | |||||
Firefox 23 | |||||
Safari | |||||
Chrome 29 |
Attribut testé sur les éléments suivants : <button>
, <a role="button">
et <a>
.
Cas particuliers
- JAWS 11 / Firefox 23
- Supporté sur les éléments
<button>
et<a role="button">
mais non sur l’élément<a>
. - VoiceOver / iOS 7.0.4
- Supporté sur les éléments
<button>
et<a role="button">
mais non sur l’élément<a>
.
Support de aria-hidden
L’attribut aria-hidden
(en anglais) peut-être intégré dans tous les éléments HTML.
Lorsque la valeur de cet attribut est à true
, il rend l’élément en question (et tous ses enfants) invisible(s) aux outils d’assistance (comme les lecteurs d’écran).
Mis à jour le 10/02/2014 | JAWS | NVDA | VoiceOver | ChromeVox | |
---|---|---|---|---|---|
11 | 13 | 2013.2 | iOS 7.0.4 | 1.29.1 | |
IE 10 | |||||
Firefox 23 | |||||
Safari | |||||
Chrome 29 |
Attribut testé sur les éléments suivants : <p>
et <a>
.
Support de aria-invalid
L’attribut aria-invalid
(en anglais) s’intègre dans les éléments de formulaire.
Lorsque la valeur de cet attribut est à true
, il informe l’utilisateur que la saisie du champ de formulaire en question est erronée.
MAJ le 10/02/2014 | JAWS | NVDA | VoiceOver | ||
---|---|---|---|---|---|
11 | 13 | 2012.3.1 | iOS 6.1.2 | iOS 7.0.4 | |
IE 10 | |||||
Firefox 23 | |||||
Safari |
Attribut testé sur les éléments de formulaire suivants : <input type="text" />
, <input type="checkbox" />
et <textarea>
.
Cas particulier
L’attribut aria-invalid
n’est cependant pas supporté par Safari (iOS 6.1.2) sur l’élément <input type="checkbox" />
.
Support de aria-label
L’attribut aria-label
(en anglais) peut-être intégré dans tous les éléments HTML.
MAJ le 10/02/2014 | JAWS | NVDA | VoiceOver | CrVox | ||
---|---|---|---|---|---|---|
11 | 13 | 14 | 2013.2 | iOS 7.0.4 | 1.29.1 | |
IE 10 | ||||||
FF 25 | ||||||
Safari | ||||||
Cr 30 |
Attribut testé sur les éléments suivants : <a>
, <button>
et <input type="text" />
.
Cas particulier
- NVDA 2013.2 / Firefox 25
- Supporté sur l’élément
<input type="text" />
. Non sur<a>
et<button>
. - NVDA 2013.2 / Internet explorer 10
- Supporté sur les éléments
<button>
et<input type="text" />
. Non sur<a>
. - NVDA 2013.2 / Chrome 30
- Supporté sur les éléments
<button>
et<input type="text" />
. Non sur<a>
.
Support de aria-live
L’attribut aria-live
(en anglais) peut-être intégré dans tous les éléments HTML.
Il sert à signaler que le contenu de l’élément en question a été mis à jour.
MAJ le 12/11/2013 | JAWS | NVDA | VoiceOver | CrVox | ||
---|---|---|---|---|---|---|
11 | 13 | 14 | 2013.2 | iOS 6.1.2 | 1.29.1 | |
IE 10 | ||||||
FF 25 | ||||||
Safari | ||||||
Cr 30 |
Attribut testé sur les éléments suivants : <div>
et <p>
(avec comme valeur polite
puis assertive
).
Support de aria-posinset
L’attribut aria-posinset
(en anglais) s’utilise conjointement avec l’attribut aria-setsize
.
MAJ le 10/02/2014 | JAWS | NVDA | VoiceOver | CrVox | ||
---|---|---|---|---|---|---|
11 | 13 | 14 | 2013.2 | iOS 7.0.4 | 1.29.1 | |
IE 10 | ||||||
FF 25 | ||||||
Safari | ||||||
Cr 30 |
Attribut testé sur l’élément <li>
.
Support de aria-required
L’attribut aria-required
(en anglais) s’intègre dans les éléments de formulaire.
Lorsque la valeur de cet attribut est à true
, il informe l’utilisateur que la saisie du champ de formulaire en question est requise.
Mis à jour le 10/02/2014 | JAWS | NVDA | VoiceOver | ||
---|---|---|---|---|---|
11 | 13 | 2012.3.1 | iOS 6.1.2 | iOS 7.0.4 | |
IE 10 | |||||
Firefox 23 | |||||
Safari |
Attribut testé sur les éléments de formulaire suivants : <input type="text" />
, <input type="checkbox" />
et <textarea>
.
Support de aria-setsize
L’attribut aria-setsize
(en anglais) s’utilise conjointement avec l’attribut aria-posinset
.
MAJ le 10/02/2014 | JAWS | NVDA | VoiceOver | CrVox | ||
---|---|---|---|---|---|---|
11 | 13 | 14 | 2013.2 | iOS 7.0.4 | 1.29.1 | |
IE 10 | ||||||
FF 25 | ||||||
Safari | ||||||
Cr 30 |
Attribut testé sur l’élément <li>
.
Support de aria-sort
L’attribut aria-sort
(en anglais) peut-être intégré dans l’élément <th>
.
Il sert à indiquer si les contenus liés à l’entête en question sont triés de manière croissante (aria-sort="ascending"
) ou décroissante (aria-sort="descending"
).
MAJ le 10/02/2014 | JAWS | NVDA | VoiceOver | CrVox | ||
---|---|---|---|---|---|---|
11 | 13 | 14 | 2013.2 | iOS 7.0.4 | 1.29.1 | |
IE 10 | ||||||
FF 24 | ||||||
Safari | ||||||
Cr 29 |
Attribut testé sur l’élément <th>
.
Support de role="alert"
role="alert"
MAJ le 04/07/2014 | JAWS | NVDA | VoiceOver | CrVox | ||
---|---|---|---|---|---|---|
11 | 13 | 14 | 2014.2 | iOS 7.1.2 | 1.31.4 | |
IE 11 | ||||||
FF 30 | ||||||
Safari | ||||||
Cr 35 |
Tests effectués sur la page WAI-ARIA role=alert on setTimeout .
Support de role="banner"
MAJ le 10/02/2014 | JAWS | NVDA | VoiceOver | CrVox | ||
---|---|---|---|---|---|---|
11 | 13 | 14 | 2013.3 | iOS 7.0.4 | 1.29.1 | |
IE 11 | ||||||
FF 26 | ||||||
Safari | ||||||
Cr 31 |
Testé sur les éléments <header>
et <div>
.
Cas particulier
- JAWS 11 / Firefox 26
- Supporté sur l’élément
<div>
. Non sur<header>
.
À noter que de manière générale, l’élément<header>
et ses contenus ne sont pas restitués avec cette combinaison.
Support de role="contentinfo"
MAJ le 10/02/2014 | JAWS | NVDA | VoiceOver | CrVox | ||
---|---|---|---|---|---|---|
11 | 13 | 14 | 2013.3 | iOS 7.0.4 | 1.29.1 | |
IE 11 | ||||||
FF 26 | ||||||
Safari | ||||||
Cr 31 |
Attribut testé sur les éléments <div>
et <footer>
.
Support de role="main"
MAJ le 10/02/2014 | JAWS | NVDA | VoiceOver | CrVox | ||
---|---|---|---|---|---|---|
11 | 13 | 14 | 2013.3 | iOS 7.0.4 | 1.29.1 | |
IE 11 | ||||||
FF 26 | ||||||
Safari | ||||||
Cr 31 |
Testé sur les éléments <main>
et <div>
.
Support de role="navigation"
MAJ le 10/02/2014 | JAWS | NVDA | VoiceOver | CrVox | ||
---|---|---|---|---|---|---|
11 | 13 | 14 | 2013.3 | iOS 7.0.4 | 1.29.1 | |
IE 11 | ||||||
FF 26 | ||||||
Safari | ||||||
Cr 31 |
Attribut testé sur les éléments <nav>
, <ul>
et <div>
.
Dans le cas où vous n’obtiendriez pas les mêmes résultats, nous vous invitons à nous le signaler dans les commentaires de ce billet, via notre formulaire de contact ou en écrivant à blog(AT)atalan.fr.
Vos commentaires
-
Bonjour et merci pour cet énorme travail que je découvre.
Je me demandais s’il était prévu des mises à jour prochaines (les dernières semblent dater d’il y a 1 an et demi) et surtout s’il était prévu d’intégrer de nouveaux tests.
Je pense particulièrement à :
– role=presentation
– role=image
– speak (?)Qui pourraient être très utiles un jour dans le cas des icones-fontes.
Bonne continuation,
Raphaël
-
Bonjour Raphaël,
Merci pour ton message et l’intérêt que tu portes à cette initiative !
Malheureusement, à court terme, nous ne prévoyons pas de mises à jour ni de nouveaux tests.
Notamment car nous sommes en pleine ré-écriture du projet AcceDe Web (qui devrait d’ailleurs en principe sortir courant septembre ;)).Ensuite, nous prévoyons de poursuivre notre série de billets sur les lecteurs vidéo HTML5 accessibles car nous ressentons une grosse attente à ce sujet.
Mais nous n’abandonnons pas cette initiative. Nous réfléchissons d’ailleurs à une manière de l’optimiser (aspect collaboratif ?, autre support de diffusion ?, etc.).
Dans tous les cas, on ne manquera pas de te tenir informé.
Très bonne journée !
Johan
-
-
Bonsoir,
Bravo pour ces tests qui sont assurément très utiles pour savoir qu’est-ce qui est supporté, où et comment, et qui sont manquants sur des sites où ils auraient dû exister depuis un bon moment déjà.
Par contre, vos tableaux sont à jour, mais visiblement pas vos lecteurs d’écran.
NVDA en est à sa version 2013.1.1 et la 2013.2 est même déjà sortie me semble-t-il.
Jaws 14.0 est sorti depuis un an déjà, depuis au moins 6 mois en français, et jaws 15 vient de sortir en bêta.
Si pour jaws c’est utile de lister des versions anciennes parce que tout le monde ne peut pas se mettre à jour, par contre pour NVDA il n’y a aucun intérêt à garder une ancienne version, d’autant plus qu’elle se met maintenant à jour automatiquement.
Autre suggestion, il pourrait peut-être être utile d’ajouter IE8 et IE9, ces navigateurs sont encore beaucoup utilisés en conjonction avec les lecteurs d’écran, notamment pour ceux qui ne peuvent pas mettre leur jaws à jour. De plus d’après mes dernières informations, Chrome est censé être accessible aussi avec jaws et NVDA.
Enfin, il manque peut-être aussi Mac OS X 10.* + VO pour être vraiment complet, mais c’est pas grave, moi non plus j’ai pas de mac.
-
Bonjour QuentinC et merci pour ton commentaire.
Tant mieux si ces tests et résultats peuvent être profitables !
Effectivement, à ce jour, nous testons encore sur un échantillon non représentatif des combinaisons possibles.
Nous le précisons d’ailleurs dans le billet, juste avant la table des matières. ;)Comme nous l’indiquons dans cette remarque, il est prévu que ce nombre de combinaisons augmente avec effectivement l’ajout des dernières versions de JAWS (14 et 15) ainsi que des précédentes moutures d’Internet Explorer (8 et 9).
Oui, nous avons suivi le passage à la version 2013.2 de la revue d’écran NVDA. D’ailleurs, les deux derniers tableaux publiées (
aria-haspopup
etaria-hidden
) inclus déjà les résultats des tests sur cette version.Tout comme toi, il ne nous apparaît pas pertinent de procéder à des tests sur les anciennes versions de NVDA. C’est d’ailleurs pourquoi sur ces 2 derniers tableaux, seuls les résultats portant sur la dernière version y figurent.
C’est une bonne nouvelle si JAWS et NVDA peuvent être utilisés sous Chrome. Nous allons tester ça et agrémenter les futurs tableaux de ces éventuels nouveaux résultats.
Merci encore pour ton retour et tes suggestions !
-
-
Ce sont des résultats très intéressants pouvant prétendre à enrichir la base de http://caniuse.com/ ?