Calcolare un punteggio

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 fornisce dati nell'oggetto di risultato che possono aiutare a monitorare il progresso dell'accessibilità nel tempo. Di seguito evidenzieremo come calcolare un punteggio di accessibilità a partire da una scansione su iOS e Android. Questo punteggio fornirà una metrica su come sta andando l'accessibilità nella tua applicazione. Oppure, utilizza questi dati per sviluppare una metrica di salute che funzioni per il tuo team!

L'algoritmo

Alla base, raccomandiamo di utilizzare lo stesso algoritmo che potresti aver visto in alcuni dei nostri altri prodotti, ma con un tocco mobile (non usiamo il termine pagine). Incoraggiamo il tuo team a modificare il seguente algoritmo in modo che funzioni per voi!

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

s2 = numero di scansioni Gravi

s1 = numero di scansioni Moderate

s0 = numero di scansioni con Problemi minori o senza problemi

TS = Totale scansioni

Come puoi vedere, i risultati delle scansioni sono filtrati per impatto: Critico, Grave, Moderato, o Minore. Definiamo questi termini nel seguente modo:

  1. Scansioni minori = almeno un problema Minore e niente problemi Moderati, Gravi, o Critici
  2. Scansioni moderate = almeno un problema Moderato e nessun problemi Gravi o Critici
  3. Scansioni gravi = almeno un problema Grave e nessun problemi Critici
  4. Scansioni critiche = almeno un problema Critico

Nota: se lavori con dati legacy, potresti anche vedere l'impatto deprecato 'Bloccante'.

Valutare una singola scansione

Per illustrare come funziona questo algoritmo, una singola scansione riceverebbe uno dei seguenti punteggi:

0% - Almeno un critico problema

40% - Almeno un grave problema e nessun critico problema

80% - Almeno un moderato problema e nessun grave o critico problema

100% - Solo minori o nessun problema

Valutare un gruppo di scansioni

Per un gruppo di scansioni, il punteggio di accessibilità del gruppo è la media dei punteggi di ciascuna scansione in quel gruppo. Come esempio, diamo un'occhiata a un gruppo di nove schermate con la seguente suddivisione:

  • Due scansioni con problemi critici (2)
  • Una scansione con un problema grave (1)
  • Due scansioni con problemi moderati (2)
  • Una scansione con un problema minore (1)
  • Tre scansioni senza problemi (3)

Inserisci il numero di scansioni con i rispettivi punteggi in il nostro algoritmo:

0.4 * 1 + 0.8 * 2 + 4 / 9

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

iOS

Dall'oggetto risultato, ecco un esempio di codice per estrarre i conteggi di ciascun livello di impatto:

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

Dall'oggetto risultato, ecco un esempio di codice per estrarre i conteggi di ciascun livello di impatto:

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 -> {}
    }
}