La formule
Une page part de 100. Chaque élément en échec retire des points selon la gêne qu'il cause, et le retrait pour une même règle est plafonné.
pageScore = clamp(0, 100,
100 − Σ weight(impact) × min(failingElements, 10)
rules
)
siteScore = mean(pageScore) // chaque page compte pareilPourquoi ce plafond existe
Un gabarit cassé peut produire quatre cents échecs identiques — une grille de produits où aucun lien n'a de nom accessible, par exemple. Sans plafond, cette page vaut zéro, et elle vaut encore zéro une fois la moitié corrigée. Un score qui ne bouge pas est un score que personne ne consulte.
Plafonner le retrait à 10 éléments par règle garde le chiffre sensible aux progrès. Le total réel est toujours affiché à côté : rien n'est caché — le plafond change le score, pas le rapport.
Ce que ce chiffre n'est pas
Ce n'est pas un pourcentage de conformité, et 100 ne veut pas dire conforme. Cela veut dire qu'aucune règle automatique n'a échoué sur les pages que nous avons pu lire. Les vérifications automatiques couvrent environ un tiers des WCAG ; le reste — l'ordre de tabulation, le fait qu'un texte alternatif dise quelque chose, qu'un composant maison se comporte comme le motif qu'il imite — demande une personne.
Chaque page de critère dit si une règle automatique le couvre. Là où aucune ne le fait, nous le disons plutôt que de laisser un vide que vous pourriez lire comme une réussite. Voir ce que les tests automatiques trouvent et ne trouvent pas.
Ce qui s'exécute, exactement
Notes
Une note est un raccourci pour une conversation avec un client, rien de plus. Un 95 et un 96 sont le même site.
Nous nous l'appliquons à nous-mêmes
Chaque build de ce site est analysé par le même moteur, et le build échoue si quelque chose de grave apparaît. La première fois, nous avons trouvé treize échecs de contraste sur notre propre page d'accueil : bon argument pour l'analyse continue, mauvais argument pour faire confiance à une revue de design.