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 tu progreso en 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 tu aplicación. ¡O utiliza estos puntos de datos para desarrollar una métrica de salud que funcione para tu equipo!

El Algoritmo

En esencia, recomendamos usar el mismo algoritmo que quizás hayas visto en algunos de nuestros otros productos, pero con un toque móvil (no usamos el término páginas). ¡Animamos a tu equipo a modificar el siguiente algoritmo para que funcione para ustedes!

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

s2 = número de escaneos Serios

s1 = número de escaneos Moderados

s0 = número de escaneos con Problemas Menores o sin problemas

TS = Total de escaneos

Como puedes ver, los resultados de los escaneos se filtran por impacto: Crítico, Serio, Moderado o Menor. Definimos estos términos de la siguiente manera:

  1. Escaneos Menores = al menos un problema Menor y ningún problemas Moderados, Serios o Críticos
  2. Escaneos Moderados = al menos un problema Moderado y ningún problemas Serios o Críticos
  3. Escaneos Serios = al menos un problema Serio y ningún problemas Críticos
  4. Escaneos Críticos = al menos un problema Crítico

Nota: si trabajas con datos heredados, también puedes ver el impacto obsoleto 'Blocker'.

Calificar un solo escaneo

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

0% - Al menos un problema crítico

40% - Al menos un problema serio , y ningún problema crítico

80% - Al menos un problema moderado , y ningún problema serio o crítico

100% - Solo problemas menores o ningún problema

Calificar un grupo de escaneos

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 la siguiente distribución:

  • 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)

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

0.4 * 1 + 0.8 * 2 + 4 / 9

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

iOS

Desde el objeto de resultado, aquí tienes un código de ejemplo para extraer los conteos 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

Desde el objeto de resultado, aquí tienes un código de ejemplo para extraer los conteos 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 -> {}
    }
}