Por qué usamos un motor abierto y lo nombramos
Los motores de reglas son infraestructura básica. Escribir uno propio significaría volver a derivar cientos de comprobaciones, y un cliente aun así tendría que creernos sobre qué significa una incidencia. Un motor abierto puede auditarlo el desarrollador que tiene que corregir el código.
A cambio, el motor no es un foso, y no fingimos que lo sea. Nuestro trabajo está en las capas que un revisor de contratación lee de verdad: la correspondencia de cláusulas, el historial de regresiones, la firma manual y el paquete sellado que los une.
Qué detectan las reglas y qué no
Las ocho primeras filas son verificables por máquina. Las tres últimas están en toda auditoría seria y ningún motor puede decidirlas.
| Regla | Qué detecta | Impacto típico | Decidido por |
|---|---|---|---|
| image-alt | Imágenes sin alternativa textual | crítico | automatizado |
| color-contrast | Texto por debajo de la relación de contraste | grave | automatizado |
| label | Campos de formulario sin etiqueta programática | crítico | automatizado |
| link-name | Enlaces sin nombre discernible | grave | automatizado |
| target-size | Objetivos por debajo de 24 × 24 píxeles CSS | grave | automatizado |
| html-has-lang | Atributo de idioma ausente o incorrecto | grave | automatizado |
| heading-order | Niveles de encabezado omitidos | moderado | automatizado |
| aria-* | Funciones, estados y propiedades no válidos | crítico | automatizado |
| orden del foco | Si el orden tiene sentido | — | manual |
| trampas de teclado | Si un usuario puede salir de un widget | — | manual |
| flujo del lector de pantalla | Si la página se lee de forma coherente | — | manual |
Qué añade Conforma sobre el motor
La salida bruta de las reglas es una lista. Lo que un cliente necesita es una cadena de custodia, con un historial y un nombre junto a las decisiones de criterio.
Las pruebas automatizadas cubren solo una parte de las barreras de accesibilidad. Para una evaluación completa es necesaria una verificación manual.
Cómo se ejecuta en la canalización
- Playwright abre cada página en chromium, espera a que la red se estabilice, inyecta el motor y ejecuta el conjunto de reglas configurado, en el nivel y la versión frente a los que se supervisa el sitio.
- La salida sin modificar del motor se archiva por página, de modo que cualquier afirmación puede rastrearse hasta la medición exacta que la produjo.
- Cada infracción se convierte en una incidencia con una huella de regla, selector y ruta; así es como una corrección que reaparece tras un despliegue se notifica como una regresión.
- Nuestra propia descripción breve y sugerencia de corrección se adjuntan por regla, en lugar del texto de la norma copiado, de modo que un desarrollador obtiene un siguiente paso en vez de una cita.
Licencia, atribución y marca
axe-core lo publica Deque Systems bajo la Mozilla Public License 2.0. Lo consumimos como una dependencia sin modificar: la biblioteca se instala desde su paquete publicado, se inyecta en la página en tiempo de ejecución mediante Playwright y nunca se edita. Como no se modifica ningún archivo cubierto por la MPL, no se activa ninguna obligación de copyleft a nivel de archivo sobre nuestro propio código fuente; el texto de la licencia y el aviso de copyright viajan con la dependencia y se reproducen en nuestra página de atribuciones.
No usamos la marca « axe » en el nombre de nuestro producto, nuestro dominio, nuestro logotipo ni nuestras afirmaciones de marketing. Conforma no está afiliada a Deque Systems ni cuenta con su respaldo. Nombrar el motor es una declaración de procedencia, para que un desarrollador pueda verificar una incidencia frente a la regla original, no un respaldo prestado.
Si el motor se actualiza, la versión usada para un análisis se registra en los metadatos de la ejecución y viaja dentro del paquete de pruebas, de modo que una incidencia de marzo sigue siendo rastreable hasta el conjunto exacto de reglas que la produjo.
- Biblioteca
- axe-core, de Deque Systems
- Licencia
- Mozilla Public License 2.0
- Uso
- Dependencia sin modificar, envuelta
- Marca
- No usada en nuestro nombre ni marketing
Preguntas que nos hacen sobre esto
¿Modifican axe-core?
No. Es una dependencia bajo MPL-2.0, inyectada en tiempo de ejecución, envuelta en lugar de editada. La atribución está publicada, y la marca axe no se usa en el nombre de nuestro producto ni en el marketing.
¿Entonces Conforma es solo una envoltura?
El motor es una etapa. El rastreo, la correspondencia de cláusulas, la comparación de regresiones, el flujo de trabajo manual, la generación de la declaración y el paquete de pruebas sellado son nuestros, y es lo que se lee en una licitación.
¿Qué niveles de impacto se notifican?
Crítico, grave, moderado y menor. Mantenemos esas etiquetas, las ponderamos en una puntuación y siempre mostramos los recuentos brutos al lado para que la ponderación quede visible.