Les deux modales (groupes sans coordonnées, mentions légales / FAQ) portent role="dialog" et aria-modal="true" — ce qui affirme aux lecteurs d'écran que tout le reste de la page est inerte. C'était faux : aucune gestion du focus. Concrètement, à l'ouverture le focus restait derrière le voile, la tabulation ressortait sur des commandes invisibles, et la fermeture ne rendait pas le focus à son point de départ. Un utilisateur au clavier se retrouvait perdu dans une page dont on venait de lui dire qu'elle était inaccessible. Le dashboard admin faisait déjà tout cela correctement ; on porte le même traitement, factorisé en openBackdrop / closeBackdrop puisque les modales du site public sont des éléments statiques que l'on bascule, et non créés à la volée comme côté admin. Non couvert par un test : le site public n'a aucun harnais de bout en bout — les 89 parcours Playwright ne visent que l'admin. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| app.js | ||
| apple-touch-icon.png | ||
| favicon-96x96.png | ||
| favicon.ico | ||
| favicon.svg | ||
| index.html | ||
| locales.js | ||
| pure.js | ||
| site.webmanifest | ||
| styles.css | ||
| web-app-manifest-192x192.png | ||
| web-app-manifest-512x512.png | ||