Bonjour la liste, Merci Jean-Pierre pour ce riche partage d'info et d'expérience. En dehors de l'aspect HTML5/CSS3 encore en chantier, et d'un éventuel défaut de fermeture de balise, je voulais revenir sur l'aspect strictement sémantique des listes.
On l'a vu en formation EAE, souvent un abus de sémantique consiste à tout transformer en liste dans la structure HTML des pages. Ainsi, on trouve des items de liste avec une masse de contenu est une arbo HTML interne qui donne le vertige. Est-ce que ce problème de vitesse de lecture peut être lié à l'usage de ces listes au lieu des divisions pour les blocs ayant un contenu lourd et complexe ? Bonne journée à tous Carsten MEYER Expert Accessiweb 2.1 en évaluation Développeur front-end free-lance Le 11 avril 2012 21:16, jean-pierre villain <[email protected]> a écrit : > La robustesse du DOM impacte très directement les performances d'une AT. > > Lorsque vous vous préparer à développer un screen reader (ne faites jamais > ça c'est trop monacal comme job) vous êtes confronté à la préparation du > code et c'est là que commence les emmerdes. > > De manière un peut caricaturale il y à une première phase ruineuse qui > consiste à récupérer la sémantique du code et des séquences exotiques > comme, par exemple la ponctuation. > > Pour la ponctuation par exemple une solution efficace consiste simplement > à remplacer la ponctuation par des séquences de caractères genre "point", > "virgule" etc) à la volée lors de la vocalisation (mais attention chute de > perfs) ou directement dans le bumper (mais attention temps de préparation > plus long). > > J'ai le souvenir dans les années 2003/2004 que le temps de traitement dans > le bumper en java coutait jusqu'à 2 secondes pour une page "normale" par > exemple. A l'époque ou lorsque qu'on se bricole un screen reader dans son > coin c'est la méthode la plus efficace : la vocalisation est du coup fluide > et continue et surtout déchargée entièrement sur le TTS. > > Dans les AT modernes j'imagine qu'on procède plutôt à la volée. C'est ce > qui expliquerais les petits à-coups de vocalisation qui'on peut avoir au > milieu d'un paragraphe par exemple : rechargement du tampon de vocalisation > ou collision avec un processus système prioritaire (le cauchemard du > multitheading java sous windows XP :) ). > > Evidemment le même procédé est utilisé pour la vocalisation des "balises" > genre "liste de trois items, puce, puce, puce...") > > Par exemple pour vocaliser une liste l'opération consiste ( là aussi de > manière très abrégée) à stocker dans une data list, la structure en cours > de vocalisation. Du coup, évidemment, la moindre erreur DOM rends le bouzin > délicat : on sait où elle commence et la mission impossible consiste à > trouver où elle termine :) . > Si le code renvoyé par le navigateur n'est pas ou mal corrigé par exemple > c'est le screen reader qui prends ces corrections en charge. Si insérer un > flag de fermeture à un P défaillant n'est pas trop complexe (le nombre > d'enfant d'un P étant limité), pour un LI, un UL ou un TABLE c'est > simplement l'enfer, le nombre d'enfant étant illimité en type et en nombre. > Donc on fait deux trois tests récursifs pour tenter de consolider la > structure si on ne trouve pas le flag de fermeture ou si on détecte une > incohérence et si c'est trop couteux on bricole, par exemple en considèrent > que le LI se ferme avant le prochain élément de type block. > > La seconde phase de préparation du code consiste à assurer la navigation > par type, là deux techniques sont possibles des techniques de navigation > pas à pas (à partir d'un élément je cherche à la volée l'élément suivant en > me basant sur le flag d'ouverture) ou des techniques de flags (de manière > trivial on ajoute des ID ou des flags quelconque sur chaque élément et on > gère la nav et la structure via des collections). > La technique des ID étaient par exemple la technique de base des premiers > lecteur Daisy puisqu'on assurait ensuite via JS la production d'un sommaire > dynamique de manière très simple à partir du moteur HTML de rendu. > > Si généralement il suffit de gérer des collections en se basant sur le > seul flag d'ouverture dans le cas des listes ou des tableaux, du fait de > l'imbrication, le traitement récursif peut devenir très couteux. > > Je ne pense pas que ce soit le cas ici, les puissances disponibles rendant > ces traitements acceptables de nos jours mais au début dans les années 2000 > quand on s'amusait à développer des systèmes de screen reader par exemple > avec le TTS MBrola (top niveau mais très couteux en temps) la moindre > défaillance du DOM faisait chuter les perfs en lecture de manière > dramatique. > > C'est la raison pour laquelle, entre autre, la robustesse du code est si > importante la base du traitement de code c'est du récursif et le premier > développeur de base qui à traité du récursif connait la sanction : 1 > erreur, mille emmerdes et tant pis pour le film du soir, le ciné ou le > rendez-vous :) > > Donc moi le premier test que je ferais c'est de vérifier la robustesse du > DOM, ne serait-ce que pour éliminer l'hypothèse... ;) > > Mais bon les cadors de chez Temesis ou Tanaguru pourraient mieux que moi > expliquer le voyage intersidéral dans le code XML, les traitements de code > entre un screen reader et un moteur de détection sont, à la base, > strictement identiques et moi j'ai abandonné le développement avant que les > moteurs Xpath ou les requêteurs genre SPARQL résolvent peut ou prou les > problèmes de perfs. > > Mais dans le cas de Bertrand le truc est sans doute plus simple : HTML5 + > CSS3 + JS +NAVIGATEUR + OS + AT + UTILISATEUR = grand saut dans l'inconnu, > point barre ! > > JPV > > ------------------------------ > > > ------------------------------ > *De :* Victor Brito <[email protected]> > *À :* "[email protected]" <[email protected]> > *Envoyé le :* Mercredi 11 avril 2012 18h51 > *Objet :* [Liste GTA] Re : Re : Re : Souci de vitesse de verbalisation de > listes avec synthèse vocale > > Salut, Jean-Pierre, > > Tu veux dire qu'un code HTML invalide du point de vue de la syntaxe peut > perturber une synthèse vocale, n'est-ce pas ? > > Victor Brito > Intégrateur XHTML / CSS – Expert Accessiweb en évaluation > ------------------------------ > *De :* jean-pierre villain <[email protected]> > *À :* "[email protected]" <[email protected]> > *Envoyé le :* Mercredi 11 avril 2012 18h06 > *Objet :* [Liste GTA] Re : Re : Souci de vitesse de verbalisation de > listes avec synthèse vocale > > Bonjour, > > Heu.... je dirais surtout ne rien faire ! > > Pour ma part je ne pense pas que le problème viennent du réglage > utilisateur, il n'y à aucune raison à ça. > > On a certainement simplement à faire avec l'utilisation irraisonnée de > technologies (Html 5/CSS3) dont on ne cesse de dire qu'en l'état ces > technos sont utilisables sans aucune garantie de résultats surtout avec des > versions d'AT ou de navigateur pas maintenus. > > L'utilisation de speech serait de toute manière fortement déconseillée > puisqu'il n'y a pas de raison à ce dysfonctionnement. > > En revanche, au cas où : vérifier le code Html, ça peut ressembler aussi à > un joli tango artistique d'un couple AT/Navigateur épuisé de devoir > corriger les erreurs de code ;) > > Vous n'imaginez pas combien les perfs d'un TTS peuvent être sensible aux > erreurs de structure DOM :) > > Après en mode de test dégradé on doit pouvoir trouver facilement la cause > : tester le code sans css ni JS et ainsi de suite. > > Tient nous au courant, c'est intéressant comme soucis. > > > ------------------------------ > Jean-Pierre Villain - Qelios - 06 98 08 50 49 > > ------------------------------ > *De :* Victor Brito <[email protected]> > *À :* "[email protected]" <[email protected]> > *Envoyé le :* Mercredi 11 avril 2012 17h42 > *Objet :* [Liste GTA] Re : Souci de vitesse de verbalisation de listes > avec synthèse vocale > > Salut, Bertrand, bonjour la liste, > > À moins de recourir à la propriété CSS speech-rate (mais, malheureusement, > à part sous Opera, l'implémentation des propriétés CSS aural ou speech est > quasi inexistante), je crains qu'on ne puisse rien faire. Le problème vient > certainement des (dé)réglages du lecteur d'écran employé. > > Victor Brito > Intégrateur XHTML / CSS – Expert Accessiweb en évaluation > ------------------------------ > *De :* Bertrand Cochet <[email protected]> > *À :* [email protected] > *Envoyé le :* Mercredi 11 avril 2012 15h51 > *Objet :* [Liste GTA] Souci de vitesse de verbalisation de listes avec > synthèse vocale > > > *Bonjour la liste,* > J'interviens en ce moment sur la mise en conformité du site d'une > importante université en région rhône-alpes. > Le site a été créé en HTML 5 et CSS 3 avec la présence de quelques > scripts. > Il s'avère que des étudiants ont effectué des tests sur différentes > thématiques. L'un d'entre eux, mal-voyant, a testé le site en recette avec > une synthèse vocale (à priori Jaws). > Il a remonté un point surprenant : la vocalisation des listes de type > <ul> (et uniquement des listes) se ferait à un rythme qui rend la > compréhension du contenu impossible. > Les tests effectués avec NVDA et Jaws 12 sont pourtant concluants de > notre côté ! > L'étudiant en question étant en stage actuellement, nous ne pouvons > obtenir plus de précisions sur le test, la version utilisée de Jaws, etc. > Notre client direct attend toutefois une prise en charge de ce point. > Ma question est donc la suivante : avez-vous *déjà rencontré ce type de > retours* sur la prise en charge d'items de liste via une synthèse vocale > ? > Si c'est le cas, connaissez-vous un moyen ou une technique pour > normaliser la vocalisation sans pour autant perturber les réglages par > défaut des autres utilisateurs de dispositifs vocaux ? > Je vous remercie par avance pour vos avis éclairés ! > *Bertrand Cochet *// Webdesigner // Expert Accessiweb en Evaluation 2.0 > <http://www.acti.fr> > *bertrand cochet * > webdesigner > [email protected] > tél. : +33 4 37 37 25 10 > fax : +33 4 37 37 25 19 > *acti > *agence digitale > 289, rue garibaldi 69007 lyon > www.acti.fr > blog.acti.fr > [image: Evénement : acti, partenaire de la Conférence Mondiale du > Web 2012, offre son expertise et son réseau ! En savoir plus sur le > dispositif]<http://blog.acti.fr/actualite/references/conference-mondiale-du-web-les-off-de-www2012/> > > > _______________________________________________ > liste_gta mailing list > [email protected] > http://list.accessiweb.org/mailman/listinfo/liste_gta_list.accessiweb.org > > > > _______________________________________________ > liste_gta mailing list > [email protected] > http://list.accessiweb.org/mailman/listinfo/liste_gta_list.accessiweb.org > > > > _______________________________________________ > liste_gta mailing list > [email protected] > http://list.accessiweb.org/mailman/listinfo/liste_gta_list.accessiweb.org > > > > _______________________________________________ > liste_gta mailing list > [email protected] > http://list.accessiweb.org/mailman/listinfo/liste_gta_list.accessiweb.org > > > > _______________________________________________ > liste_gta mailing list > [email protected] > http://list.accessiweb.org/mailman/listinfo/liste_gta_list.accessiweb.org > >
_______________________________________________ liste_gta mailing list [email protected] http://list.accessiweb.org/mailman/listinfo/liste_gta_list.accessiweb.org

