Berechnung eines Scores

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 stellt im Ergebnisobjekt Daten bereit, mit denen Sie Ihren Fortschritt in Bezug auf die Barrierefreiheit im Laufe der Zeit verfolgen können. Im Folgenden zeigen wir, wie man aus einem Scan in iOS und Android einen Barrierefreiheitswert berechnet. Dieser Wert gibt Aufschluss über den Stand der Barrierefreiheit Ihrer Anwendung. Oder verwenden Sie diese Datenpunkte, um eine Gesundheitsmetrik zu entwickeln, die für Ihr Team funktioniert!

Der Algorithmus

Im Kern empfehlen wir die Verwendung desselben Algorithmus, den Sie möglicherweise in einigen unserer anderen Produkte gesehen haben, jedoch mit einem mobilen Ansatz (wir verwenden nicht den Begriff Seiten). Wir empfehlen Ihrem Team, den folgenden Algorithmus so zu ändern, dass er für Sie funktioniert!

(0,4 * s2 + 0,8 * s1 + s0) / TS

s2 = Anzahl der schwerwiegenden Scans

s1 = Anzahl der moderaten Scans

s0 = Anzahl der Scans mit geringfügigen oder keinen Problemen

TS = Gesamtzahl der Scans

Wie Sie sehen, werden die Scanergebnisse nach Auswirkung gefiltert: Kritisch, Schwerwiegend, Mittel oder Geringfügig. Wir definieren diese Begriffe folgendermaßen:

  1. Geringfügige Scans = mindestens ein geringfügiges Problem und _keine _ mittelschweren, schwerwiegenden oder kritischen Probleme
  2. Moderate Scans = mindestens ein mittelschweres Problem und keine schweren oder kritischen Probleme
  3. Schwerwiegende Scans = mindestens ein schwerwiegendes Problem und keine kritischen Probleme
  4. Kritische Scans = mindestens ein kritisches Problem

Hinweis: Beim Arbeiten mit Legacy-Daten sehen Sie möglicherweise auch die Auswirkungen des veralteten 'Blocker'.

Bewertung eines einzelnen Scans

Um zu veranschaulichen, wie dieser Algorithmus funktioniert, würde ein einzelner Scan eine der folgenden Bewertungen erhalten:

0% - Mindestens ein kritisch Problem

40% - Mindestens ein schwerwiegend Problem, und keine kritisch Probleme

80% - Mindestens ein mittelschwer Problem, und keine schwerwiegend oder kritisch Probleme

100% - Nur gering oder keine Probleme

Bewertung einer Gruppe von Scans

Für eine Gruppe von Scans ist der Gruppenzugänglichkeitswert der Durchschnitt der Werte für jeden Scan in dieser Gruppe. Als Beispiel betrachten wir eine Gruppe von neun Bildschirmen mit der folgenden Aufteilung:

  • Zwei Scans mit kritischen Problemen (2)
  • Ein Scan mit einem schwerwiegenden Problem (1)
  • Zwei Scans mit mittelschweren Problemen (2)
  • Ein Scan mit einem kleinen Problem (1)
  • Drei Scans ohne Probleme (3)

Setzen Sie die Anzahl der Scans mit ihren jeweiligen Ergebnissen in unseren Algorithmus ein:

0.4 * 1 + 0.8 * 2 + 4 / 9

Dies führt zu einem Gesamt-Zugänglichkeitswert der Gruppe von 67%.

iOS

Hier ist ein Beispielcode zum Extrahieren der Zählungen für die einzelnen Auswirkungsstufen aus dem Ergebnisobjekt:

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

Hier ist ein Beispielcode zum Extrahieren der Zählungen für die einzelnen Auswirkungsstufen aus dem Ergebnisobjekt:

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