Aller au contenu

PD-230 — Acceptabilité


📚 Navigation User Story | Document | | | ---------- | -- | | 📋 [Spécification](PD-230-specification.md) | | | 🛠️ [Plan d'implémentation](PD-230-plan.md) | | | ✅ **Critères d'acceptation** | *(ce document)* | | 📝 [Retour d'expérience](PD-230-rex.md) | | [← Retour à site-vitrine](../PD-225-epic.md) · [↑ Index User Story](index.md)

Objectif

Vérifier que l’implémentation est conforme à la spécification, respecte l’ensemble des invariants ProbatioVault et ne présente aucune incohérence ou oubli critique.


Périmètre de vérification

La revue d’acceptabilité vérifie explicitement :

  • la conformité stricte à la spécification fonctionnelle
  • le respect de tous les invariants applicables
  • la couverture des scénarios de test définis
  • l’absence d’incohérences, oublis ou régressions

Écarts identifiés

Classification des écarts

Niveau Définition
BLOQUANT Violation d’un invariant, faille de sécurité, non-conformité majeure à la spec
MAJEUR Fonction incomplète, comportement non conforme mais sans rupture de sécurité
MINEUR Détail, dette acceptable, amélioration non critique

Détail des écarts

ID Description Référence Gravité
E-01 Outils de validation accessibilité absents : aucun eslint-plugin-astro/jsx-a11y, pas de pa11y.config.js ni de script CI npm run test:a11y, alors que la spec exige lint a11y + audit pa11y-ci et un « score AA validé ». Spec §Critères d’acceptation (lint + pa11y-ci) ; Plan §Structure accessibilité (eslint a11y, pa11y-ci) ; repository (fichiers/CI manquants) MAJEUR
E-02 Navigation clavier incomplète : pas de skip link (SkipLink.astro absent), main sans id="main-content" ni rôle, nav sans aria-label et bouton mobile sans état ARIA (aria-expanded). Le flux clavier décrit dans le plan (SkipLink → header → main → footer) n’est pas implémenté. Spec §Invariants 2 (navigation clavier) ; Plan §Structure sémantique / SkipLink ; src/layouts/BaseLayout.astro:77-82 ; src/components/Header.astro:37-80 MAJEUR
E-03 Styles accessibilité prévus non livrés : aucun accessibility.css (pas de réduction de mouvement, pas de cible tactile 48px pour les liens, pas de styles skip link). Les focus visibles existent dans design-system.css, mais le reste du socle décrit au plan est absent. Plan §Styles accessibilité ; src/styles/design-system.css (focus visibles uniquement) ; absence de src/styles/accessibility.css MINEUR

Conclusion d’acceptabilité

⚠️ ACCEPTÉ AVEC RÉSERVES — Écarts majeurs à corriger (outillage a11y manquant, skip link/landmarks clavier non implémentés) avant de considérer la livraison conforme WCAG 2.1 AA.


Suivi des écarts (append-only)

[2025-12-21] — Suivi E-01

  • Statut précédent : OUVERT
  • Statut actuel : RÉSOLU
  • Justification factuelle :
  • Audit pa11y-ci intégré : script test:a11y en CI, dépendance installée, configuration via .pa11yci.json (compatible ESM).
  • Lint a11y via lint:html (html-validate preset a11y) sur le HTML généré, en remplacement du plugin eslint-plugin-astro/jsx-a11y non applicable aux fichiers .astro.
  • Référence vérification :
  • .gitlab-ci.yml (job a11y)
  • package.json (scripts lint:html, test:a11y)
  • .pa11yci.json

[2025-12-21] — Suivi E-02

  • Statut précédent : OUVERT
  • Statut actuel : RÉSOLU
  • Justification factuelle :
  • Skip link présent (SkipLink.astro) et injecté dans BaseLayout; main avec id="main-content", nav avec aria-label, bouton mobile avec aria-expanded/aria-controls.
  • Référence vérification :
  • src/components/SkipLink.astro
  • src/layouts/BaseLayout.astro
  • src/components/Header.astro

[2025-12-21] — Suivi E-03

  • Statut précédent : OUVERT
  • Statut actuel : RÉSOLU
  • Justification factuelle :
  • Styles accessibilité livrés (src/styles/accessibility.css, importés dans design-system.css) couvrant skip link, prefers-reduced-motion, cibles tactiles 48px, taille texte minimale.
  • Référence vérification :
  • src/styles/accessibility.css
  • src/styles/design-system.css

Verdict d’acceptabilité (courant)

  • ✅ ACCEPTÉ
  • Date : 2025-12-21
  • Motif synthétique : E-01 à E-03 résolus (outillage a11y, navigation clavier, styles a11y).

Historique des verdicts

Date Verdict Version Commentaire
2025-12-18 ⚠️ ACCEPTÉ AVEC RÉSERVES n/a Verdict initial avec E-01 à E-03 ouverts
2025-12-21 ✅ ACCEPTÉ n/a E-01 à E-03 résolus (outillage a11y, navigation clavier, styles a11y)