4 juin 2009 SUJET N°41 : CONCEPTION DE PLUGINS DE CORRECTION DE PAGES WEB AFIN QU'ELLES RESPECTENT LES NORMES D'ACCESSIBILITÉ Encadrants : Sonia Colas, Nicolas Monmarché, Mohamed Slimane Jury 2 : Claudine Tacquard Projet de Fin d’Etudes 2008/2009 Jonathan Courtois – Equipe HaNT (LI) 1
L’accessibilité du Web ■ Rendre l’information contenue sur les sites Internet accessible pour tous ■ Sites web de communes d’Indre et Loire Introduction 2 Jonathan Courtois - Plugins d'accessibilité Haut-parleur Altec Lansing VS 2420 Tablette braille Papenmeier Braillex Duo
Plan Terminologie Présentation du projet ■ Le sujet ■ L’existant (PFE 2006/2007) Travail réalisé ■ Correction de bugs ■ Améliorations apportées ■ Plugins réalisés ■ Collaboration des PFE Tests et analyse des résultats Conclusion 3 Jonathan Courtois - Plugins d'accessibilité
Terminologie Jonathan Courtois - Plugins d'accessibilité 4 W3C : World Wide Web Consortium ■ Organisme de normalisation des technologies du web WAI : Web Accessibility Initiative (W3C) ■ A pour objectif de rendre les technologies du web accessibles aux personnes handicapées WCAG : Web Content Accessibility Guidelines (WAI) ■ Explique comment rendre des pages accessibles Directive : Une directive est un thème du WCAG 1.0 ■ Le WCAG 1.0 comporte 14 directives Spécification : Point précis d’une directive ■ 3 niveaux de priorité (A, AA et AAA) Avec WCAG 2.0 (décembre 2008) : 4 principes subdivisés en guide
Présentation du projet 5 Jonathan Courtois - Plugins d'accessibilité Le sujet L’existant (PFE 2006/2007)
Le sujet Jonathan Courtois - Plugins d'accessibilité 6
L’existant : La plateforme de traitement Jonathan Courtois - Plugins d'accessibilité 7 PFE 2006/2007 : Antoine Blais
L’existant : Les plugins implémentés Jonathan Courtois - Plugins d'accessibilité 8 Directive 5 : Créer des tableaux qui se transforment de façon élégante
L’existant : La base de tests Jonathan Courtois - Plugins d'accessibilité 9 50 sites web de communes d’Indre et Loire
Travail réalisé 10 Jonathan Courtois - Plugins d'accessibilité Correction de bugs Améliorations apportées Plugins réalisés Collaboration des PFE
Correction de bugs Jonathan Courtois - Plugins d'accessibilité 11 Affichage d’exceptions au niveau de l’interface ■ Entrée ■ Plugins Fichier de sortie toujours généré Problème d’interface
Améliorations apportées Jonathan Courtois - Plugins d'accessibilité 12 Hiérarchisation des différents plugins ■ WCAG 1.0 : 65 spécifications ■ Ajout de la classe catégorie Avant : Utilisation d’une jListAprès : Utilisation d’un jTree
Améliorations apportées 13 Hiérarchisation des différents plugins ■ Algorithme récursif de parcours de l’arbre ■ Multi-sélection
Améliorations apportées Jonathan Courtois - Plugins d'accessibilité 14 Gestion multilangues ■ Classe Configuration ■ Classe Language (fichiers.properties)
Améliorations apportées Jonathan Courtois - Plugins d'accessibilité 15 Plugins existants ■ Intégration des images Gestion des chemins relatifs ■ Possibilité d’arrêter le traitement en mode manuel Clic sur la croix rouge Changement dynamique du mode d’utilisation Fin du traitement en mode automatique
Plugins réalisés : Directive 1 Jonathan Courtois - Plugins d'accessibilité 16 Spécification 1.1 : Fournir un équivalent textuel à chaque élément non-textuel ■ Image ■ Input type « image » ■ Applet ■ Area ■ Embed ■ Button
Plugins réalisés : Directive 1 Jonathan Courtois - Plugins d'accessibilité 17 Image / Input type « image »
Plugins réalisés : Directive 1 18 Area
Plugins réalisés : Directive 1 Jonathan Courtois - Plugins d'accessibilité 19 Applet Embed Button
Plugins réalisés : Directive 3 20 Spécification 3.2 : Problèmes de DOCTYPE 1.Ne pas avoir de DOCTYPE 2.Avoir plusieurs DOCTYPES dans le même document 3.Avoir un DOCTYPE incorrect -> non réalisé
Plugins réalisés : Directive 3 21 Spécification 3.3 : Utiliser des feuilles de style pour contrôler la mise en page et la présentation ■ Style « font-weight : bold » plutôt que « »
Plugins réalisés : Directive 3 22 Spécification 3.5 : Utiliser les éléments d’en-tête pour la structure du document de façon conforme ■ L’imbrication des en-têtes Jonathan Courtois - Plugins d'accessibilité
Plugins réalisés : Directive 3 Jonathan Courtois - Plugins d'accessibilité 23 Spécification 3.5 : évolutions futures ■ Vérifier qu’il n’y a pas d’éléments de titres dans la page ayant un niveau plus élevé que le premier titre Déjà implémenté, réfléchir aux solutions envisageables ■ Remplacer les styles/balises au profit des en-têtes Se baser sur la longueur du texte (inférieure à 10 mots) ■ Ne pas utiliser des en-têtes pour mettre en évidence du texte Se baser sur la longueur du texte (supérieure à 10 mots) Source : aPrompt
Collaboration des PFE Jonathan Courtois - Plugins d'accessibilité 24
Collaboration des PFE Jonathan Courtois - Plugins d'accessibilité 25 Intégration à la spécification 1.1
Tests et analyse des résultats 26 Jonathan Courtois - Plugins d'accessibilité Nouvelle base de tests Validateur et parseur Directive 1 Directive 3
Tests : Base de 30 sites web récents Jonathan Courtois - Plugins d'accessibilité 27 Sites web de communes d’Indre et Loire Pages web pas adaptées aux nouvelles technologies (web 2.0) Nouvelle base de tests ■ Journal, achat en ligne, services ■ Cinéma, banque, informatique ■ Vidéo en ligne, école, sport
Tests : Validateurs & parseur Jonathan Courtois - Plugins d'accessibilité 28 EvalAccess (Laboratorio de Interacción Persona-Computador para Necesidades Especiales) ■ Test des pages en ligne et de pages HTML locales ■ Gratuit ■ WCAG 1.0 uniquement ■ Pas de statistiques par directive Création d’un parseur pour obtenir des statistiques
Tests : Base de 30 sites web récents Jonathan Courtois - Plugins d'accessibilité 29 javascript target tableau Erreurs et warnings par directive
Tests : Directive 1 30 Pages en sortie ■ Pas de modification visuelle (ajout d’informations)
Tests : Directive 3 Jonathan Courtois - Plugins d'accessibilité 31 Balises de titres systématiquement détectées par le validateur (warning) Responsabilité du webmaster de vérifier la validité de l’utilisation de ses balises Tests non significatifs par rapport à la directive 1
Conclusion 32 Jonathan Courtois - Plugins d'accessibilité Manuels et documentations Évolutions futures
Questions 33 Jonathan Courtois - Plugins d'accessibilité