Accessibilité : et si on laissait les utilisateurs personnaliser l’interface ?
Audrey Maniez, Marie Guillaumet
DevFest Brest – 28 février 2020
Slides
- Conseil, audit et formations en accessibilité numérique
- Scop : Société coopérative et participative
- Entreprise solidaire d’utilité sociale (ESUS)
- 11 personnes : 8 expert·es, dont 2 en situation de handicap
- Télétravail, salaire égalitaire, organisation horizontale
Marie Guillaumet
- Experte accessibilité numérique, formatrice, front-end designer
- Articles et conférences sur le design et l’accessibilité.
- Team chat.
Audrey Maniez
- Experte accessibilité numérique, formatrice, co-gérante
- Co-rédactrice du RGAA 3. Membre du groupe de travail ACT du W3C.
- Team chiens.
Pourquoi cette conférence ?
- À la découverte des handicaps cognitifs et mentaux
- L’accessibilité comme source d’innovation technologique
- Envie de proposer un sujet de niche qui nous passionne
Quelques handicaps cognitifs et mentaux
- Troubles du décodage, et troubles de l’acquisition et la manipulation du langage écrit (dyslexie…)
- Troubles de la compréhension écrite et orale (paralysie cérébrale, sclérose latérale amyotrophique, maladie de Charcot…)
- Troubles de l’attention avec ou sans hyperactivité
- Troubles de la mémoire
- Troubles de la parole (aphasie…)
- Déficiences intellectuelles (trisomie 21)
- Autisme
Exemple : l’aphasie
- Troubles du langage d’origine neurologique.
- Affecte la faculté de s’exprimer par le langage, de comprendre ce qui est dit, de lire et/ou d’écrire.
Besoins sur le web
- Adaptation des paramètres typographiques
- Compréhension des textes écrits
- Compréhension des informations sonores (vidéos…)
- Compréhension des actions attendues (formulaires, boutons)
- Réduction des surcharges d’information
Problèmes
- Complexité intrinsèque du numérique : langage, iconographie, gestes…
- Prise en compte partielle des handicaps mentaux et cognitifs dans WCAG et RGAA.
- Certains besoins utilisateurs ne sont pas encore couverts par les standards.
Ce dont on va parler
- mécanismes d’adaptation existants et leurs limites : systèmes d’exploitation, navigateurs, CSS, open source
- nouveaux critères d’accessibilité permettant aux utilisateurs de personnaliser les interfaces
1. Ce qui existe déjà (et qui est déjà bien) (mais pas suffisant)
Côté utilisateurs, deux problèmes :
- Interfaces et logiciels complexes
- Pas de technologie d’assistance pour leur donner accès
Mécanismes d’adaptation système
Loupe d’écran
Utilisée par les personnes déficientes visuelles qui ont besoin d’agrandir les textes, en permanence ou ponctuellement.
Clavier virtuel / visuel
Utilisable par des personnes ne pouvant pas se servir de leurs mains, à l’aide d’eye tracking, d’un contacteur (souffle, joystick, etc.)
Lecteurs d’écran
Utilisés par :
- les personnes aveugles (avec ou sans plage braille) ;
- des personnes très malvoyantes ;
- certaines personnes ayant des difficultés de lecture (DYS et al.).
Lecteurs d’écran natifs
- Narrateur – Windows
- VoiceOver – MacOS et iOS
- TalkBack – Android
- Orca – Linux
+ Lecteurs d’écran à installer
- NVDA, gratuit
- JAWS, payant
- Extensions plus ou moins fiables
Mécanismes d’adaptation navigateurs
Les navigateurs proposent différentes options de personnalisation de l’interface :
- couleurs
- typographie : taille, police…
⚠️ Limites : il faut savoir que ces options existent, et savoir les configurer…
Par exemple dans Firefox :
Il existe aussi des navigateurs adaptés
Par exemple : WebTrek, WWAAC, EIA, Communicate: Webwide, EdWeb, etc.
Exemples de fonctionnalités :
- Recherche avec des images
- Linéarisation des contenus
- Ajout d’icônes adaptées aux contenus web
- Lecteur d’écran intégré
- Personnalisation des boutons (image + intitulé)
Exemple : ajout d’icônes adaptées à une page web
Exemple : recherche guidée par images configurables
⚠️ Limites des navigateurs adaptés
- Peu répandus, difficiles à se procurer
- Logiciels obsolètes, payants, ou simples prototypes
- Complexité : l’aide d’un tiers peut être nécessaire à la configuration
Mécanismes d’adaptation web
CSS alternatives (alternate stylesheets)
<link rel="alternate stylesheet" href="contrastes-inverses.css" type="text/css" title="Contrastes inversés" />
⚠️ Limites des CSS alternatives
- Styles réinitialisés dès que l’utilisateur change de page
- Mauvais support : Chrome, Safari et Opera K.O.
- Ce n’est pas intuitif : réservé aux utilisateurs aguerris
CSS utilisateur (user stylesheets)
⚠️ Limites des CSS utilisateur
- Peu de support natif : Chrome et Edge K.O.
- Recours à des extensions : Stylish, etc.
- Option dans certains DevTools (Firefox)
- Modification de profil dans Firefox… 😰
Media queries (MQ)
et paramètres système
Contrastes renforcés (1)
Windows 7+
Contrastes renforcés (2)
Windows 7+
Contrastes renforcés (3)
@media screen and (-ms-high-contrast: active){
/* All high contrast styling rules */
.a42-demo-windows{
color:red;
}
}
@media screen and (-ms-high-contrast: black-on-white){
/* Rules for users using black-on-white */
}
@media screen and (-ms-high-contrast: white-on-black){
/* Rules for users using white-on-black */
}
Démo du mode contraste élevé de Windows
Si le mode contraste élevé est paramétré par l’utilisateur,
ce texte deviendra rouge.
Si le mode contraste élevé est paramétré par l’utilisateur,
ce texte sera de la couleur définie dans les paramètres.
En savoir plus : How to use -ms-high-contrast
⚠️ Limites de la MQ -ms-high-contrast
- MQ propriétaire, non standard
- Support uniquement dans Windows + Edge/Internet Explorer
- Standardisation en cours avec la MQ
light-level
dans Media Queries Level 5
Couleurs inversées
/* Demo styles */
.a42-demo-inverted *{
color: gray;
font-style: italic;
}
@media (inverted-colors: inverted){
.a42-demo-inverted * {
background: black;
color: yellow;
font-style: none;
}
}
@media (inverted-colors: none) {
.a42-demo-inverted * {
background: #eee; /* gris clair */
color: #962e3f; /* rouge */
font-style: none;
}
}
Démo dans MacOS + Safari
Préférences système > Accessibilité > Affichage > Inverser les couleurs
Si les couleurs inversées sont utilisées, ce texte devrait être bleu sur blanc (l’inverse de jaune sur noir).
Sinon, il devrait être rouge sur gris clair.
Si le texte est gris, cela indique que votre navigateur ne prend pas en charge la caractéristique média inverted-colors
.
Exemple tiré de MDN.
⚠️ Limites de la MQ inverted-colors
- Support uniquement sur Safari (faites le test)
- Définition de la MQ repoussée au niveau 5 de la spécification Media Queries, toujours en draft
Et bien d’autres MQ au support très insuffisant…
- Réduction des animations :
prefers-reduced-motion
- Réduction de la transparence :
prefers-reduced-transparency
sur iOS et MacOS - Dark mode depuis MacOS Mojave :
prefers-color-scheme: dark
En savoir plus : Operating System and Browser Accessibility Display Modes
Puisque rien n’est vraiment satisfaisant… Pourquoi ne pas créer nous-mêmes ces mécanismes d’adaptation ?
Sélecteurs de styles
Un sélecteur de styles léger et open source
qui permet aux personnes en situation de handicap d’adapter votre site à leurs besoins.
- Gains utilisateurs importants à faible coût
- Créé avec des technos standards : interopérabilité ++
- Conforme RGAA 4/WCAG 2.1
- 100% personnalisable : options, intitulés, styles
- Cookie : persistance des préférences de l’utilisateur
- Open source : on peut contribuer
À noter
- Ne se substitue pas aux réglages d’accessibilité du navigateur ou du système d’exploitation, mais les complète ou les remplace s’ils s’avèrent inefficaces
- Peut permettre d’être conforme au critère 1.4.3 Contrast (Minimum) de WCAG (technique G174)
⚠️ Limites des sélecteurs de styles
- Dépendent du bon vouloir des éditeurs de sites
- Mises à jour sporadiques
Côté utilisateurs, deux problèmes :
- Prévisibilité du dispositif d’adaptation : quelle icône ? quel intitulé ?
- Métacognition :
connaissance personnelle d'un individu sur ses capacités et ses fonctionnements cognitifs
Source : Larousse
2. Ce vers quoi on va
Prise en compte progressive des handicaps cognitifs dans les standards
Dans le RGAA
Troubles de l’attention : donner le contrôle à l’utilisateur sur les contenus en mouvement ou clignotants
Autre solution : permettre à l’utilisateur de masquer et réafficher le contenu en mouvement ou clignotant
Prévoir une alternative aux textes nécessitant un niveau de lecture plus avancé que le niveau collège
Expliciter les expressions inhabituelles ou le jargon
Handicaps concernés :
- retard mental
- troubles du langage
- handicaps cognitifs (dyslexie…)
- personnes sourdes signantes
Prévoir une alternative aux textes nécessitant un niveau de lecture plus avancé que le niveau collège
Solutions
- Version en Langue des signes (LSF)
- Version vocalisée
- Présence d’illustrations ou de symboles
- Un résumé adapté (FALC)
Expliciter les expressions inhabituelles ou le jargon
Solutions
Donner une définition du terme inhabituel :
- Dans la page
- Glossaire
- Liste de définitions
Dans WCAG 2.1
Publication en juin 2018
17 nouveaux critères dont 2 dédiés aux handicaps cognitifs :
- Des finalités identiques : identifier « programmatiquement » la fonction des composants d’interface (propriétés, valeurs).
- Mais des portées différentes.
Contrôles de formulaires
Indiquer dans le code la nature de la saisie attendue quand le champ attend une donnée personnelle de l’utilisateur
Composants d’interfaces, icônes et éléments de structure
Décrire dans le code les composants d’interface (lien, bouton…), les icônes et les régions
COGA
Cognitive and Learning Disabilities Accessibility
Task force du groupe de travail WCAG du W3C
- Personalization Semantics Content Module 1.0
- Ensemble normé de propriétés et valeurs
- Préfixe HTML5
data-
.
Pourquoi et comment identifier les composants d’interface ?
Objectif nº1 : adapter les interfaces aux capacités langagières de chacun (2)
Troubles du langage :
Problèmes liés au décodage et/ou à la compréhension des messages écrits ou oraux.
Impacts sur le web :
- Consultation : compréhension des textes et du concept de certaines icônes
- Navigation : compréhension des intitulés de liens
- Participation : compréhension des consignes de formulaire
Les systèmes de communication alternatifs : Communication Alternative Améliorée (CAA)
Communication non verbale qui soutient la production et la compréhension du langage.
- Sans assistance : langue des signes, expressions, vocalisations, gestes…
- Avec assistance : supporté par un matériel
La langue idéographique BLISS
Librairies de symboles
Objectif pour les utilisateurs : pouvoir utiliser la langue de la vie quotidienne sur le web
Recevoir l’information dans les modalités adaptées à ses besoins et ses préférences : vocalisé, texte, graphique, symbolique…
Impacts sur le dev : Ajouter de la sémantique
Identifier les composants d’interface dans le code va permettre à des logiciels adaptés de remplacer/compléter :
- un texte par une icône ;
- une icône par une autre plus compréhensible par l’utilisateur.
Décrire les actions des boutons, les données des champs de formulaires
<button data-purpose="settings">Paramètres d'accessibilité</button>
Associer un symbole/une image
Décrire des destinations pour des liens
<a href="index.html" data-destination="home"> Accueil</a>
Associer un symbole ou une image, un raccourci clavier
Décrire les concepts
<span data-symbol="13621 12324 17511">Tasse de thé</span>
Codes BLISS
Associer un symbole ou une image aux textes complexes ou aux iconographies
Objectif nº2 : aider à la concentration et à la prise de décision
Troubles de l'attention :
Hypersensibilité à la distraction, à la surcharge d'information
Impacts sur le web :
- Consultation : se concentrer sur un contenu entourés d'éléments distrayants
- Prise de décision : faire un choix parmi une liste de nombreux liens (résultats de recherche)
- Participation : remplir correctement un long formulaire
Objectif pour les utilisateurs : Réduire la charge cognitive
Pouvoir choisir d’afficher seulement les contenus identifiés comme essentiels par l’auteur du site pour :
- favoriser l’aboutissement d'une tâche : par exemple lire jusqu'au bout ;
- faciliter la prise de décision : par exemple réduire les choix dans une liste de liens.
Impacts sur le dev : Ajouter de la sémantique
Décrire l’importance des composants d’interface pour permettre à l’utilisateur de masquer les contenus peu importants ou distrayants grâce à un logiciel.
Décrire le niveau d’importance d’un composant
<input value="Envoyer le message" type="submit" data-simplification="critical"/>
Rendre invisible les éléments les moins importants
Décrire les composants distrayants
<iframe src="lapub.html" title="De la publicité" data-distraction="sensory offer">
Rendre invisibles les publicités, les éléments en mouvement
Réduire la charge cognitive grâce au « reader mode »
Objectif nº3 : accompagner la saisie et réduire les erreurs de saisie
Utilisateurs concernés :
- Troubles de l'attention (impulsivité)
- Troubles de la mémoire
- Difficultés d’écriture
Impacts sur le web :
- Saisir les données correctement
- Se souvenir d'informations personnelles
- Tâche longue, échouée (mauvaises données) voire abandonnée
Impacts sur le dev : Ajouter de la sémantique
Identifier les données attendues pour permettre à l’utilisateur de remplir automatiquement ses données personnelles dans un formulaire grâce à un logiciel ou à un programme.
Décrire la nature des saisies attendues des champs de formulaire
<label for="youremail">Adresse email</label>
<input type="email" id="youremail" autocomplete="email" data-purpose="email" />
Associer un symbole/une image, permettre l’autocomplétion
Démonstration : formulaire 👀
Avec Chrome ou Firefox + extension Aufofill Forms
Quelle transposition dans le RGAA 4 ?
Seul le critère WCAG 2.1 Input purpose a été transposé :
« La finalité d’un champ de saisie peut-elle être déduite pour faciliter le remplissage automatique des champs avec les données de l’utilisateur ? »
⚠️ Mais pas de transposition du critère AAA sur l’identification de tous les composants d’interface, car tous les critères AAA ont été supprimés du référentiel…
Conclusion
Concevoir et développer des interfaces flexibles
Les normes impulsent les technologies du futur
Merci de votre attention !
- Suivez-nous sur LinkedIn : Access42
Slides : a42.fr/devfestbrest
- Script de support de présentation AccesSlide développé par Access42 sous licence GPL.
- Icônes par Arthur Shlain, Made by Made pour the Noun Project.