Le WordPress d'aujourd'hui, décodé pour les développeurs

Accessibilité

Suite de tests d’accessibilité mutualisée pour une marketplace artisanale

Fiches produit, panier et espace vendeur partagent des composants communs : voici comment organiser une suite de tests qui couvre les trois sans les dupliquer.

Par Clément Hadrot • 7 mars 2025 • 4 min de lecture • Aucun commentaire
Suite de tests d'accessibilité mutualisée pour une marketplace artisanale

npx playwright test --project=a11y : cette commande unique doit pouvoir couvrir trois parcours très différents sur une place de marché réunissant plusieurs artisans indépendants, chacun avec sa propre boutique, ses propres photos et ses propres descriptions de produits.

Le piège classique consiste à écrire une suite de tests par parcours, sans se demander ce qui est réellement partagé entre eux. Sur ce type de plateforme, la fiche produit, le panier et l’espace de gestion vendeur réutilisent tous les mêmes briques : un composant de galerie d’images, un sélecteur de quantité, un système de notification, un fil d’ariane. Tester ces briques trois fois, une par parcours, c’est tripler la maintenance pour un gain de couverture proche de zéro.

Cartographier les composants avant d’écrire le premier test

La première étape n’est pas technique, elle est organisationnelle : lister les composants d’interface réellement partagés entre les trois espaces. Sur une marketplace artisanale typique, on retrouve souvent :

  • La galerie d’images produit, utilisée sur la fiche produit et dans le panier (miniatures).
  • Le formulaire de quantité et d’ajout au panier, dupliqué visuellement mais identique en structure.
  • Les notifications de statut (ajout réussi, stock épuisé, erreur de paiement), qui remontent aussi côté vendeur pour les alertes de commande.
  • La navigation par onglets, utilisée dans l’espace vendeur pour basculer entre commandes, stock et messages.
L'essentiel à retenir : Un socle commun teste les composants partagés une seule fois ; Chaque parcours garde ses scénarios propres ; La maintenance descend fortement avec la mutualisation

Un socle de tests communs, indépendant des pages

L’architecture qui a le mieux fonctionné repose sur une arborescence à deux niveaux : un dossier de tests « composants », exécuté une seule fois par composant isolé, et un dossier « parcours », qui vérifie l’intégration plutôt que le détail.

tests/
  a11y/
    composants/
      galerie-images.spec.js
      selecteur-quantite.spec.js
      notifications-statut.spec.js
      onglets-navigation.spec.js
    parcours/
      fiche-produit.spec.js
      panier.spec.js
      espace-vendeur.spec.js
  helpers/
    axe-setup.js

Le dossier composants exécute une analyse fine avec axe-core sur chaque brique isolée dans une page de démonstration, avec des vérifications précises : rôles ARIA attendus, gestion des flèches du clavier sur la galerie, annonce du changement de quantité. Le dossier parcours, lui, se contente de vérifier que rien ne casse à l’intégration : ordre de tabulation cohérent de bout en bout, absence de piège au clavier, présence des repères de région (<nav>, <main>).

Ce que gagne réellement l’équipe

Sur ce projet, la suppression des doublons a permis de diviser par trois le temps d’exécution complet de la suite, et surtout de réduire le nombre de correctifs à appliquer à chaque évolution d’un composant : une correction sur la galerie d’images se fait une fois, dans un seul fichier de test, et bénéficie automatiquement aux trois parcours qui l’utilisent.

ApprocheFichiers de testTemps d’exécution
Un test complet par parcours3 suites redondantesRéférence
Socle mutualisé + parcours légers4 composants + 3 intégrationsEnviron trois fois plus rapide

Les limites de la mutualisation

Cette architecture ne dispense pas de tester certains détails propres à chaque parcours. L’espace vendeur, par exemple, affiche des tableaux de données de commandes que les deux autres parcours ignorent complètement : il garde donc ses propres vérifications de structure de tableau, d’en-têtes associés aux cellules et d’ordre de lecture. La règle générale reste simple : tout ce qui est un composant réutilisable descend dans le socle commun, tout ce qui est spécifique à un contexte reste dans le test de parcours.

Conseil maison : un composant testé une seule fois, mais dans un contexte isolé et représentatif, protège mieux que trois tests d’intégration approximatifs.

Pour aller plus loin

Cette organisation en socle commun et parcours légers s’applique à n’importe quelle plateforme construite autour de composants partagés, pas seulement aux marketplaces. Le point de vigilance principal reste la discipline de mise à jour : dès qu’un nouveau composant apparaît dans deux parcours ou plus, il mérite sa propre entrée dans le socle avant que les tests de parcours ne commencent à se dupliquer à nouveau.

Partager :

À propos de l'auteur

Clément Hadrot

Développeur WordPress, passionné par Elementor, le FSE et l’automatisation par IA.

Voir tous ses articles

Dans la même veine

À lire aussi