← Proyectos seleccionados

Proyecto independiente / AllyLab

De los hallazgos a cambios que se pueden revisar.

Un flujo de revisión de accesibilidad con un panel React, una API y una CLI, acompañado de un sitio Next.js.

ReactNext.jsTypeScriptAccesibilidadAPIs de LLM
Tabla de AllyLab con columnas de severidad y estado, y cuatro hallazgos sintéticos de accesibilidad
Aplicación real · secuencia guiada de capturas · hallazgos y métricas sintéticos · sin llamadas a APIs ni modelos. Interfaz original en inglés. Ver captura completa ↗

El problema

Un hallazgo de accesibilidad es solo el comienzo. Los ingenieros necesitan entender su severidad, seguir su estado, inspeccionar un cambio propuesto y comprobar qué problemas persisten.

Lo que construí

Desarrollé el flujo de revisión de accesibilidad de AllyLab en un panel React, una API y una CLI, además de su sitio Next.js. La interfaz conecta hallazgos automáticos con sugerencias asistidas por IA y revisión humana.

Decisión y compromiso

La severidad y el estado del problema se mantienen separados porque responden a preguntas distintas: urgencia y ciclo de vida. Las vistas de informes se cargan bajo demanda; el código de gráficos y exportación queda fuera de la carga inicial.

Las pantallas diferidas necesitan estados de carga explícitos. Las sugerencias estructuradas siguen siendo propuestas para revisión humana. No se afirma una mejora cuantificada del tamaño del paquete ni del tiempo de carga.

Cómo funciona el flujo

  1. Hallazgo. El resultado del escaneo identifica la regla, la severidad y la interfaz afectada.
  2. Cambio sugerido. Las sugerencias estructuradas asistidas por IA vinculan el código propuesto con el hallazgo.
  3. Revisión y reescaneo. Inspeccionar el cambio y comprobar si la regla sigue apareciendo.

Explorar la implementación

Aplicación real · secuencia guiada de capturas · hallazgos y métricas sintéticos · sin llamadas a APIs ni modelos. Interfaz original en inglés.

1. Revisar hallazgos

Cuatro hallazgos sintéticos mantienen separados la severidad y el estado del ciclo de vida. Ilustran estados de la interfaz, no resultados de accesibilidad de un cliente real.

Tabla real de AllyLab con cuatro problemas sintéticos y columnas separadas de severidad y estado
2. Filtrar por severidad

Seleccionar Critical limita la tabla al hallazgo de texto alternativo ausente. La puntuación y el tiempo de escaneo de este ejemplo son sintéticos, no mediciones de rendimiento.

Filtro Critical seleccionado en AllyLab y un hallazgo de texto alternativo ausente
3. Inspeccionar el hallazgo

El panel de detalle muestra la regla, el selector y el elemento de origen. El ejemplo no tiene captura del elemento, por lo que la interfaz real muestra su estado vacío. No se activó Generate AI Fix.

Panel de detalle de AllyLab con regla, selector CSS, elemento HTML y un estado explícito de captura ausente

Resultado y límites

La implementación incluye pruebas de selección, filtrado y detalle de hallazgos, además de utilidades de reescaneo que comprueban si persisten los identificadores de reglas. El resultado conecta un problema reportado con un cambio que se puede revisar.

Una corrección sugerida aún requiere revisión. Las comprobaciones automáticas y el reescaneo no certifican la accesibilidad ni demuestran un resultado medido de accesibilidad.

Explorar AllyLab en GitHub

Más historias de ingeniería