Primeros pasos
Instalación
No existe un único comando de instalación. surea11y combina un motor central con varias integraciones publicadas por separado, por lo que el paquete que debes instalar depende de cómo ejecutes actualmente tus pruebas o scripts. Elige la opción que corresponda a tu entorno:
Usa Playwright para analizar una aplicación web real o la CLI para revisar HTML estático desde una terminal o un pipeline de CI.
| Necesidad | Opción recomendada | Motivo |
|---|---|---|
Un ejemplo de cinco minutos
La CLI es la forma más rápida de ver un resultado real: sin configurar un navegador, sin framework de pruebas. Analiza una página mínima:
<html lang="en"><body><main><h1>Welcome</h1><p style="color: #999999; background-color: #ffffff;">This text has low contrast.</p><a href="/details">Click here</a></main></body></html>
$ npm install -g @surea11y/cli$ surea11y scan ./index.html
surea11y scan: file:///path/to/index.htmlpass: 6 fail: 2 cantTell: 3 notApplicable: 114occurrences by tier: fail: 2 cantTell: 4FAIL (2 rule(s)):contrast-enhanced (serious, 1 fail occurrence(s))- html > body > main > pElement has insufficient color contrast (AAA) of 2.85:1 (foreground: #999999,background: #ffffff, font size: 0px, font weight: normal). Expected contrastratio of 7:1 (normal text).contrast-minimum (serious, 1 fail occurrence(s))- html > body > main > pElement has insufficient color contrast of 2.85:1 (foreground: #999999,background: #ffffff, font size: 0px, font weight: normal). Expected contrastratio of 4.5:1 (normal text).cantTell — needs human review (3 rule(s)): contrast-computable, link-name-quality,manual-review
Un fail del que el motor está seguro (contraste), una lista de cantTell para que revise una persona (¿es "Click here" un buen nombre de enlace?, ¿ese mismo texto de bajo contraste pasa otra comprobación distinta?, ¿hay algo aquí que necesite una revisión manual?) y, entre los 114 resultados notApplicable, target-size-minimum: no puede ejecutarse sin un layout CSS real, y un análisis de HTML estático no lo tiene. Consulta Resultados e informes para ver qué significa cada campo de un resultado completo.
- Tests end-to-end, manejando un navegador real o headless: Cypress, Playwright, Puppeteer, Selenium o WebdriverIO.
- Tests unitarios y de componentes, contra jsdom: test-matchers, para Jest o Vitest.
- HTML estático desde una terminal o un pipeline de CI: la CLI.
- Sin framework de pruebas ni paso de compilación: standalone: instala
@surea11y/coredirectamente o incorpora el bundle de navegador.
Uso
Ya sea con jsdom, un navegador real, cualquier integración (binding) o la CLI, un análisis devuelve un resultado con la misma estructura nativa: checksResults (una entrada por regla, incluyendo cada pass/notApplicable, no una lista de "solo violaciones") y rulesResults (resultados agregados por SC de WCAG). Esta no es la estructura violations/passes/incomplete/inapplicable que usan otras herramientas populares de pruebas de accesibilidad. Los métodos de cada integración siguen convenciones habituales del ecosistema para facilitar la migración, pero el esquema de resultado más rico se mantiene tal cual. Ver Resultados e informes para el esquema completo.