OpenClaw · Accessibilité · CI · Mac distant · 2026

2026 OpenClaw, front-end terrain :
JSON axe-core sur Mac distant → résumé lisible en pull request (étapes reproductibles)

08.04.2026 Plateforme front & qualité 9 min de lecture

Public : équipes qui veulent une porte a11y en CI sans noyer Slack de captures. Ce guide enchaîne le JSON axe-core produit sur un Mac loué, une normalisation déterministe et OpenClaw pour obtenir un bloc Markdown dans la pull request — sans coller d’URL de tableaux de bord derrière une session navigateur. Vous y trouverez une matrice de seuils, des étapes d’intégration API décrites sans exposer de secrets, et une FAQ d’exploitation. Runbook amont : Lighthouse, liens et a11y sur Mac distant ; discipline de commentaire alignée sur régression visuelle → résumé PR.

01 Exécution d’axe-core et sortie JSON

Exécutez axe là où l’UI démarre : Playwright ou Cypress (injectAxe), ou @axe-core/cli en headless sur chaque URL de préprod. Sur Mac distant, figez Node et le moteur de rendu pour des runs comparables.

Archivez du JSON sous .openclaw/reports/$GIT_SHA/a11y/ avec manifest.json (URLs, commit, build navigateur, version axe). Gardez une copie normalisée pour l’agent. Sortie non nulle si politique violée, artefacts conservés pour le résumé humain ; attachez le scan à une prévisualisation HTTPS stable.

En intégration continue, uploadez le dossier comme artefact de build : les revues peuvent rouvrir le JSON brut pendant qu’OpenClaw ne publie qu’un condensé dans Git. Cette séparation réduit le bruit tout en conservant la preuve pour l’audit.

  1. Parallélisation : shard par préfixe de routes, fusion avec tri déterministe.
  2. Délais : budget par page pour éviter qu’un iframe bloque le worker.
  3. Auth : jetons de prévisualisation en variable d’environnement, pas SSO interactif.

02 Gabarit de règles d’analyse OpenClaw

Interdisez le scraping de l’UI Git : lecture dépôt plus rapports, gabarit du type « Lis a11y_normalized.json → écris pr_a11y_summary.md ». Séparez faits JSON et pistes étiquetées hypothèses.

Sections : comptes, règles dominantes, trois exemples max par règle, WCAG si dispo, commandes de retest, dérogations avec tickets. Versionnez le prompt comme du code. Même discipline numérique que le bundle analyzer et seuils PR.

Si plusieurs équipes consomment le même rapport, figez un glossaire des impacts (« serious », « moderate ») dans le dépôt pour éviter les débats sémantiques dans le fil de revue.

03 Champs du résumé et seuils

Champs stables : ruleId, impact, wcagRefs, helpUrl public, failureSummary, targetSelectors, url, fingerprint. Pas de page complète ; extraits courts pour éviter les données personnelles dans le commentaire.

Niveau Seuil indicatif Comportement CI
Serious Compteur égal à zéro Échec du job ; liste complète des règles dans le Markdown OpenClaw.
Moderate Reste sous un budget équipe (ex. trois occurrences) Avertissement ou échec selon la phase de release ; dérogation avec ticket.
Minor / revue Simple visibilité Ne bloque pas la fusion ; conservez les cinq premières entrées dans le résumé.
Inapplicable / passes Sans obligation d’affichage Mentionnez surtout le nombre d’URL scannées pour prouver la couverture.

Versionnez seuils et YAML ensemble ; bump schemaVersion dans a11y_normalized.json quand la politique change.

04 Retour commentaire via le fournisseur Git (sans URL de session)

Intégrez par API REST et jetons limités au dépôt (GitHub : PAT fin ou App avec pull requests : write ; GitLab : token projet api). Authorization: Bearer ou PRIVATE-TOKEN, id PR/MR depuis l’environnement CI, puis un seul commentaire Markdown upserté.

Pas de liens vers consoles SSO ; helpUrl et docs WCAG publiques OK. Si le Mac ne doit pas appeler Git, POST vers une passerelle interne qui porte les secrets.

Documentez pour les relecteurs la séquence en langage naturel : authentification, résolution de l’identifiant de changement, corps du commentaire, gestion des conflits de mise à jour concurrente. Aucune étape ne doit supposer un copier-coller depuis l’interface graphique du fournisseur.

Idempotence : <!-- openclaw-a11y:$SHA --> puis mise à jour du même commentaire. Retries : backoff sur 429/5xx, cinq essais max, sans logger les secrets.

05 FAQ dépannage

  • Rapport vide : DOM partiel ou shadow fermé — attendez le réseau ou ouvrez le root avant le scan.
  • Flaky : bloquez pubs/consentement ou figez cookies et routes.
  • Sélecteurs inventés : copie stricte depuis targetSelectors plus schéma JSON en CI.
  • 401 / 403 : scopes, forks, ou pull_request_target (risque supply-chain).
  • Body trop long : tronquer, lien vers artefact, top règles seulement.
En résumé

JSON plus manifeste sous .openclaw/reports/$SHA/a11y/, normalisation unique, gabarit Markdown, seuils serious/moderate, API Git restreinte, idempotence et retries. Mac Mini loué : WebKit aligné utilisateurs Apple pour ces jobs CI.

CI accessibilité sur Apple Silicon

Poursuivre avec MacWww : accueil, achat et ressources sans compte obligatoire

Ouvrez l’accueil, comparez les tarifs, passez par Achat / location sans étape de connexion forcée, et consultez le centre d’aide. Pour d’autres automatisations front, lisez Playwright E2E et correctifs, triage des journaux E2E, ou parcourez l’index du blog.

axe-core OpenClaw Résumé PR
Louer un Mac pour CI a11y