Audit de sécurité des flashs
Enregistre la page dans un navigateur headless (ou lit une vidéo), exécute le détecteur de flashs IRIS d'EA avec le seuil de zone WCAG (0,111 de l'écran), et écrit un rapport Markdown + JSON. Il s'agit d'un dépistage, pas d'un certificat.
Exécutez les commandes depuis le dossier de cette compétence avec son propre Python,
.\venv\Scripts\python.exe (indiqué comme python ci-dessous). Passez --out pour placer le rapport dans le projet de l'utilisateur.
1. Configuration (uniquement si .venv est manquant ou si les importations échouent)
python -m venv .venv
.\venv\Scripts\python.exe -m pip install -r requirements.txt
.\venv\Scripts\python.exe -m playwright install chromium
2. Choisir l'entrée
| Entrée | Quand l'utiliser |
|---|---|
--url https://... | une page web en direct |
--html chemin\page.html | un fichier HTML local |
--video chemin\clip.mp4 | une capture de jeu, une bande-annonce ou toute vidéo existante |
python scripts/audit.py --url https://example.com
python scripts/audit.py --html page.html --duration 10
python scripts/audit.py --video clip.mp4
Options utiles : --duration (s, défaut 10), --settle (s, défaut 1),
--viewport (défaut 1024x768), --out (défaut reports/).
Code de sortie 0 = RÉUSSI, 1 = ÉCHEC, 2 = erreur. Les clics, le survol et le défilement ne sont pas pris en charge ; si le danger nécessite une interaction, demandez à l'utilisateur un enregistrement d'écran et utilisez --video.
3. Lire le rapport (report.md)
- Le résultat WCAG 2.3.1 est le seul verdict. ÉCHEC si des images "d'échec de flash" lumineux ou rouges ont été trouvées. Citez les plages horaires.
- Avertissements supplémentaires (non WCAG) sont les règles de diffusion IRIS (par exemple, 2–3 flashs/s pendant plusieurs secondes). Mentionnez-les séparément ; ne les qualifiez jamais d'échec WCAG.
- Les scintillements plus rapides que la moitié de la fréquence d'images (~12 Hz pour les enregistrements de pages) ne sont pas mesurés. Ne décrivez jamais ce contenu comme "réussi".
- Répétez toujours l'avertissement : une réussite ne prouve pas que la page est sûre.
4. Correctifs à suggérer en cas d'échec
- Ralentir le flash à moins de 3 par seconde.
- Réduire la taille de la zone de flash (bien en dessous de 341 x 256 px à 1024 x 768).
- Réduire le contraste de luminosité entre les états de flash.
- Éviter les flashs rouges saturés.
- Honorer
@media (prefers-reduced-motion: reduce)et ajouter une commande de pause/arrêt.
5. Règle de sécurité
N'ouvrez jamais les pages de test, les pages auditées ou les enregistrements dans un navigateur visible, et ne les montrez ni ne les incorporez jamais pour l'utilisateur. Exécutez-les uniquement en mode headless via scripts/audit.py. Partagez le rapport, pas la vidéo.