Análisis de iframes
Cómo Axe Watcher analiza el contenido dentro de los iframes durante tus ejecuciones de prueba.
Las páginas a menudo colocan contenido significativo dentro de elementos <iframe>: formularios de pago, reproductores multimedia, mapas integrados, widgets de chat y ayuda, y componentes de terceros. Axe Watcher analiza el contenido de los marcos de mismo origen junto con el resto de la página, por lo que el contenido dentro de marcos no se convierte en una brecha en tu cobertura y no necesita sus propias pruebas.
El análisis de marcos no requiere configuración, y el manejo de marcos de Watcher no depende del lenguaje o marco de pruebas que utilices: axe-core se carga en los marcos de la página, y los resultados de los marcos se analizan e informan junto con el estado de la página que los contiene.
Cómo se Informan los Resultados de los Marcos
Los problemas encontrados dentro de un marco se atribuyen al estado de la página que incrusta el marco, no a un estado de página separado. En Axe Developer Hub aparecen con el resto de los problemas para ese estado de la página.
Lo que identifica un problema como procedente de un marco es su selector de elemento, que contiene una entrada por cada nivel de anidación de marcos seguido por un selector para el elemento en sí. Un selector con dos entradas señala un elemento dentro de un marco: la primera entrada encuentra el marco en el documento principal, y la segunda encuentra el elemento dentro del documento de ese marco. Esto significa que un elemento reportado puede no existir en el HTML propio de la página. Lee el selector de afuera hacia adentro para encontrar dónde realmente se encuentra el elemento.
Alcance y Limitaciones
- Se analizan los marcos de mismo origen. Una violación dentro de un marco servido desde el mismo origen que la página se informa con los resultados de esa página, identificada por un selector que nombra el marco y luego el elemento dentro de él.
- No se analizan los marcos de origen cruzado a menos que los permitas. Watcher se ejecuta dentro del navegador junto a tu aplicación, por lo que aplica la política de mismo origen del navegador. Por defecto, el contenido en un marco servido desde un origen diferente no se analiza y no se informan violaciones para él. En Watcher 4.6.0 y versiones posteriores puedes optar por origen con la opción
allowedOrigins, descrita a continuación. - Los marcos se analizan con la página, no por separado. El contenido del marco está cubierto por cada análisis de la página que lo incrusta, por lo que un marco cuyo contenido cambia es captado por el análisis del estado resultante de la página.
- Los marcos siguen la configuración a nivel de página. Las opciones que controlan lo que Watcher analiza, como controlar tus escaneos y excluir URLs, se aplican a la página en su totalidad, incluidos sus marcos. No hay una configuración separada para los marcos.
Análisis de Marcos de Origen Cruzado
Watcher 4.6.0 agregó la opción allowedOrigins, que permite analizar el contenido de los marcos servidos desde orígenes que tú nombras. Configura allowedOrigins en AxeConfiguration (integraciones de JavaScript/TypeScript) o llama a setAllowedOrigins() en AxeWatcherOptions (integraciones de Java). Tu propio origen siempre está permitido, por lo que solo enumera los orígenes integrados que deseas cubrir:
axe: {
allowedOrigins: [ 'https://pay.example.com' ]
}Puntos que vale la pena saber antes de habilitarlo:
- Los comodines no son compatibles. Cada origen debe ser nombrado explícitamente, y una entrada que Watcher no puede usar se informa como un error en lugar de ser ignorada.
- Cada origen que enumeras puede dirigir y leer el marcado de la página que lo incrusta. Enumera solo los orígenes en los que confías con el contenido de la página bajo prueba.
- Cada origen que permites agrega el contenido de ese marco a cada análisis, lo que hace que el análisis sea más lento. Los tiempos de espera predeterminados de
analyzeyflushse incrementan cuando se establece la opción. - El análisis automático no puede detectar cambios realizados dentro de un marco, por lo que un marco permitido se analiza a partir del último cambio en la página de nivel superior. Llama a
analyze()después de interactuar con el contenido dentro de un marco.
Consulta la allowedOrigins referencia para conocer el formato completo de entrada y las reglas de validación.
Habilita mejores prácticas si dependes de la cobertura de marcos. La regla frame-tested de axe-core es lo que distingue "sin problemas en este marco" de "este marco nunca fue analizado": un marco que Watcher no pudo alcanzar se informa como necesitando revisión, y uno que sí alcanzó pasa la regla. Dado que es una regla de mejores prácticas, un conjunto de reglas limitado a reglas WCAG la omite por completo, y un marco de origen cruzado que no has permitido no produce ninguna señal de ningún tipo.
