Appréciation générale
Niveau d’accessibilité global pour les critères testés : moyen.
(Échelle : très faible, faible, moyen, bon, très bon)
Avertissement
Attention, l’audit effectué est un audit simplifié et non un audit de conformité (ou audit "complet"). Il a vocation à détecter une série de problèmes d’accessibilité mais n'est pas exhaustif. Le fait qu’aucun problème ne soit remonté pour un critère d'accessibilité donné ne signifie pas qu’il n’y a pas de problème d’accessibilité pour ce critère. De même, lorsque nous rapportons une occurrence d’un problème, ce problème peut avoir d’autres occurrences. Il est nécessaire de vérifier de manière exhaustive l’accessibilité de ce site conformément au référentiel RGAA.
Échantillon de pages et référentiel
Voici les pages qui ont été évaluées lors de cet audit :
- Page P01 : Accueil - Administration communale de Kehlen
- Page P02 : Déchets et Poubelles - Administration communale de Kehlen
- Page P03 : Kielen Februar 2022 - Administration communale de Kehlen
Méthode d'évaluation : Méthode de contrôle simplifiée de l’accessibilité pour le Luxembourg – v1.2
Référentiel : RGAA v4.1
Déclaration sur l'accessibilité
Le site ne comporte pas de déclaration sur l'accessibilité. Celle-ci est obligatoire d'après l'article 5 de la loi du 28 mai 2019. Cette déclaration s'effectue après avoir réalisé un audit de conformité basé sur le RGAA. Pour créer une déclaration sur base des résultats d'un audit de conformité, le formulaire disponible à cet effet sur accessibilite.lu peut être utilisé. Une fois la déclaration d'accessibilité publiée, l'éditeur du site a 30 jours pour en informer le SIP par mail à l'adresse accessibilite@sip.etat.lu.
Documents bureautiques en téléchargement
L'accessibilité d'un échantillon de 1201 fichiers bureautiques en téléchargement sur le site considéré a été analysée. Le niveau d'accessibilité global présenté dans la section "Appréciation générale", doit être nuancé au vu des points suivants :
Un nombre important de contenus dérogés impacte la pertinence des résultats de l'audit (la liste des dérogations prévues par la loi est disponible sur la page "obligations" du site accessibilite.lu). Le site contient un grand nombre de contenus dérogés. En effet, un nombre important de fichiers PDF a été publié avant le 23 septembre 2018 (soit 115 fichiers). Bien que ces fichiers soient exemptés d'obligation de mise en accessibilité par la loi du 28 mai 2019, il est recommandé de les rendre accessibles, sans quoi une part importante du contenu mis à disposition sur ce site ne pourra être consulté par les personnes en situation de handicap.
Une quantité importante de documents bureautiques en téléchargement a été détectée, ce qui peut avoir un impact négatif sur l'accessibilité globale de ce site. Sur l'échantillon de fichiers analysé, 100 % sont des documents PDF et 10 % sont des formulaires PDF. Le format PDF est en général moins accessible que les pages Web et que les documents Office (.docx, .pptx, etc.); l'accessibilité des formulaires est particulièrement importante dans la mesure où ils sont en général nécessaires à la réalisation de procédures administratives.
Sur les fichiers PDF qui entrent dans le cadre de la loi (publication après le 23 septembre 2018) et issus de l'échantillon, 98 % ont au moins un problème d'accessibilité (ex: absence de titre, absence de langue par défaut, absence de bookmarks). Ces informations sont données à titre indicatif, car la présence d'une alternative accessible n'a pas été vérifiée dans le cadre de cet audit simplifié.
Pour information, le SIP met à disposition une liste de critères d'accessibilité pour les documents bureautiques en téléchargement. Pour chaque document bureautique en téléchargement, il est possible de le rendre accessible en respectant les critères mentionnés précédemment, ou de proposer une alternative accessible, sous la forme d'une page Web ou d'un document Office (.docx, .pptx, etc.) proposant les mêmes informations.
Annexe technique
Thématique "images"
ImagesRecommandations générales
Donner à chaque image porteuse d’information une alternative textuelle pertinente et une description détaillée si nécessaire. Lier les légendes à leurs images. Remplacer les images textes par du texte stylé lorsque c’est possible. Pour trouver la bonne alternative textuelle pour une image donnée, vous pouvez vous aider de l’arbre de décision proposé par la WAI.
Cas rencontré : images de décoration
Les images de décoration ne doivent pas avoir d’alternative textuelle et doivent être ignorées correctement par les technologies d’assistance. Dans le cas contraire, elles peuvent causer des problèmes de compréhension aux utilisateurs de lecteurs d’écran (aveugles et grands malvoyants). Pour une image bitmap, son attribut alt
doit être vide. Pour une image vectorielle SVG, celle-ci doit avoir l’attribut aria-hidden="true"
.
Exemple de problème détecté sur la page P01
Exemple : le blason de la commune devrait bénéficier d'un alt
vide plutôt que "blason-kehlen".
Thématique "couleurs"
CouleursRecommandations générales
Ne pas donner l’information uniquement par la couleur et utiliser des contrastes de couleurs suffisamment élevés pour les textes, les composants d’interface ou les éléments porteurs d’informations.
Cas rencontré : informations données uniquement par la couleur
Ce type d’information est un problème pour les personnes déficientes visuelles, aveugles ou par exemple les personnes qui ne voient pas certaines couleurs ou ne perçoivent simplement pas les couleurs. Pour chaque information véhiculée par la couleur, il est nécessaire de mettre en place une alternative, comme par exemple un changement de style (graisse du texte, taille du texte, soulignement, etc.)
Exemple de problème détecté sur la page P01
Lorsqu'un élément de sous-menu est sélectionné, le menu apparaît dans une autre couleur, mais sans aucune autre indication visuelle. Pas d'attribut aria-current
.
Cas rencontré : contrastes des textes
Les contrastes de couleurs sont importants pour plusieurs types de déficiences visuelles comme celles des grands malvoyants ou des personnes ayant des problèmes de perception des couleurs. Les contrastes minimaux d’un texte sur le fond de page sont définis par le RGAA comme suit :
- Pour un texte sans effet de graisse
- De taille inférieure à 24 px : le contraste minimum est de 4.5:1 ;
- De taille supérieure ou égale à 24 px : le contraste minimum est de 3:1.
- Pour un texte en gras
- De taille inférieure à 18.5 px : le contraste minimum est de 4.5:1 ;
- De taille supérieure à 18.5 px : le contraste minimum est de 3:1.
Pour vérifier les contrastes, on peut utiliser un outil tel que « Colour Contrast Analyser ». Si les problèmes de contraste ne peuvent être résolus simplement, il est aussi possible d’utiliser un « style switcher ». C’est une fonctionnalité proposée par le site qui permet de renforcer les contrastes pour les personnes qui ont des problèmes avec les couleurs. Un exemple de « style switcher » est disponible sur le site sncf.com, dans son menu « Accessibilité ».
Exemple de problème détecté sur la page P01
Certains textes sur cette page n’ont pas un contraste suffisant (p. ex. les titres "Les actualités" ou "Agenda" (2.52:1 contre 3:1 attendu au minimum), "Voir le détail" (2.82:1 contre 4.5:1 attendu)).
Thématique "tableaux"
TableauxRecommandations générales
Associer correctement les tableaux de données à leur titre, donner à chaque tableau de données complexe, un résumé, identifier clairement les cellules d’en-tête, utiliser un mécanisme pertinent pour lier les cellules de données aux cellules d’en-tête. Pour chaque tableau de mise en forme, veiller à sa bonne linéarisation.
Cas rencontré : déclaration des entêtes et liaison des cellules d’entêtes et de données
Les utilisateurs de lecteurs d’écran ou de loupe d’écran vocalisée ne peuvent percevoir un tableau dans son ensemble. Il est donc important de leur communiquer des informations de contexte sur chaque cellule, notamment à quelles entêtes chaque cellule est reliée. Ces informations peuvent être données via des structures HTML dédiées. Les entêtes de colonnes et de lignes doivent notamment être déclarées via la balise <th>
.
Dans un tableau de données simple, où chaque entête est valable pour l’ensemble de la ligne ou de la colonne, la relation entre les cellules et les entêtes doit être définie en appliquant un attribut scope="col"
à toutes les entêtes de colonnes et scope="row"
à toutes les entêtes de lignes.
Dans un tableau de données complexe, chaque entête doit avoir un identifiant déclaré via l’attribut id
et chaque cellule doit faire référence à ces entêtes via l’attribut headers
(liste d’identifiants séparés par des espaces).
Exemple de problème détecté sur la page P02
Dans le deuxième tableau, l'entête de colonne "poubelles" a pour portée la ligne.
Thématique "scripts"
ScriptsRecommandations générales
Donner si nécessaire à chaque script une alternative pertinente. Avertir ou permettre le contrôle des scripts qui initient un changement de contexte. Rendre possible le contrôle de chaque code script au moins par le clavier et par tout dispositif de pointage et s’assurer de leur compatibilité avec les technologies d’assistance notamment pour les messages de statut.
Cas rencontré : éléments interactifs inaccessibles au clavier
Les composants riches développés en JavaScript doivent respecter des modèles de conception spécifiques pour pouvoir être considérés comme accessibles (modèles de conception décrits dans le document « WAI-ARIA Authoring practices »). Sans cela le composant ne sera pas correctement restitué aux utilisateurs de lecteurs d’écran qui ne sauront pas comment l’utiliser. Ces composants doivent notamment utiliser des interactions au clavier spécifiques, sans lesquelles ils seront inutilisables pour les utilisateurs de la navigation au clavier.
Exemple de problème détecté sur la page P01
Les sous-menus ne peuvent être cachés grâce à la touche d'échappement.
Thématique "éléments obligatoires"
Éléments obligatoiresRecommandations générales
Vérifier que dans chaque page Web, le code source généré respecte les règles d’écriture correspondant au type de document, que le titre est pertinent et la langue par défaut, indiquée. Vérifier que les balises ne sont pas utilisées uniquement à des fins de présentation, que les changements de langues et de direction de sens de lecture sont indiqués.
Cas rencontré : validité du code source de la page
Les lecteurs d’écran s’appuient sur la sémantique des balises HTML pour restituer le contenu et naviguer, si la syntaxe HTML n’est pas respectée ou si les balises sont détournées, cela peut avoir un impact sur la navigation qui peut devenir inopérante et la restitution qui peut devenir incompréhensible. Pour vérifier la validité de la syntaxe HTML, on peut utiliser le validateur HTML du W3C avec le bookmarklet « WCAG 2.1 parsing error ». Ce bookmarklet filtre les résultats et ne montre que les erreurs ayant un impact sur l’accessibilité.
Exemple de problème détecté sur la page P01
Vérifier que les éléments avec un rôle ARIA comportent aussi des rôles pour les descendants directs
Documentation : https://dequeuniversity.com/rules/axe/4.3/aria-required-children?application=webdriverjs&lang=fr
Occurrences :
-
Corriger l’un des éléments suivants : Le descendant ARIA requis est manquant :
tab
(Ex :.nav-tabs
)Vérifier que les éléments avec un rôle ARIA requérant des rôles parents y sont contenus
Documentation : https://dequeuniversity.com/rules/axe/4.3/aria-required-parent?application=webdriverjs&lang=fr
Occurrences :
-
Corriger l’un des éléments suivants : Le rôle parent ARIA requis est manquant :
tablist
(Ex :a[href$="\#media-54"]
)Vérifier que les listes sont structurées correctement
Documentation : https://dequeuniversity.com/rules/axe/4.3/list?application=webdriverjs&lang=fr
Occurrences :
-
Corriger tous les éléments suivants : L’élément de liste comporte des descendants directs qui ne sont pas autorisés à l’intérieur de l’élément
<li>
(Ex :.breadcrumb
)Vérifier que les éléments <li> sont utilisés sémantiquement
Documentation : https://dequeuniversity.com/rules/axe/4.3/listitem?application=webdriverjs&lang=fr
Occurrences :
-
Corriger l’un des éléments suivants : L’item de liste n’a pas d’élément
<ul>
ou<ol>
parent sans un role ou un role="list" (Ex :.nav-item.active
,.nav-item:nth-child(2)
)Vérifiez que le code html de la page est valide
Validateur : https://validator.w3.org/nu/
Occurrences :
- L'élément "marquee" n'est pas autorisé comme enfant de l'élément "div".
- Balise de fin non trouvée "span".
- L'élément "span" n'est pas autorisé comme enfant de l'élément "ol".
Cas rencontré : indication de langue
Les lecteurs d’écran utilisent les indications de langue pour vocaliser correctement le contenu. La langue principale de la page est spécifiée via l’attribut lang
sur l’élément <html>
. Lorsqu’un mot d’origine étrangère est inséré dans du contenu écrit dans la langue principale de la page, il doit posséder si nécessaire une indication de langue. L’indication de langue se fait par l’intermédiaire de l’attribut lang
.
Il existe néanmoins des exceptions :
- Lorsqu’il s’agit d’un nom, l’indication de langue doit être faite uniquement quand le nom doit se prononcer dans sa langue d’origine ;
- Lorsqu’il s’agit d’un mot d’origine étrangère, présent dans le dictionnaire de la langue principale de la page, l’indication de langue n’est pas nécessaire ;
- Lorsqu’il s’agit d’un mot d’origine étrangère d’usage courant, mais absent du dictionnaire, l’indication de langue doit être faite uniquement si la prononciation dans la langue principale de la page est problématique.
Exemple de problème détecté sur la page P01
Cette page contient des textes en d’autres langues non marqués par un changement de langue (p. ex. "powered by", "D'Gemeng Kielen an Ärer Hand", "Report it", "Entdeckt eis Spillplazen zu Kielen").
Thématique "structuration de l'information"
Structuration de l'informationCas rencontré : titres
Les titres permettent aux utilisateurs de comprendre la structure du document. Ils permettent aussi aux utilisateurs aveugles, malvoyants et handicapés moteurs de naviguer de titre en titre dans la page. Il est donc important d’avoir une bonne hiérarchie de titres dans une page. Cette hiérarchie est similaire à un sommaire de document. La vérification de la hiérarchie de titres peut se faire via l’extension de navigateur HeadingsMap.
Exemple de problème détecté sur la page P01
Le <h2> "Report it !" est parent des items "SMS 2 Citizen", "De Guichet", etc. alors qu'il s'agit d'items sans connexion.
Thématique "présentation de l'information"
Présentation de l'informationRecommandations générales
Utiliser des feuilles de styles pour présenter de l’information. S’assurer que l’information reste compréhensible lorsque les feuilles de styles sont désactivées. Vérifier l’effet de l’agrandissement à 200 % de la taille des caractères et de la redéfinition des propriétés d’espacement sur la lisibilité. S’assurer que les liens sont correctement identifiables, que la prise de focus est signalée et que l’utilisateur a le contrôle des contenus additionnels qui deviennent visibles au survol ou au focus. S’assurer que les contenus cachés sont ignorés par les technologies d’assistance et que l’information n’est pas donnée uniquement par la forme, taille ou position d’un élément.
Cas rencontré : visibilité du focus
Les handicapés moteurs qui naviguent au clavier utilisent l’indicateur de focus fourni par le site sur les éléments interactifs pour savoir où ils se situent dans la page. L’indicateur de focus se déplace via les touches tab et shift-tab. L’indicateur de focus par défaut peut être désactivé via CSS, dans ce cas il est nécessaire de changer le style de l’élément interactif pour rendre l’indicateur de focus visible (sa couleur devra avoir un contraste minimum de 3:1 avec l’arrière-plan contigu).
Exemple de problème détecté sur la page P01
Entre le dernier élément de menu (la loupe) et le carrousel juste en dessous, plus de vingt tabulations sont nécessaires avant de revenir sur un focus visible.
Thématique "formulaires"
FormulairesRecommandations générales
Pour chaque formulaire, associer chacun de ses champs à son étiquette, grouper les champs de même nature et leur donner une légende, structurer les listes de choix de manière pertinente, donner à chaque bouton un intitulé explicite. Vérifier la présence de suggestions lors des erreurs de saisie, s’assurer que le contrôle de saisie est accessible, que la finalité des champs peut être déduite et que l’utilisateur peut garder le contrôle sur ses données à caractère financier, juridique ou personnel.
Cas rencontré : identification des champs, des contrôles et des regroupements de formulaires
L’identification de ces éléments fournit aux aveugles et grands malvoyants les informations nécessaires pour pouvoir remplir un formulaire. Les handicapés moteurs utilisant un système de reconnaissance vocale s’appuient aussi sur ces éléments pour se déplacer dans les différents champs et actionner les boutons. Pour associer une étiquette (<label>
) à un champ de formulaire on peut utiliser l’attribut for
de l’étiquette dont la valeur doit être identique à celle de l’attribut id
du champ. Les champs de même nature doivent être regroupés, cela peut être réalisé via l’élément <fieldset>
auquel on doit fournir une légende via l’élément <legend>
.
Exemple de problème détecté sur la page P02
Les champs de formulaire pour le nom et le prénom n'ont pas d'étiquette.
Cas rencontré : contrôle et aide à la saisie
Que ce soit pour les handicapés cognitifs ou pour les aveugles et déficients visuels, il est nécessaire d’expliciter les formats de données attendus dans les consignes et les messages d’erreur, ainsi que le caractère obligatoire de la saisie de certains champs.
Exemple de problème détecté sur la page P02
Le type de données attendu dans le champ « e-mail » n'est pas précisé, et cela ni dans l'étiquette, ni dans le message d'erreur. Il est nécessaire de donner un exemple.
Thématique "navigation"
NavigationRecommandations générales
Proposer au moins deux systèmes de navigation différents dans un ensemble de pages (menu de navigation, plan du site ou moteur de recherche). Donner la possibilité d’éviter ou d’atteindre les principaux regroupements de contenus en particulier la zone de contenu principale via un lien d’évitement ou d’accès rapide. S’assurer que l’ordre de tabulation est cohérent et que la page ne comporte pas de piège au clavier. S’assurer que les raccourcis clavier n’utilisant qu’une seule touche sont contrôlables par l’utilisateur.
Cas rencontré : landmarks ARIA
Les utilisateurs aveugles utilisent pour naviguer rapidement dans une page des points de repères ou landmarks. Ceux-ci définissent les principales zones de la page comme l’entête, le menu de navigation, la zone de contenu principale, le pied de page, le moteur de recherche. Chacune de ces zones doit avoir un attribut role
dont la valeur correspond au type de zone :
role=banner
pour l’entête,role=navigation
pour le menu de navigation,role=main
pour la zone de contenu principale,role=contentinfo
pour le pied de page,role=search
pour le moteur de recherche.
Exemple de problème détecté sur la page P01
Aucun rôle défini.
Cas rencontré : liens d’accès rapide
Les liens d’accès rapide sont des liens présents en début de page et permettent aux utilisateurs qui naviguent au clavier et aux utilisateurs malvoyants qui utilisent une loupe d’écran d’éviter des zones de contenus redondants comme l’entête et la navigation. Il est indispensable d’avoir au moins un lien d’accès rapide vers la zone de contenu principale (<main>
). Ces liens peuvent être positionnés hors écran et apparaître à la prise de focus.
Exemple de problème détecté sur la page P01
Le lien "Aller au sitemap" ne mène nulle part (https://site-sitemap/).
Cas rencontré : ordre de tabulation
L’ordre de tabulation, c’est-à-dire l’ordre dans lequel le focus se déplace lorsqu’on utilise les touches tab et shift-tab doit être cohérent. Si l’ordre de tabulation est incohérent, les aveugles, les déficients visuels, les handicapés moteurs et handicapés cognitifs auront de grandes difficultés à naviguer dans la page.
Exemple de problème détecté sur la page P03
Sur cette page, chaque élément sous la rubrique "Médias similaires" renvoie, via la touche de tabulation, au sommaire de page, avant de poursuivre par l'élément suivant. Cette navigation peut être déconcertante.
Thématique "consultation"
ConsultationRecommandations générales
S’assurer que l’utilisateur a le contrôle des actions imposées après un certain délai notamment les procédés de rafraîchissement. Donner la possibilité de contrôler les changements brusques de luminosité, les ouvertures de nouvelles fenêtres et les contenus en mouvement ou clignotants. S’assurer que les expressions inhabituelles et le jargon sont explicités. Proposer des versions accessibles des documents en téléchargement ou les rendre accessibles. S’assurer que le contenu puisse être consulté quelle que soit l’orientation de l’écran et au moyen de gestes simples. Permettre d’annuler les actions déclenchées par un mouvement et d’accéder aux mêmes fonctionnalités par une alternative, sans mouvement.
Cas rencontré : contenus en mouvement ou clignotants
Ces contenus posent problème aux utilisateurs avec des difficultés de lecture ou des troubles de l’attention. Les utilisateurs doivent avoir la possibilité de mettre le mouvement en pause, ou de masquer le contenu en mouvement.
Exemple de problème détecté sur la page P01
La balise <marquee>
est utilisée pour afficher une alerte info, selon un mouvement permanent qui ne peut pas être arrêté. De même, le carrousel situé juste au-dessus ne peut pas non plus être mis en pause.