Calcular una puntuación

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 proporciona datos en el objeto de resultado que pueden ayudar a rastrear su progreso de accesibilidad a lo largo del tiempo. A continuación, destacaremos cómo calcular una puntuación de accesibilidad a partir de un escaneo en iOS y Android. Esta puntuación proporcionará una métrica de cómo va la accesibilidad en su aplicación. ¡O utilice estos puntos de datos para desarrollar una métrica de salud que funcione para su equipo!

El algoritmo

En esencia, recomendamos utilizar el mismo algoritmo que quizás haya visto en algunos de nuestros otros productos, pero con un enfoque móvil (no utilizamos el término páginas). ¡Alentamos a su equipo a modificar el siguiente algoritmo para que funcione para usted!

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

s2 = número de escaneos Serios

s1 = número de exploraciones Moderadas

s0 = número de escaneos con problemas menores o sin problemas

TS = Total de escaneos

Como puede ver, los resultados del escaneo se filtran por impacto: crítico, grave, moderado o leve. Definimos estos términos de la siguiente manera:

  1. Análisis menores = al menos un problema menor y ningún problema moderado, grave o crítico __
  2. Análisis moderados = al menos un problema moderado y ningún problema grave o crítico __
  3. Análisis graves = al menos un problema grave y ningún problema crítico __
  4. Análisis críticos = al menos un problema crítico

Nota: si trabaja con datos heredados, es posible que también vea el impacto del 'Bloqueador' obsoleto.

Puntuación de un solo escaneo

Para ilustrar cómo funciona este algoritmo, un solo escaneo recibiría una de las siguientes puntuaciones:

0% - Al menos uno crítico Problema

40% - Al menos uno grave Problema, y no crítico asuntos

80% - Al menos uno moderado Problema, y no grave o crítico asuntos

100% - Solo menor o no hay problemas

Puntuación de un grupo de exploraciones

Para un grupo de escaneos, la puntuación de accesibilidad del grupo es el promedio de las puntuaciones de cada escaneo en ese grupo. A modo de ejemplo, veamos un grupo de nueve pantallas con el siguiente desglose:

  • Dos escaneos con problemas críticos (2)
  • Un escaneo con un problema grave (1)
  • Dos escaneos con problemas moderados (2)
  • Un escaneo con un problema menor (1)
  • Tres escaneos sin problemas (3)

Introduzca el número de escaneos con sus respectivas puntuaciones en nuestro algoritmo:

0.4 * 1 + 0.8 * 2 + 4 / 9

Esto da como resultado una puntuación total de accesibilidad del grupo de 67%.

iOS

A partir del objeto de resultado, aquí hay un código de muestra para extraer los recuentos de cada nivel de impacto:

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

A partir del objeto de resultado, aquí hay un código de muestra para extraer los recuentos de cada nivel de impacto:

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