Accueil > weblog
- Lire le billet précédent - Lire le billet suivant -
Par Laurent Denis, le 26 février 2005.
Le support du media speech dans Opera 8.0 (bêta 2) va selon toute probabilités passer inaperçu, en raison du côté relativement confidentiel de ce navigateur, ainsi que d'une méconnaissance très répandue de ce qui touche au media auditif sur le Web, pour ne pas dire à la problématique des media tout court.
C'est pourtant une étape essentielle en matière d'accessibilité, dont l'intérêt est loin de se limiter aux seuls utillisateurs de ce navigateur.
En effet, il n'existe jusqu'à aujourd'hui aucun moyen fiable de masquer un contenu (X)HTML aux divers navigateurs utilisés sur les medias visuels tout en le laissant à coup sûr audible dans un lecteur d'écran ou dans un navigateur vocal, à moins de délivrer deux contenus différents, et donc de faire deux versions différentes du documents :
display entre l'écran et la voix ;visibility par Jaws, IBM Home Page Reader et consors agrave les choses, en permettant à une propriété réservée à l'écran de masquer du contenu à la lecture orale d'un document.text-indent: -5000px et autre position: absolute) ou de rapetissement extrême (font-size: 0px; et autres line-height) s'avérent toutes également hasardeuses dans telle ou telle scénario utilisateur concret.En bref, toutes les tentatives actuelles pour masquer du contenu à un navigateur tout en le laissant accessible à un lecteur d'écran relèvent au mieux du bricolage plus ou moins fiable.
Et pourtant, ce serait tellement simple, si les applications vocales implémentaient correctement les types de media CSS. C'est là où le support du media speech par le nouvel Opera 8.0 bêta 2 change la donne, et montre le chemin que doivent suivre ces applications.
Posons concrètement le problème d'un texte supposé n'avoir de sens ou d'utilité que dans les medias vocaux : un lien d'évitement de navigation, par exemple. En supposant que nous voulions masquer ce lien à l'écran, nous commençons par écrire froidement :
<p>Test... <a href="#" class="hidden">Skip navigation</a> ...End of test.</p>
Avec comme CSS :
.hidden {
display: none;
}
De la sorte, notre lien disparaît... partout. En effet, display, en dépit de son nom, n'est pas une propriété uniquement visuelle, et s'applique indifféremment quelque-soit le media.
Que faire ? Simplement utiliser les descripteurs de media pour distinguer deux modes de display dans nos styles CSS :
@media screen, print, projection, tv {
.hidden {
display: none;
}
}
@media speech {
.hidden {
voice-family: female;
cue-before: url(ding.wav);
cue-after: url(ding.wav);
}
}
Que se passe-t-il désormais ?
display: none n'agit plus que visuellement ;Faisons le test (utilisez Opera 8.0 bêta) :
Test... Skip navigation ...End of test.
(Opera affiche Test... ...End of test
et lit: Test... [ding] Skip Navigation [ding] ...End of test
).
De la même manière, et sur un sujet peut-être plus sensible, nous pouvons à présent remplacer à l'écran un texte par une image, tout en conservant ce texte pour le rendu oral, en utilisant la classique technique de la FIR :
<p>Test...</p> <p class="logo"> <span class="hidden">This is a logo</span> </p> <p>...End of test.</p>
Et en CSS :
@media screen, print, projection, tv {
.hidden {
display: none;
}
.logo {
background: url("logocliptransparent.png") top left no-repeat;
height: 100px;
width: 100px;
}
}
Faisons le test, toujours dans Opera 8.0 bêta 2 :
Test...
This is a logo
...End of test.
(Opera affiche le logo entre les deux lignes de texte, et lit: Test... This is a logo ...End of test
).
Sur le même principe que ci-dessus, le display:none ne s'applique qu'à l'écran, laissant le texte accessible à la lecture.
Ne rêvons cependant pas : Jaws, IBM Home Page Reader, WindowsEyes, etc. sont sans doute encore loin, hélas, de se préoccuper des atouts que leur offrirait le support du standard CSS. Tout au plus peut-on espérer que le récent partenariat entre Opera et IBM donne à ce dernier quelques idées ;). D'autre part, que faut-il attendre d'Internet Explorer ? Firefox est sans doute un meilleur candidat...
Mais cette avancée réalisée par Opera montre très concrètement dès aujourd'hui quels bénéfices pourraient en tirer utilisateurs et auteurs. La balle est désormais clairement dans le camp des développeurs de ces applications.
(Note: les exemples données dans cette page ne sont pas correctement restitués dans les navigateurs ne supportant pas le media speech, dont Internet Explorer6.0 et Firefox1.0)
Les trackbacks pour ce billet sont temporairement fermés en raison d'une série d'attaques de spam.
Commentaires
Foxy, le 26 février 2005
Je ne vois pas ce que ça a de révolutionnaire ?
@media screen et display:none sont supportés depuis longtemps par Mozilla, et même par IE. Alors ? Qu'est-ce qu'il y a de spécial dans opera ?
Philippe Worontzoff, le 26 février 2005
" cue-before: url(ding.wav);
cue-after: url(ding.wav);"
Quel horreur, avoir la lecture intérompu par un son irritant (je sais pas vous, mais moi, tout ce qui sonne, je déteste ça).
Mais au fait, ces .wav, sont-ils sur le site ou font-il appel à des sont prédéfini sur l'OS ou le navitateur ?
Foxy, Gecko n'a pas encore de lecteur écrant.
Laurent Denis, le 26 février 2005
Foxy : oui, bien-sûr, le media screen est supporté par de nombreux navigateurs graphiques. Mais ce n'est pas ce qui est problématique pour l'accessibilité.
Les lecteurs d'écrans n'implémentent pas correctement les types de médias qui leur sont destinés (aural et speech). Du coup, un display:none, même limité au media screen, peut être appliqué lorsque la page est lue.
Depuis sa version 7.60, Opera est un navigateur vocal qui a certaines des fonctionalités d'un lecteur d'écran (il n'est pas destiné à jouer ce rôle, en fait, mais plutôt à exploiter l'interaction vocale dans des documents au format XHTML Voice). Avec sa dernière bêta, opera 8.0 ajoute le support du type de media speech : comme le montre les exemples ci-dessus, cela permet de limiter l'impact du display:non à l'affichage, le contenu concerné étant toujours lu.
Laurent Denis, le 26 février 2005
Philippe, les cue-before étaient juste là pour l'exemple. Ce n'est pas, effectivement, le signal le plus agréable pour les liens (Pour ma part, que ce soit pour écouter simplement des documents avec Opera ou pour naviguer avec IBM HPR, le changement de voix à la lecture des liens me suffit amplement).
Sinon, le wav de l'exemple est sur le site. Il ne me semble pas qu'il soit possible d'utiliser des fichiers sonores côté utilisateur (ce qui serait de toute façon assez risqué, faute de mécanisme de substitution comme pour les polices de caractères).
David Latapie, le 27 février 2005
Quelles sont les différences entre un navigateur oral et un lecteur d'écran ?
Quelles sont les différences entre CSS aural et CSS speech ?
Si vous avez des liens mettant en évidence les différences, c'est encore mieux.
Merci
Laurent Denis, le 28 février 2005
David, une tentative de réponse à ces questions : Medias aural et speech, navigateur vocal et lecteur d'écran... Mais encore ?
Les commentaires pour ce billet sont temporairement fermés en raison d'une série d'attaques de spam.