Skip to content

Revue accessibilité manuelle

La matrice RC Stability est validée, mais la promotion 1.0.0-rc.1 reste bloquée tant que la revue accessibilité humaine n’est pas renseignée. Cette étape complète les contrôles automatisés axe, les tests clavier et les captures visuelles par une vérification réelle avec lecteur d’écran, zoom et reflow.

Périmètre

La revue cible @vevedh/qform-builder-layer@0.1.35 comme base source de 1.0.0-rc.1. Elle doit couvrir le builder, le viewer, les dialogues, le Theme Builder, l’import/export, l’historique, les QSplitter gauche/droite, le designer visuel de composants personnalisés, ses styles sûrs, son éditeur de propriétés et les états readonly / disabled.

Les journaux à tenir à jour sont :

text
release/manual-accessibility-review.json
release/accessibility-derogations.json

Scénarios requis

Chaque scénario doit être marqué passed, failed ou not-applicable dans release/manual-accessibility-review.json :

IdentifiantContrôle attendu
keyboard-onlyNavigation complète au clavier seul, déclenchement des actions, ordre de focus cohérent et retour de focus après dialogue.
zoom-200Utilisation à zoom 200 %, sans perte d’action principale ni superposition bloquante.
reflow-320-css-pxAffichage à largeur 320 CSS px, sans scroll horizontal fonctionnel sur les panneaux.
nvda-chromiumLecture NVDA avec Chromium : noms accessibles, états sélectionnés, annonces de duplication/suppression/déplacement.
custom-theme-contrastContrastes réels après modification du thème, y compris boutons, badges et états désactivés.
artifact-reviewContrôle des captures, du rapport bundle et des preuves de package avant promotion.

Ordre conseillé

  1. Démarrer le playground local ou une application hôte avec le package validé.
  2. Tester d’abord keyboard-only, car il révèle rapidement les erreurs de focus et d’ordre de tabulation.
  3. Tester nvda-chromium avec les mêmes zones : catalogue, canvas, arbre, propriétés, preview et dialogues. Dans l’onglet Composants personnalisés, créer une définition, l’insérer, modifier son titre et sa valeur numérique dans le panneau droit, vérifier le rendu puis supprimer la définition du registre.
  4. Passer le navigateur à 200 % puis vérifier les panneaux responsive.
  5. Réduire la largeur à 320 CSS px et contrôler que le canvas, les tiroirs et les dialogues restent utilisables.
  6. Appliquer un thème custom puis contrôler les contrastes visibles.
  7. Relire les artifacts de RC avant de passer artifact-review à passed.

Commande de contrôle

Le schéma de preuve se vérifie avec :

powershell
bun run manual:accessibility:check

Cette commande ne remplace pas la revue humaine. Elle empêche seulement de publier une preuve incomplète ou incohérente.

Enregistrer une revue réussie

Quand la revue est terminée, renseigner :

json
{
  "reviewedSourceVersion": "0.1.35",
  "reviewerRole": "maintainer-accessibility-review",
  "reviewedAt": "2026-07-09T00:00:00Z",
  "outcome": "passed",
  "checks": {
    "keyboard-only": "passed",
    "zoom-200": "passed",
    "reflow-320-css-px": "passed",
    "nvda-chromium": "passed",
    "custom-theme-contrast": "passed",
    "artifact-review": "passed"
  }
}

Ne pas utiliser un nom personnel dans reviewerRole. Un rôle suffit pour tracer la responsabilité sans publier d’information nominative.

Dérogations

Si un point reste ouvert, il doit être inscrit dans release/accessibility-derogations.json avec un identifiant stable, une raison, une mitigation et une échéance de révision. Une dérogation ne rend pas automatiquement la RC publiable : la décision doit rester explicite dans le journal de release.

Designer visuel et QSplitter 0.1.35

La revue de la source 0.1.35 doit aussi couvrir le glisser-déposer du designer de composants personnalisés, l’ordre des blocs, les sélecteurs de styles sûrs et le passage Designer visuel / JSON avancé. Les deux séparateurs QSplitter doivent être manipulables au clavier, conserver un focus visible et annoncer leurs bornes et leur valeur courante. Vérifier la restauration des largeurs, le zoom 200 % et le reflow 320 CSS px sans scroll horizontal.

QForm Builder — layer Nuxt 4, Quasar et FormKit pour formulaires dynamiques.