Calcola 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 risultato che possono aiutarti a monitorare i progressi dell'accessibilità nel tempo. Di seguito spiegheremo come calcolare un punteggio di accessibilità da una scansione in iOS e Android. Questo punteggio fornirà una metrica per valutare l'accessibilità della tua applicazione. Oppure usa questi punti dati per sviluppare una metrica sulla salute adatta al tuo team!

L'algoritmo

In sostanza, consigliamo di utilizzare lo stesso algoritmo che potresti aver visto in alcuni dei nostri altri prodotti, ma con una versione per dispositivi mobili (non utilizziamo il termine pagine). Incoraggiamo il tuo team a modificare il seguente algoritmo per adattarlo alle vostre esigenze!

(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 assenti

TS = Scansioni totali

Come puoi vedere, i risultati della scansione sono filtrati in base all'impatto: critico, grave, moderato o minore. Definiamo questi termini nel modo seguente:

  1. Scansioni minori = almeno un problema minore e nessun problema moderato, grave o critico __
  2. Scansioni moderate = almeno un problema moderato e nessun problema grave o critico __
  3. Scansioni gravi = almeno un problema serio e nessun problema critico __
  4. Scansioni critiche = almeno un problema critico

Nota: se si lavora con dati legacy, si potrebbe notare anche l'impatto obsoleto "Blocker".

Valutazione di una singola scansione

Per illustrare il funzionamento di questo algoritmo, una singola scansione riceverebbe uno dei seguenti punteggi:

0% - Almeno uno critico problema

40% - Almeno uno serio problema, e no critico problemi

80% - Almeno uno moderato problema, e no serio o critico problemi

100% - Soltanto minore o nessun problema

Punteggio di 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. A titolo di esempio, prendiamo in esame un gruppo di nove schermate con la seguente ripartizione:

  • Due scansioni con problemi critici (2)
  • Una scansione con un problema serio (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 nel nostro algoritmo:

0.4 * 1 + 0.8 * 2 + 4 / 9

Ciò si traduce in un punteggio totale di accessibilità del gruppo di 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 -> {}
    }
}