Ajax et Accessibilite

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    2 Favorites

    Ajax et Accessibilite - Presentation Transcript

    1. Ajax et Accessibilité
    2. Présentation
      • Michel HOĂ‹L :
        • Responsable Technique d'Urbilog
      • En 2001, crĂ©ation d'Ocawa : Outil de validation automatique de "règles d'accessibilitĂ©" pour France TĂ©lĂ©com.
        • Les règles sont externes et rattachĂ©es Ă  un RĂ©fĂ©renciel (WCAG 1.0, DGME/ADAE,... et bientĂ´t RGAA).
    3. Préalable
      • Ce dont je vais vous parler :
        • Savoir si on peut faire de l'Ajax accessible.
        • Si oui sous quelles conditions.
        • Peut-on espĂ©rer « industrialiser » l'utilisation de la/des technique/s.
      • Ce dont je ne parlerai pas :
        • Si Ajax est la solution du Web 2.0.
        • De la comparaison des Frameworks utilisant Ajax.
    4. Ajax
      • Asynchronous Javascript And XML.
      • En français : Javascript et XML asynchrones.
      • Attention : ce n'est pas une technique, mais plutĂ´t l'association conjointe de techniques.
    5. Ajax
      • Page « classique » :
        • Les informations sont recueillies (par le biais des formulaires, des liens, ...) <->Le serveur fournit des informations au travers une nouvelle page web.
      • Page avec Ajax :
        • L'ensemble de ces traitements sont effectuĂ©s dans la mĂŞme page et intĂ©grĂ©s Ă  l'aide du DOM de Javascript.
    6. Ajax - Bases
      • XmlHttpRequest (XHR)
        • RequĂŞte HTTP faite par le poste client en vue de recevoir un flux d'informations.
        • Sous IE 5 et 6 : ActiveX.
        • Pour les autres pouvant faire cette requĂŞte : intĂ©grĂ© Ă  Javascript.
      • Javascript
        • Elabore la requĂŞte,
        • Attend la rĂ©ponse,
        • Analyse et traite la rĂ©ponse.
    7. Ajax – Premières remarques
      • Pas d'Ajax :
      • XmlHttpRequest : ActiveX
        • Si le navigateur interdit les ActiveX.
      • Javascript
        • Si le navigateur n'interprète pas le javascript.
        • Si l'on bloque son interprĂ©tation.
    8. Ajax – Premières conclusions
      • Se poser les questions suivantes pour chaque fonction :
      • Doit-on utiliser absolument Ajax?
      • Dans l'affirmative, doit-on prĂ©voir une fonctionnalitĂ© alternative?
    9. Ajax – Le pour, le contre
      • Le pour:
        • Mise Ă  jour partielle de la page, donc:
          • Une limitation des Ă©changes avec le serveur,
          • La modification ne concerne qu'un nombre limitĂ© d'Ă©lĂ©ments dans la page.
    10. Ajax – Le pour, le contre
      • Le contre:
        • Problème pour le rĂ©fĂ©rencement,
        • Problème pour les fonctions de base d'un navigateur:
          • PrĂ©cĂ©dent, Suivant, Raffraichissement
          • La mise en Favoris.
    11. Ajax – Les choix sont faits
      • On suppose que le choix de l'utilisation des techniques Ajax est validĂ© (qu'il soit bon ou mauvais)
      • Il faut donc maintenant trouver la meilleure façon d'intĂ©grer la technique en essayant d'ĂŞtre :
        • Accessible,
        • Testable,
        • Maintenable.
    12. Mode « dégradé » et « rehaussé »
      • Graceful Degradation & Progressive Enhancement, par Tommy Olsson sur Accessites.org (Fev 2006).
      • Cet article a Ă©tĂ© traduit en français sur :
        • http://www.yoyodesign.org/doc/accessites/graceful-degradation-progressive-enhancement/
      • Il dĂ©crit deux mĂ©thodes de conception de page Web intĂ©grant la problĂ©matique de l'accessibilitĂ©.
    13. Mode « dégradé »
      • Mode dĂ©gradĂ© (« dĂ©gradation gracieuse »),
        • Une page web est d'abord fabriquĂ©e en considĂ©rant que la majoritĂ© aura les options permettant d'exĂ©cuter tout ce que l'on veut.
        • Puis complĂ©ter avec mes Ă©lĂ©ments pour permettre une meilleure accessibilitĂ© (comme le prĂ©conise souvent les WCAG), permettant ainsi de rĂ©agir en mode dĂ©gradĂ© :
          • Les Ă©lĂ©ments alternatifs (alt, title...)
          • Les balises noscript, noframe...
    14. Mode « rehaussé »
      • Mode rĂ©haussĂ©:
        • Ici la logique est inverse, on dĂ©veloppe en s'imposant d'assurer le service en concevant la structure sĂ©mantique et cela :
          • Sans javascript,
          • Sans CSS.
    15. Mode « rehaussé »
      • Mode rĂ©haussĂ© (suite) :
        • Puis on « rĂ©hausse » le rendu en ajoutant et/ou en amĂ©liorant le service en :
          • Ecrivant les feuilles de styles externes,
          • IntĂ©grant le Javascript en « non-intrusif » (un-obstructive),
    16. Mode « rehaussé »
      • Exemple : rendre accessible la notion de Popup,
        • <a href = &quot; xxxx.htm &quot; onclick=&quot;return popup(xxxx.htm);&quot;>
        • Ou mieux :
          • <a class=&quot;popup&quot; href =&quot;xxxx.htm&quot;> et dans un script :
            • var maregle = {
            •   'a.popup' : function ( element ){
            •     element. onclick = function (){
            •       return popup ( this.href ) ;
            •     }
            •   }
            • } ;
            •  
            • Behaviour. register ( maregle ) ;  
        • RĂ©fĂ©rence : Behaviour.js - version 1.1 - Copyright (c) Ben Nolan and Simon Willison sur http://www.bennolan.com
    17. Mode « rehaussé »
      • Mode rĂ©haussĂ© (suite) :
        • Maintenant en intĂ©grant les fonctions demandant des requĂŞtes XmlHttpRequest.
    18. Hijax
      • Cette façon de procĂ©der a Ă©tĂ© dĂ©crite Ă©galement par Jeremy Keith et a mĂŞme reçu un nom le « Hijax ».
      • Exemple d'application de la mĂ©thode sur
          • http://elsewhere.adactio.com/
    19. Plan de développement
      • L'idĂ©e forte est celle-ci:
        • Un plan pour l'utilisation d'Ajax au dĂ©marrage du projet.
        • Une intĂ©gration d'Ajax Ă  la fin conformĂ©ment au mode rĂ©haussĂ©:
          • HTML->CSS->Javascript->Ajax
    20. Maintenabilité d'une application Ajax
      • D'abord assurer la maintenabilitĂ© du code en assurant la sĂ©paration :
          • De la structure des informations (HTLM XHTML),
          • De la reprĂ©sentation visuelle : CSS
          • La partie dynamique : Javascript Un-obstructive.
    21. Maintenabilité d'une application Web
      • SĂ©paration HTML-CSS : beaucoup de littĂ©rature.
      • Javascript Un-Obstructive :
        • On Ă©vite l'Ă©criture des attributs HTML: onclick, onload, onsubmit....
        • On centralise le code dans des fichiers .js et intĂ©grĂ©s par balise <script>
    22. Maintenabilité d'une application Web
        • Les fonctions de traitements javascript utilisent les fonctions de base de traitement du DOM
          • getElementById,
          • getElementsByTagName,
          • ...
    23. Maintenabilité d'une application Web
      • SĂ©paration CSS-Javascript :
        • On a tendance dans les fonctions Javascript d'aller transformer le rendu en modifiant les attributs de style du DOM directement.
        • Cela peut devenir très rapidement non maintenable.
        • En modifiant seulement les attributs class ou id et en reportant le rendu Ă  effectuer dans des règles CSS, on règle le problème.
    24. Maintenabilité d'une application Ajax
      • Il faut maintenant parler de la maintenabilitĂ© des fonctions qui intègrent les informations reçues de requĂŞtes Ajax.
      • Type de rĂ©ception :
        • XML / XHTML.
        • Texte
        • JSON
      • Injection des informations : innerHTML -> non standard. (mais très efficace).
    25. Utilisation de bibliothèques Javascript
      • Prototype (version 1.6.0) :
        • Ajax prend en charge
          • l'Ă©change en fonction du navigateur utilisĂ©.
          • l'intĂ©gration de la rĂ©ponse si elle est faite en xhtml Ă  partir d'un noeud du DOM.
        • La manipulation des Array, String.. enrichi.
        • Gestion des Ă©vĂ©nements : souris, clavier...
      • Avantages :
        • RĂ©duction du code Ă  dĂ©velopper,
        • La simplification de l'Ă©criture.
    26. Utilisation de bibliothèques Javascript
      • InconvĂ©nient de Prototype:
        • La taille de la bibliothèque : 120 ko pour la version 1.6.0.
    27. Utilisation de bibliothèques Javascript
      • Solution : utiliser la version « compressĂ©e » < 25 ko
    28. Ajax et Les lecteurs d'écran
      • 2 problèmes importants sont Ă  prendre en compte
        • Comment avertir les lecteurs d'un changement dans la page.
        • A l'inverse Ă©viter d'ĂŞtre perturbĂ© par les changements cycliques et automatiques d'une zone de page.
    29. Fonctionnement des lecteurs d'écran
      • Les buts d'un lecteur d'Ă©cran:
        • Lire le contenu de la page
        • Interagir avec le contenu de la page
      • Ils font cela en prenant une « image » instantanĂ©e de la page et en la plaçant dans une zone tampon.
          • Dans Jaws, cette zone s'appelle Virtual PC.
    30. Ajax et les lecteurs d'écran
      • Quand est mise Ă  jour la zone tampon ?
        • Sur Ă©vĂ©nement clavier ou souris : zone input, lien hypertext...
      • Avec Ajax, un nouveau contenu est ajoutĂ© Ă  la suite de l'Ă©vĂ©nement 'onreadystatechange' de l'objet XMLHttpRequest et en gĂ©nĂ©ral Jaws n'est pas alertĂ©.
      • Conclusion : Une fois l'intĂ©gration du nouveau contenu, il faut s'assurer que le lecteur soit averti.
      • Seul Jaws 7.0 avec Firefox prend en charge le onreadystatechange
    31. Ajax et les lecteurs d'écran
      • La solution pour faire prendre en compte la modicafication du contenu, est de donner le focus Ă  la zone oĂą le changement a Ă©tĂ© effectuĂ©.
        • Attribut tabindex=  &quot; -1 &quot;
        • Donner le focus Ă  un lien ou un bouton de la zone.
      • Tabindex nĂ©gatif ne fonctionne pas sous Safari.
    32. Le autres problèmes d'accessibilité
      • Avec des solutions framework (Google, Yahoo, Dojo, jQuery ...):
        • MĂŞme si un jour on vous dit que les bibliothèques tiennent compte de l'accessibilitĂ©, reste Ă  vous de gĂ©rer:
          • Changement de navigation (WCAG 2.0)
          • Les problèmes liĂ©s aux mouvements, contrastes de couleur, clignotements...
          • ....
    33. Le futur
      • Le projet : ARIA
        • W3C – ARIA – Roadmap
        • http://www.w3.org/ TR/2006/WD-aria-roadmap-20060926/
        • W3C – ARIA – RĂ´les
        • http://www.w3.org/ TR/2006/WD-aria-role-20060926/
        • W3C – ARIA – Etats et PropriĂ©tĂ©s
        • http://www.w3.org/TR/2006/WD-aria-state-20060926/
      • Une intĂ©gration Ajax-ARIA semble le plus promĂ©teur.
    34. Merci
      • Des questions ?

    + mikehmikeh, 2 years ago

    custom

    3251 views, 2 favs, 2 embeds more stats

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 3251
      • 3232 on SlideShare
      • 19 from embeds
    • Comments 0
    • Favorites 2
    • Downloads 80
    Most viewed embeds
    • 12 views on http://esens.unige.ch:8080
    • 7 views on http://esens.unige.ch

    more

    All embeds
    • 12 views on http://esens.unige.ch:8080
    • 7 views on http://esens.unige.ch

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories