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 de résultat qui peuvent vous aider à suivre vos progrès en matière d'accessibilité au fil du temps. Ci-dessous, nous soulignerons comment calculer un score d'accessibilité à partir d'une analyse dans iOS et Android. Ce score fournira une mesure de l’évolution de l’accessibilité dans votre application. Ou utilisez ces points de données pour développer une mesure de santé qui fonctionne pour votre équipe !

L'algorithme

Fondamentalement, 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 d'analyses sérieuses

s1 = nombre d'analyses modérées

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

TS = Nombre total de scans

Comme vous pouvez le voir, les résultats de l’analyse sont filtrés par impact : critique, grave, modéré ou mineur. Nous définissons ces termes de la manière suivante :

  1. Analyses mineures = au moins un problème mineur et aucun problème modéré, grave ou critique __
  2. Analyses modérées = au moins un problème modéré et aucun problème grave ou critique __
  3. Analyses sérieuses = au moins un problème sérieux et aucun problème critique __
  4. Analyses critiques = au moins un problème critique

Remarque : si vous travaillez avec des données héritées, vous pouvez également voir l'impact obsolète du « Bloqueur ».

Notation d'une seule analyse

Pour illustrer le fonctionnement de cet algorithme, une seule analyse recevrait l’un des scores suivants :

0% - Au moins un crucial incident

40% - Au moins un grave problème, et aucun crucial problèmes

80% - Au moins un modéré problème, et aucun grave ou crucial problèmes

100% - Seulement mineur ou pas de problèmes

Notation d'un groupe d'analyses

Pour un groupe d’analyses, le score d’accessibilité du groupe est la moyenne des scores de chaque analyse 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ème (3)

Entrez le nombre d'analyses avec leurs scores respectifs dans notre algorithme :

0.4 * 1 + 0.8 * 2 + 4 / 9

Cela donne un score total d'accessibilité du groupe de 67%.

iOS

À partir de l'objet de résultat, voici un exemple de code permettant d'extraire les dé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 de résultat, voici un exemple de code permettant d'extraire les dé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 -> {}
    }
}