Calculer un score

This page is not available in the language you requested. You have been redirected to the English version of the page.
Link to this page copied to clipboard
Not for use with personal data

Axe DevTools Mobile fournit des données dans l'objet résultat qui peuvent aider à suivre vos progrès en matière d'accessibilité au fil du temps. Ci-dessous, nous mettrons en avant comment calculer un score d'accessibilité à partir d'un scan sur iOS et Android. Ce score offrira une métrique de l'évolution de l'accessibilité de votre application. Ou, utilisez ces points de données pour développer un indicateur de santé adapté à votre équipe !

L'algorithme

Au fond, nous recommandons d'utiliser le même algorithme que vous avez peut-être vu dans certains de nos autres produits, mais avec une touche mobile (nous n'utilisons pas le terme pages). Nous encourageons votre équipe à modifier l'algorithme suivant pour qu'il fonctionne pour vous !

(0.4 * s2 + 0.8 * s1 + s0) / TS

s2 = nombre de scans sérieuses

s1 = nombre de scans modérées

s0 = nombre de scans avec des problèmes mineurs ou sans problèmes

TS = Scans totaux

Comme vous pouvez le voir, les résultats des analyses sont filtrés par impact : Critique, Sérieux, Modéré ou Mineur. Nous définissons ces termes de la manière suivante :

  1. Scans mineurs = au moins un problème mineur et aucun problème modéré, sérieux ou critique
  2. Scans modérés = au moins un problème modéré et aucun problème sérieux ou critique
  3. Scans sérieux = au moins un problème sérieux et aucun problème critique
  4. Scans critiques = au moins un problème critique

Remarque : si vous travaillez avec des données anciennes, vous pouvez également voir l'impact obsolète 'Bloqueur'.

Scorer un seul scan

Pour illustrer comment cet algorithme fonctionne, un seul scan recevrait l'un des scores suivants :

0% - Au moins un problème critique

40% - Au moins un problème sérieux , et aucun problème critique

80% - Au moins un problème modéré , et aucun problème sérieux ou problème critique

100% - Seulement des problèmes mineurs ou pas de problèmes

Scorer un groupe de scans

Pour un groupe de scans, le score d'accessibilité du groupe est la moyenne des scores de chaque scan de ce groupe. À titre d'exemple, examinons un groupe de neuf écrans avec la répartition suivante :

  • Deux scans avec des problèmes critiques (2)
  • Un scan avec un problème sérieux (1)
  • Deux scans avec des problèmes modérés (2)
  • Un scan avec un problème mineur (1)
  • Trois scans sans problèmes (3)

Insérez le nombre de scans avec leurs scores respectifs dans notre algorithme :

0,4 * 1 + 0,8 * 2 + 4 / 9

This results in a total group accessibility score of 67 %.

iOS

À partir de l'objet résultat, voici un exemple de code pour extraire les comptes de chaque niveau d'impact :

let critical = result.failures.filter { $0.impact == .CRITICAL }.count
let serious = result.failures.filter { $0.impact == .SERIOUS }.count
let moderate = result.failures.filter { $0.impact == .MODERATE }.count
let minor = result.failures.filter { $0.impact == .MINOR }.count

Android

À partir de l'objet résultat, voici un exemple de code pour extraire les comptes de chaque niveau d'impact :

val minorImpactCount = AtomicInteger(0)
val blockerCount = AtomicInteger(0)
val criticalCount = AtomicInteger(0)
val moderateCount = AtomicInteger(0)
val serious = AtomicInteger(0)

result?.axeResult?.axeRuleResults?.forEach {
    when (it.impact) {
        AxeImpact.MINOR.value -> minorImpactCount.incrementAndGet()
        AxeImpact.BLOCKER.value -> blockerCount.incrementAndGet()
        AxeImpact.CRITICAL.value -> criticalCount.incrementAndGet()
        AxeImpact.MODERATE.value -> moderateCount.incrementAndGet()
        AxeImpact.SERIOUS.value -> serious.incrementAndGet()
        else -> {}
    }
}