Instantáneas semánticas ARIA para agentes de IA en automatización web
Los primeros agentes de IA dependían del HTML crudo, lo cual funcionaba bien para tareas basadas en texto pero fallaba estrepitosamente en interfaces complejas. Los filtros genéricos ayudaron, pero los elementos interactivos necesitaban alternativas. Las capturas de pantalla se usan en automatización de escritorio con una precisión del ~86% (GPT-5.2), pero consumen tokens y tienen dificultades para rastrear cambios—especialmente con selectores de fecha.
Herramientas de pruebas E2E como Playwright recurrieron a ARIA—una norma W3C (WAI-ARIA 1.0, 2014) diseñada originalmente para lectores de pantalla. ARIA enriquece el HTML con:
- roles: tipo de elemento (botón, cuadro de texto).
- nombres: etiquetas legibles por humanos.
- estados: condiciones dinámicas ([marcado], [deshabilitado]).
Las regulaciones de la UE y EE.UU. que exigen accesibilidad en sitios gubernamentales aceleraron su adopción. Google mejoró el árbol de accesibilidad de Chrome DevTools (2021).
Limitaciones de ARIA estándar para IA
ARIA está pensado para personas: las ventanas de contexto de lectores de pantalla son más pequeñas que el contexto de los LLM, y el foco está en la lectura secuencial. Problemas clave:
- La consistencia entre navegadores es débil en Firefox/WebKit.
- Las actualizaciones incrementales están limitadas.
- Depende fuertemente de APIs de Chrome (Puppeteer).
Playwright desarrolló su propio parser: inyecta JS en el navegador, construye una instantánea ARIA desde el DOM y maneja casos extremos. El formato de salida es YAML—limpio de CSS y "sopa de divs".
Estructura de instantáneas ARIA de Playwright
La instantánea representa un árbol semántico:
- navigation [ref=e1]:
- link "Inicio" [ref=e2]:
- /url: /
- link "Configuración" [ref=e3] [active]:
- /url: /settings
- main [ref=e4]:
- heading "Configuración de cuenta" [level=1]
- group "Perfil":
- textbox "Nombre de visualización" [ref=e5]: John Doe
- textbox "Correo electrónico" [ref=e6]: [email protected]
- /placeholder: [email protected]
- group "Preferencias":
- checkbox "Notificaciones por correo" [ref=e7] [checked]
- checkbox "Modo oscuro" [ref=e8]
- button "Guardar cambios" [ref=e9] [cursor=pointer]
Rol define la interacción: botón = clic, cuadro de texto = entrada.
Nombre se resuelve por prioridad: aria-labelledby > aria-label > label > contenido > título > placeholder. Un elemento sin nombre es invisible:
<button><svg class="icon-save"/></button> <!-- invisible -->
<button aria-label="Guardar"><svg class="icon-save"/></button> <!-- visible -->
Estado captura [marcado], [expandido].
Cada nodo tiene un ref para acciones:
{
"name": "browser_click",
"arguments": { "element": "botón Guardar cambios", "ref": "e9" }
}
Actualizaciones incrementales para optimización
Las instantáneas completas en páginas complejas pueden incluir miles de elementos—costosas en tokens. Playwright envía deltas en lugar de copias completas:
- <changed> main [ref=e4]:
- ref=e5 [unchanged]
- textbox "Correo electrónico" [ref=e6]: [email protected]
- ref=e7 [unchanged]
- checkbox "Modo oscuro" [ref=e8] [checked]
- ref=e9 [unchanged]
[unchanged] referencia el contexto del modelo, reduciendo los datos en un 94% (de 5KB a 300B para más de 100 elementos). Esto permite flujos multi-etapa sin volver a describir todo.
Desafíos al construir un parser semántico
Playwright maneja:
- template/slot: vista final renderizada.
- aria-owns: relaciones del DOM virtual.
- ::before/::after: contenido generado.
- Visibilidad: filtra display:none, aria-hidden, tamaño cero.
Problemas pendientes: los modales no siempre ocultan campos.
Zonas ciegas de ARIA:
- Visuales: colores, íconos.
- Disposición espacial: bounding boxes (experimental).
- Canvas/WebGL: invisibles sin ARIA.
- Semántica implícita: estilo solo con CSS.
Suficiente para formularios y navegación; tareas visuales requieren respaldos.
Comparación de herramientas para agentes
| Agente/Herramienta | Enfoque |
|------------|----------|
| Claude (MCP) | Playwright ARIA + deltas |
| Cursor | Similar a Claude |
| GitHub Copilot | Playwright ARIA (desde 2026) |
| ChatGPT Browsing | Análisis del DOM |
| Anthropic Computer Use | Capturas de pantalla |
| Stagehand | HTML |
| LaVague | Capturas de pantalla + HTML |
Tendencia: migración hacia Playwright ARIA.
Conclusiones clave
- Las instantáneas ARIA estandarizan observaciones para LLMs, reduciendo el uso de tokens en un 94% mediante actualizaciones diferenciales.
- Los identificadores de referencia simplifican acciones sin necesidad de XPath/CSS.
- El parser considera plantillas, aria-owns, ::before para árboles precisos.
- Limitaciones: ausencia de datos visuales o posicionales; el respaldo con capturas es esencial.
- La economía de la IA impulsa una adopción más rápida del HTML semántico.
— Editorial Team
Aún no hay comentarios.