Calcular uma Pontuação

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

O axe DevTools Mobile fornece dados no objeto de resultados que podem ajudar a acompanhar seu progresso de acessibilidade ao longo do tempo. Abaixo, destacaremos como calcular uma pontuação de acessibilidade a partir de uma análise em iOS e Android. Essa pontuação fornecerá uma métrica de como a acessibilidade está progredindo em sua aplicação. Ou, use esses pontos de dados para desenvolver uma métrica de saúde que funcione para sua equipe!

O Algoritmo

No essencial, recomendamos usar o mesmo algoritmo que você pode ter visto em alguns de nossos outros produtos, mas com um toque móvel (não usamos o termo páginas). Incentivamos sua equipe a modificar o algoritmo a seguir para funcionar para você!

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

s2 = número de análises Graves

s1 = número de análises Moderadas

s0 = número de análises com Problemas Menores ou sem problemas

TS = Total de análises

Como você pode ver, os resultados das análises são filtrados por impacto: Crítico, Grave, Moderado ou Menor. Definimos esses termos da seguinte maneira:

  1. Análises Menores = pelo menos um problema Menor e nenhum problema Moderado, Grave ou Crítico
  2. Análises Moderadas = pelo menos um problema Moderado e nenhum problema Grave ou Crítico
  3. Análises Graves = pelo menos um problema Grave e nenhum problema Crítico
  4. Análises Críticas = pelo menos um problema Crítico

Nota: ao trabalhar com dados legados, você também pode ver o impacto obsoleto 'Bloqueador'.

Pontuação de uma única análise

Para ilustrar como este algoritmo funciona, uma única análise receberia uma das seguintes pontuações:

0% - Pelo menos um problema crítico

40% - Pelo menos um problema grave , e nenhum problema crítico

80% - Pelo menos um problema moderado , e nenhum problema grave ou crítico

100% - Apenas problemas menores ou sem problemas

Pontuação de um grupo de verificações

Para um grupo de verificações, a pontuação de acessibilidade do grupo é a média das pontuações de cada verificação nesse grupo. Como exemplo, vamos analisar um grupo de nove telas com a seguinte distribuição:

  • Duas verificações com problemas críticos (2)
  • Uma verificação com um problema sério (1)
  • Duas verificações com problemas moderados (2)
  • Uma verificação com um problema menor (1)
  • Três verificações sem problemas (3)

Insira o número de verificações com suas respectivas pontuações em nosso algoritmo:

0.4 * 1 + 0.8 * 2 + 4 / 9

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

iOS

Do objeto de resultado, aqui está um exemplo de código para extrair a contagem de cada nível 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

Do objeto de resultado, aqui está um exemplo de código para extrair a contagem de cada nível 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 -> {}
    }
}