Analisi degli iframe
Come Axe Watcher analizza i contenuti all'interno degli iframe durante i tuoi test.
Le pagine spesso incorporano contenuti sostanziali all'interno di elementi <iframe>: moduli di pagamento, lettori multimediali, mappe integrate, widget di chat e assistenza, e componenti di terze parti. Axe Watcher analizza il contenuto dei frame di origine comune insieme al resto della pagina, così il contenuto incorniciato non costituisce una lacuna nella tua copertura e non necessita di test separati.
L'analisi dei frame non richiede configurazioni, e la gestione dei frame di Watcher non dipende dal linguaggio o dal framework di test che utilizzi: axe-core viene caricato nei frame della pagina, e i risultati dai frame vengono analizzati e riportati con il stato della pagina che li contiene.
Come Vengono Riportati i Risultati dei Frame
I problemi riscontrati all'interno di un frame sono attribuiti allo stato della pagina che incorpora il frame, non a uno stato della pagina separato. Nell'Axe Developer Hub appaiono con il resto dei problemi per quello stato della pagina.
Ciò che identifica un problema come proveniente da un frame è il suo selettore di elementi, che contiene un'entrata per ogni livello di annidamento del frame seguita da un selettore per l'elemento stesso. Un selettore con due entrate punta a un elemento all'interno di un frame: la prima entrata trova il frame nel documento principale, e la seconda trova l'elemento all'interno del documento di quel frame. Ciò significa che un elemento riportato potrebbe non esistere nell'HTML della pagina stessa. Leggi il selettore dall'esterno verso l'interno per trovare dove si trova effettivamente l'elemento.
Ambito e Limitazioni
- I frame di origine comune sono analizzati. Una violazione all'interno di un frame servito dalla stessa origine della pagina viene riportata nei risultati di quella pagina, identificata da un selettore che nomina il frame e poi l'elemento al suo interno.
- I frame di origine differente non sono analizzati a meno che tu li permetta. Watcher gira nel browser insieme alla tua applicazione, quindi si applica la policy stessa origine del browser. Di default, il contenuto in un frame servito da un'origine diversa non viene analizzato e nessuna violazione viene riportata. In Watcher 4.6.0 e versioni successive puoi selezionare per origine con l'opzione
allowedOrigins, descritta di seguito. - I frame sono analizzati con la pagina, non separatamente. Il contenuto del frame è coperto da ogni analisi della pagina che lo incorpora, quindi un frame il cui contenuto cambia viene rilevato dall'analisi dello stato risultante della pagina.
- I frame seguono la configurazione a livello di pagina. Le opzioni che controllano ciò che Watcher analizza, come controllo dei tuoi scansioni e esclusione di URL, si applicano all'intera pagina compresi i suoi frame. Non c'è una configurazione separata per i frame.
Analisi dei Frame di Origine Differente
Watcher 4.6.0 ha aggiunto l'opzione allowedOrigins, che consente di analizzare il contenuto dei frame serviti dalle origini che nomini. Imposta allowedOrigins in AxeConfiguration (integrazioni JavaScript/TypeScript) o chiama setAllowedOrigins() su AxeWatcherOptions (integrazioni Java). La tua origine è sempre consentita, quindi elenca solo le origini incorporate che vuoi coprire:
axe: {
allowedOrigins: [ 'https://pay.example.com' ]
}Punti da conoscere prima di abilitarlo:
- I caratteri jolly non sono supportati. Ogni origine deve essere nominata esplicitamente, e un'entrata che Watcher non può usare viene riportata come errore anziché essere ignorata.
- Ogni origine che elenchi può guidare, e può leggere il markup della pagina che la incorpora. Elenca solo le origini di cui ti fidi con il contenuto della pagina in esame.
- Ogni origine che permetti aggiunge il contenuto di quel frame ad ogni analisi, il che rende l'analisi più lenta. I timeout predefiniti
analyzeeflushsi alzano quando l'opzione è impostata. - L'analisi automatica non può rilevare le modifiche effettuate all'interno di un frame, quindi un frame permesso viene analizzato dall'ultima modifica alla pagina di livello superiore. Chiama
analyze()dopo aver interagito con il contenuto all'interno di un frame.
Vedi il riferimento allowedOrigins per il formato completo dell'entrata e le regole di validazione.
Abilita migliori pratiche se dipendi dalla copertura dei frame. La regola frame-tested di axe-core distingue tra "nessun problema in questo frame" e "questo frame non è mai stato analizzato": un frame che Watcher non ha potuto raggiungere viene segnalato come da esaminare, mentre uno che è stato raggiunto supera la regola. Poiché è una regola di buona pratica, un set di regole limitato alle regole WCAG non la include affatto, e un frame di origine differente che non hai permesso non produce alcun segnale di alcun tipo.
