Analyseren van iframes
Hoe Axe Watcher content binnen iframes analyseert tijdens uw testuitvoeringen.
Pagina's plaatsen vaak aanzienlijke inhoud in <iframe> elementen: betaalformulieren, mediaplayers, ingesloten kaarten, chat- en helpwidgets en componenten van derden. Axe Watcher analyseert de inhoud van same-origin frames samen met de rest van de pagina, zodat ingelijste inhoud geen lacune in uw dekking vormt en geen aparte testen nodig heeft.
Frame-analyse heeft geen setup nodig, en de frame-afhandeling van Watcher is niet afhankelijk van de taal of testframework die u gebruikt: axe-core wordt geladen in de frames van de pagina en de resultaten van de frames worden geanalyseerd en gerapporteerd met de pagina-status die ze bevat.
Hoe Frameresultaten worden Gerapporteerd
Problemen gevonden binnen een frame worden toegeschreven aan de pagina-status van de pagina die het frame insluit, niet aan een aparte pagina-status. In Axe Developer Hub verschijnen ze met de rest van de problemen voor die pagina-status.
Wat een probleem identificeert als afkomstig van een frame, is zijn elementselector, die één invoer per niveau van framenesting bevat, gevolgd door een selector voor het element zelf. Een selector met twee ingangen wijst naar een element binnen één frame: de eerste ingang vindt het frame in het bovenliggende document, en de tweede vindt het element binnen het document van dat frame. Dit betekent dat een gerapporteerd element mogelijk niet bestaat in de eigen HTML van de pagina. Lees de selector van buiten naar binnen om te achterhalen waar het element zich daadwerkelijk bevindt.
Reikwijdte en Beperkingen
- Same-origin frames worden geanalyseerd. Een overtreding binnen een frame dat van dezelfde oorsprong als de pagina wordt bediend, wordt gerapporteerd met de resultaten van die pagina, geïdentificeerd door een selector die het frame benoemt en vervolgens het element erin.
- Cross-origin frames worden niet geanalyseerd tenzij u ze toestaat. Watcher draait binnen de browser naast uw applicatie, dus het same-origin beleid van de browser is van toepassing. Standaard wordt de inhoud in een frame van een andere oorsprong niet geanalyseerd en worden er geen overtredingen voor gerapporteerd. In Watcher 4.6.0 en later kunt u per oorsprong inschakelen met de
allowedOriginsoptie, zoals hieronder beschreven. - Frames worden met de pagina geanalyseerd, niet afzonderlijk. Frame-inhoud wordt gedekt door elke analyse van de pagina die het insluit, zodat een frame waarvan de inhoud verandert, wordt opgenomen door de analyse van de resulterende pagina-status.
- Frames volgen paginaniveau-configuratie. Opties die bepalen wat Watcher analyseert, zoals uw scans beheren en URL's uitsluiten, zijn van toepassing op de pagina als geheel, inclusief de frames. Er is geen aparte instelling voor frames.
Analyseren van Cross-Origin Frames
Watcher 4.6.0 heeft de allowedOrigins optie toegevoegd, die inschakelt om de inhoud van frames te analyseren die van genoemde oorsprongen worden bediend. Stel allowedOrigins in AxeConfiguration (JavaScript/TypeScript-integraties) of roep setAllowedOrigins() aan op AxeWatcherOptions (Java-integraties). Uw eigen oorsprong is altijd toegestaan, dus noem alleen de ingesloten oorsprongen die u wilt dekken:
axe: {
allowedOrigins: [ 'https://pay.example.com' ]
}Punten die de moeite waard zijn om te weten voordat u het inschakelt:
- Jokers worden niet ondersteund. Elke oorsprong moet expliciet worden genoemd, en een invoer die Watcher niet kan gebruiken wordt als een fout gerapporteerd in plaats van genegeerd te worden.
- Elke oorsprong die u vermeldt kan de pagina die het insluit aansturen en de opmaak ervan lezen. Noem alleen de oorsprongen die u vertrouwt met de inhoud van de te testen pagina.
- Elke oorsprong die u toestaat, voegt de inhoud van dat frame toe aan elke analyse, wat de analyse vertraagt. De standaard
analyzeenflushtime-outs worden verhoogd wanneer de optie is ingesteld. - Automatische analyse kan wijzigingen binnen een frame niet detecteren, dus een toegestane frame wordt geanalyseerd vanaf de laatste wijziging aan de hoofdpagina. Roep
analyze()aan nadat u interactie heeft gehad met inhoud binnen een frame.
Zie de allowedOrigins referentie voor het volledige invoerformaat en de validatieregels.
Schakel beste praktijken in als u afhankelijk bent van frame-dekking. De axe-core frame-tested regel maakt onderscheid tussen „geen problemen in dit frame“ en „dit frame is nooit geanalyseerd“: een frame dat Watcher niet kon bereiken, wordt gerapporteerd als „behoeft beoordeling“, en een dat het wel bereikte slaagt voor de regel. Omdat het een best-practice regel is, wordt een regelsset die beperkt is tot WCAG-regels geheel weggelaten, en een cross-origin frame dat u niet heeft toegestaan, produceert dan geen enkel signaal.
