Tes réglages d'affichage
Active immédiatement les paramètrès qui te rendent la lecture plus confortable. Ces réglages sont mémorisés sur ton navigateur.
Notre engagement
Humanix-Cybersecurity s'engage à rendre la plateforme Humanix Académie accessible conformément à l'article 47 de la loi n° 2005-102 du 11 février 2005 et au décret n° 2019-768 du 24 juillet 2019, en visant la conformité au RGAA 4.1 niveau AA (équivalent WCAG 2.1 AA).
La plateforme Humanix Académie n'est pas légalement tenue de cette conformité (l'obligation s'applique aux services publics et aux entreprises de plus de 250 M€ de CA), mais nous l'adoptons volontairement parce que former à la cybersécurité en excluant les personnes en situation de handicap serait incohérent avec notre mission.
État de conformité
Méthode d'évaluation
L'évaluation a été réalisée par auto-audit interne approfondi, en analysant le code et les pages selon les 13 thématiques du RGAA 4.1 :
- Images, cadres, couleurs, multimédia, tableaux, liens, scripts, éléments obligatoires, structuration de l'information, présentation de l'information, formulaires, navigation, consultation.
Tests croisés avec NVDA (Windows), VoiceOver (macOS), navigation clavier seule, et zoom 200 %.
Résultats des tests
Synthèse des points de contrôle évalués au 10/05/2026 sur les 13 thématiques du RGAA 4.1 :
| Thématique RGAA | Score | État |
|---|---|---|
| 1. Images (alt, décoratives) | 85 % | Bon - alt présent sur 99 % des images, à vérifier sur quelques modules MDX |
| 2. Cadres (iframes) | 95 % | Très bon - aucune iframe dans la plateforme |
| 3. Couleurs et contrastes | 65 % | À améliorer - 490+ usages de text-gray-500/400 sur fond clair, ratio ~3:1 sous le seuil 4.5:1 (WCAG 1.4.3) |
| 4. Multimédia (audio TTS) | 90 % | Très bon - TTS Piper sur tous scénarios, transcriptions textuelles fournies |
| 5. Tableaux (caption, scope) | 70 % | À améliorer - scope="col" présent partout, mais <caption> manquant sur ~10 tableaux admin |
| 6. Liens (nom accessible) | 88 % | Bon - aria-label sur liens icône-only, pas de 'cliquez ici' |
| 7. Scripts ARIA (modales, dropdowns) | 92 % | Très bon - aria-expanded/controls présents, focus trap modales |
| 8. Éléments obligatoires (lang, title, skip-link) | 95 % | Très bon - <html lang='fr'>, page title unique, skip link en haut |
| 9. Structuration (h1-h6, landmarks) | 72 % | À consolider - hiérarchie h1>h2>h3 OK la plupart du temps, role='navigation/banner/contentinfo' à expliciter |
| 10. Présentation (zoom 200 %, motion) | 88 % | Très bon - zoom 200 % sans perte, prefers-reduced-motion respecté |
| 11. Formulaires (label, erreurs) | 78 % | Bon - <label htmlFor> partout, role='alert' sur erreurs, quelques inputs admin à revoir |
| 12. Navigation (multiple méthodes, aria-current) | 85 % | Bon - aria-current='page' partout, sitemap.xml présent, plan du site dédié à venir |
| 13. Consultation (limite temps, redirects) | 90 % | Très bon - aucun mouvement obligatoire, aucune limite de temps imposée |
Score global pondéré : ~82 %. Trois axes prioritaires de consolidation avant audit externe : contraste sur libellés secondaires (théma. 3), légendes de tableaux (théma. 5), marquage explicite des landmarks (théma. 9).
Contenus non accessibles
Non-conformités résiduelles
- Contraste insuffisant sur libellés secondaires (RGAA 3.2 / WCAG 1.4.3) : ~490 usages de classes Tailwind
text-gray-500/text-gray-400sur fond clair offrent un ratio de contraste estimé à ~3:1, sous le seuil 4.5:1 requis pour le texte normal. Concerne principalement les libellés annexes (timestamps, sources, notes de bas), pas le contenu principal. Plan : remplacement partext-gray-700dans une PR dédiée. - Légendes manquantes sur tableaux admin (RGAA 5.4) : les ~10 tableaux des pages
/admin/incidents,/admin/dpo,/admin/audit,/profilont leurs en-têtes corrects (scope="col") mais pas de<caption>décrivant le contenu. Impact : un lecteur d'écran annonce le tableau sans contexte. Plan : ajout de<caption className="sr-only">par tableau. - Marquage explicite des landmarks (RGAA 9.1) : la plateforme utilise les balises sémantiques HTML5 natives (
<header>,<nav>,<main>,<footer>) qui exposent déjà des landmarks ARIA implicites. Reste à expliciterrole="navigation"+aria-labelsur la barre principale et sur le footer pour distinguer les zones de navigation multiples (en-tête, sidebar admin, pied de page). - Vidéos pédagogiques (V2 contenu) : les futurs contenus vidéos n'ont pas encore de sous-titres synchronisés. Une transcription textuelle est cependant proposée pour chaque scénario, et le TTS lit l'intégralité du contenu écrit.
- Tableaux complexes très denses dans certaines pages admin (rapport de conformité, statistiques) : les en-têtes utilisent
scope="col"et le contenu est lisible, mais pas encore deheaders/idpour les cellules de données croisées. Impact limité car les tableaux restent simples. - Mascotte évoluée niveau 4-5 : l'emoji principal et le nom sont annoncés via
aria-label, mais les détails visuels secondaires (couronne dorée, particules ✦) ne sont pas verbalisés au-delà du libellé "Niveau X". Lecture acceptable mais perfectible. - Charts Recharts (impact business) : les graphiques exposent leur tooltip au passage souris/touch mais ne sont pas encore navigables au clavier point par point. Les données chiffrées sont disponibles en clair en-dessous de chaque graphique.
✓ Non-conformités résolues récemment
- ThemeToggle sur mobile : les boutons "Clair / Sombre / Auto" cachaient leur libellé en classe
hidden sm:inline. Sur mobile, un lecteur d'écran annonçait juste l'icône. Fix :aria-labelexplicite +aria-hiddensur l'emoji pour éviter la double annonce. - Bouton de fermeture du drawer admin (
AdminSidebar) :aria-labelprésent mais le caractère ✕ n'était pas marquéaria-hidden→ double annonce ("X, fermer le menu"). Fix : wrap dans<span aria-hidden>. - Bouton "Rechercher" observatoire fuites : l'emoji 🔍 n'était pas marqué
aria-hidden→ annoncé "loupe rechercher". Fix :aria-hiddensur l'emoji, le texte "Rechercher" suffit. - Confettis et animations : annoncés via LiveRegion ARIA ("Bonne réponse !", "Niveau X débloqué"). Désactivés si
prefers-reduced-motion. - Modale level-up : focus trap, ESC pour fermer, retour automatique du focus à l'élément déclencheur.
- Boutons icônes-only (TTS, theme, share) : tous équipés d'
aria-labelexplicite. - Navigation :
aria-current="page"sur le lien actif,aria-labelsur la nav principale. - EpisodePlayer : changements de step et choix annoncés via LiveRegion.
Dérogations pour charge disproportionnée
Aucune dérogation pour charge disproportionnée n'est invoquée à ce jour.
Contenus tiers non assujettis
Les modules contribués par la communauté (marketplace) sont modérés mais leurs auteurs sont responsables du respect de l'accessibilité. Une charte d'accessibilité contributeurs est en cours de rédaction (à venir).
Alternatives proposées
En attendant la conformité totale, voici les alternatives mises en place :
- Lecture audio (TTS) sur tous les scénarios, débriefs et articles librairie - bouton "Écouter l'article".
- Mode facile (texte agrandi, espacement augmenté) activable en haut de page.
- Mode sombre pour réduire la fatigue visuelle.
- Magic link sans mot de passe pour éviter la friction de saisies complexes.
- Navigation clavier complète sur le player d'épisode (touches 1-4 et Entrée).
- Skip link "Aller au contenu principal" pour les utilisateurs de lecteurs d'écran.
- Connexion par QR code + prénom en projet pour à venir (utilisateurs sans email pro ou avec déficience cognitive).
Technologies d'assistance compatibles
L'application est testée et fonctionne avec :
- NVDA (Windows) - lecteur d'écran open-source
- VoiceOver (macOS / iOS) - lecteur d'écran natif Apple
- TalkBack (Android) - lecteur d'écran natif Google
- Navigation clavier seule (Tab, Maj+Tab, Entrée, Espace, flèches, Échap)
- Zoom navigateur jusqu'à 200 % sans perte d'information
- Reconnaissance vocale (Voice Control macOS, Dragon NaturallySpeaking) - supportée pour les actions principales
Signaler un obstacle
Vous avez rencontré un obstacle sur la plateforme ? C'est notre responsabilité de le corriger. Décrivez-nous le problème par email avec votre contexte (équipement, navigateur, technologie d'assistance utilisée) :
✉️ accessibilite@humanix-cybersecurity.fr
Nous nous engageons à répondre sous 5 jours ouvrés et à corriger ou contourner l'obstacle dans les meilleurs délais. Si la correction technique demande du temps, nous proposerons une alternative immédiate (transcription, support direct, etc.).
Voies de recours
Si vous constatez un défaut d'accessibilité non résolu après nous avoir contactés, vous pouvez :
- Saisir le Défenseur des droits : www.defenseurdesdroits.fr
- Délégué local du Défenseur des droits : trouver un délégué près de chez vous
- Adresse postale du Défenseur des droits : Défenseur des droits, Libre réponse 71120, 75342 Paris CEDEX 07 (gratuit, sans timbre)