Expiration de session : la barrière d'accessibilité oubliée
En Bref : L'essentiel à retenir
- Un formulaire ou un compte qui expire trop vite exclut les personnes lentes, motrices, cognitives et les utilisateurs de lecteurs d'écran.
- Le critère RGAA 13.1 et le WCAG 2.2.1 imposent de pouvoir prolonger, désactiver ou ajuster toute limite de temps.
- Bonne pratique : avertir au moins 2 minutes avant, permettre de prolonger en un clic, et préserver les données saisies.
- Les exceptions légitimes existent (sécurité bancaire, billetterie en direct), mais elles n'autorisent pas à perdre le travail de l'utilisateur.
- Cette limite de temps se teste à la main : un scan automatique ne la détecte pas seul.
Vous remplissez un long formulaire administratif, vous cherchez une pièce justificative, et au retour : session expirée, tout est à refaire. Pour beaucoup, c'est agaçant. Pour une personne qui saisit lentement, qui utilise un lecteur d'écran ou qui a un trouble de l'attention, c'est un mur. Cet article explique pourquoi les délais d'expiration sont une barrière d'accessibilité, ce qu'exigent le RGAA et les WCAG, et comment concevoir des limites de temps qui n'excluent personne.
Pourquoi un délai d'expiration exclut une partie des utilisateurs
Une limite de temps part d'une hypothèse : tout le monde avance au même rythme. C'est faux. Plusieurs profils ont besoin de plus de temps pour la même tâche.
- Handicaps moteurs : tremblements, coordination difficile, technologies d'adaptation qui demandent plusieurs tentatives pour enregistrer une saisie. Un formulaire chronométré peut effacer des heures de travail.
- Handicaps cognitifs : avec un TDAH ou un trouble de l'attention, la perception du temps est altérée (on parle de « cécité temporelle »). Un site qui suppose que l'utilisateur estime le temps restant exclut silencieusement ces personnes.
- Utilisateurs de lecteurs d'écran : la lecture séquentielle prend plus de temps, et un minuteur qui annonce le compte à rebours chaque seconde devient un flux de messages ininterrompu, décrit comme « horrible » par les personnes concernées.
Ce constat est documenté en détail par Smashing Magazine, qui recense ces retours d'utilisateurs et de spécialistes.
Ce qu'exigent le RGAA 13.1 et les WCAG
Côté français, le critère RGAA 13.1 demande que, pour chaque page, l'utilisateur garde le contrôle de toute limite de temps qui modifie ou supprime du contenu (hors cas particuliers). La version en vigueur reste le RGAA 4.1.2 (avril 2023).
Ce critère s'aligne sur trois exigences WCAG. Voici comment elles s'articulent.
| Critère WCAG | Niveau | Ce qu'il impose |
|---|---|---|
| 2.2.1 Délai modifiable | AA | Désactiver, ajuster ou prolonger la limite avant qu'elle n'expire |
| 2.2.5 Réauthentification | AA | Après reconnexion, l'utilisateur retrouve ses données sans perte |
| 2.2.6 Délais d'expiration | AAA | Avertir de la durée d'inactivité avant toute perte de données |
L'essentiel tient dans le 2.2.1 (niveau AA) : une limite de temps n'est acceptable que si l'utilisateur peut la maîtriser. Avertir, puis laisser au moins 20 secondes pour prolonger d'un geste simple, est le minimum.
Concevoir une expiration de session accessible
Le bon réflexe n'est pas de supprimer toute limite, mais de rendre la main à l'utilisateur. Cinq règles concrètes.
- Avertir avant, pas après. Affichez un dialogue « Avez-vous besoin de plus de temps ? » avant l'expiration. Plusieurs services publics avertissent au moins 2 minutes à l'avance.
- Permettre de prolonger en un clic. Un seul bouton « Rester connecté » qui réarme le compteur, sans reprendre tout le parcours.
- Préserver les données saisies. Sauvegardez côté client (
localStorage,sessionStorage) ou serveur, pour restaurer le formulaire après une éventuelle reconnexion. - Annoncer la limite dès le départ. Indiquez clairement, en début de parcours, qu'une limite de temps existe et laquelle.
- Bannir les délais arbitraires. Ne chronométrez pas la lecture d'un article ou la navigation. Réservez les limites aux cas qui le justifient vraiment.
Attention
Le dialogue d'avertissement doit lui-même être accessible : focus déplacé vers la fenêtre, message annoncé aux lecteurs d'écran (via une région live), et action de prolongation atteignable au clavier. Un avertissement que l'utilisateur ne perçoit pas ne sert à rien.
Les exceptions légitimes (et leurs limites)
Toutes les limites de temps ne sont pas à supprimer. WCAG prévoit des exceptions quand le délai est essentiel :
- Sécurité : une session bancaire ou un espace de santé qui se ferme après inactivité protège l'utilisateur sur un poste partagé.
- Temps réel : une billetterie en direct ou une enchère impose un délai par nature.
- Postes partagés : un ordinateur en bibliothèque a besoin de se déconnecter.
Ces cas sont recevables, mais ils ne dispensent pas de prévenir l'utilisateur, ni de préserver ce qui peut l'être. Une session bancaire peut expirer pour la sécurité tout en restaurant le formulaire en cours après reconnexion. L'exception porte sur la déconnexion, pas sur le droit de faire perdre le travail.
Pourquoi ce critère se teste à la main
C'est un point d'honnêteté important. Une limite de temps est un comportement temporel : un scanner automatique ne sait pas, seul, mesurer si vous avertissez à temps, si la prolongation fonctionne au clavier, ou si les données sont préservées. Le RGAA 13.1 relève d'une vérification largement manuelle.
Un audit automatique repère les blocages techniques évidents et priorise le travail, mais il ne remplace pas un test de parcours réel, idéalement avec des personnes qui prennent plus de temps. C'est la même logique que pour les CAPTCHA accessibles, autre point de friction des parcours authentifiés.
Conclusion
Une expiration de session mal pensée transforme une simple formalité en parcours du combattant pour ceux qui avancent à un autre rythme. La règle est simple : avertir, laisser prolonger, ne rien faire perdre. Intégrez-la dès la conception de vos formulaires accessibles, surtout sur les parcours critiques (compte, paiement, démarche administrative).
Pour situer ce point parmi vos autres critères, lancez un audit RGAA gratuit et repérez vos blocages prioritaires, avant de compléter par un test manuel des limites de temps.
Questions fréquentes
Quel critère RGAA s'applique aux délais d'expiration de session ?
Le critère RGAA 13.1 impose que l'utilisateur garde le contrôle de toute limite de temps qui modifie ou supprime du contenu. Il correspond au critère WCAG 2.2.1 (Délai modifiable, niveau AA). L'utilisateur doit pouvoir désactiver, ajuster ou prolonger la limite.
Combien de temps avant l'expiration faut-il prévenir l'utilisateur ?
WCAG 2.2.1 demande d'avertir avant l'expiration et de laisser au moins 20 secondes pour réagir et prolonger d'un geste simple. En pratique, plusieurs services publics avertissent au moins 2 minutes à l'avance, ce qui laisse une marge confortable aux personnes qui ont besoin de plus de temps.
Peut-on garder une expiration de session pour des raisons de sécurité ?
Oui. WCAG prévoit une exception lorsque la limite de temps est essentielle, par exemple pour la sécurité d'une session bancaire ou une billetterie en direct. Mais l'exception ne dispense pas de prévenir l'utilisateur ni, quand c'est possible, de préserver les données saisies pour éviter de tout recommencer.
Guides RGAA associés
Pour aller plus loin sur les sujets abordés dans cet article, consultez nos fiches techniques :
Chaque champ de formulaire doit avoir une étiquette (label) qui lui est liée explicitement.
L'intitulé de chaque lien doit permettre de comprendre sa destination ou sa fonction, soit par l'intitulé seul, soit par l'intitulé complété par son contexte (phrase, titre de section, item de liste ou cellule de tableau).
Chaque image porteuse d'information doit avoir une alternative textuelle pertinente via l'attribut alt. Les images décoratives doivent avoir un attribut alt vide.
Articles similaires
Votre site est-il conforme ?
Ne prenez pas de risques avec l'accessibilité. Lancez un audit complet de votre site en quelques minutes et obtenez un rapport détaillé des corrections à apporter.