Analyse des iframes
Comment Axe Watcher analyse le contenu à l'intérieur des iframes lors de vos exécutions de tests.
Les pages placent souvent un contenu substantiel à l'intérieur des éléments <iframe> : formulaires de paiement, lecteurs multimédias, cartes intégrées, widgets de chat et d'aide, et composants tiers. Axe Watcher analyse le contenu des cadres de même origine avec le reste de la page, de sorte que le contenu des cadres ne constitue pas une lacune dans votre couverture et ne nécessite pas de tests distincts.
L'analyse des cadres ne nécessite aucune configuration, et le traitement des cadres par Watcher ne dépend ni du langage ni du cadre de test que vous utilisez : axe-core est chargé dans les cadres de la page, et les résultats des cadres sont analysés et rapportés avec le état de la page qui les contient.
Comment les résultats des cadres sont rapportés
Les problèmes trouvés à l'intérieur d'un cadre sont attribués à l'état de la page qui intègre le cadre, et non à un état de page distinct. Dans Axe Developer Hub, ils apparaissent avec le reste des problèmes pour cet état de page.
Ce qui identifie un problème comme provenant d'un cadre est son sélecteur d'élément, qui contient une entrée par niveau de nesting de cadre suivie d'un sélecteur pour l'élément lui-même. Un sélecteur avec deux entrées pointe vers un élément à l'intérieur d'un cadre : la première entrée trouve le cadre dans le document parent, et la seconde trouve l'élément dans le document de ce cadre. Cela signifie qu'un élément signalé peut ne pas exister dans le propre HTML de la page. Lisez le sélecteur de l'extérieur vers l'intérieur pour trouver où l'élément se trouve réellement.
Portée et limitations
- Les cadres de même origine sont analysés. Une violation à l'intérieur d'un cadre servi depuis la même origine que la page est signalée avec les résultats de cette page, identifiée par un sélecteur qui nomme le cadre puis l'élément à l'intérieur.
- Les cadres d'origine différente ne sont pas analysés sauf si vous les autorisez. Watcher fonctionne à l'intérieur du navigateur aux côtés de votre application, de sorte que la politique de même origine du navigateur s'applique. Par défaut, le contenu d'un cadre servi depuis une origine différente n'est pas analysé et aucune violation n'est signalée. Dans Watcher 4.6.0 et ultérieur, vous pouvez choisir d'inclure par origine avec l'option
allowedOrigins, décrite ci-dessous. - Les cadres sont analysés avec la page, pas séparément. Le contenu des cadres est pris en charge par chaque analyse de la page qui l'intègre, de sorte qu'un cadre dont le contenu change est pris en compte par l'analyse de l'état de la page résultant.
- Les cadres suivent la configuration au niveau de la page. Les options qui contrôlent ce que Watcher analyse, comme contrôle de vos analyses et exclusion d'URL, s'appliquent à l'ensemble de la page, y compris ses cadres. Il n'y a pas de paramètre séparé pour les cadres.
Analyse des cadres d'origine différente
Watcher 4.6.0 a ajouté l'option allowedOrigins, qui permet d'inclure dans l'analyse le contenu des cadres servis depuis des origines que vous nommez. Configurez allowedOrigins dans AxeConfiguration (intégrations JavaScript/TypeScript) ou appelez setAllowedOrigins() sur AxeWatcherOptions (intégrations Java). Votre propre origine est toujours autorisée, donc ne listez que les origines intégrées que vous souhaitez couvrir :
axe: {
allowedOrigins: [ 'https://pay.example.com' ]
}Points à connaître avant de l'activer :
- Les caractères génériques ne sont pas pris en charge. Chaque origine doit être nommée explicitement, et une entrée que Watcher ne peut pas utiliser est signalée comme une erreur plutôt que d'être ignorée.
- Chaque origine que vous listez peut diriger et peut lire le balisage de la page qui l'intègre. Listez uniquement les origines auxquelles vous faites confiance avec le contenu de la page à tester.
- Chaque origine que vous autorisez ajoute le contenu de ce cadre à chaque analyse, ce qui rend l'analyse plus lente. Les délais par défaut
analyzeetflushsont augmentés lorsque l'option est activée. - L'analyse automatique ne peut pas détecter les changements effectués à l'intérieur d'un cadre, donc un cadre autorisé est analysé à partir du dernier changement de la page de niveau supérieur. Appelez
analyze()après avoir interagi avec le contenu à l'intérieur d'un cadre.
Consultez la référence allowedOrigins pour le format complet d'entrée et les règles de validation.
Activez meilleures pratiques si vous dépendez de la couverture des cadres. La règle frame-tested d'axe-core est ce qui distingue « aucun problème dans ce cadre » de « ce cadre n'a jamais été analysé » : un cadre que Watcher n'a pas pu atteindre est signalé comme nécessitant un examen, et celui qu'il a atteint passe la règle. Comme il s'agit d'une règle de bonnes pratiques, un ensemble de règles limité aux règles WCAG ne l'inclut pas du tout, et un cadre d'origine différente que vous n'avez pas autorisé ne produit alors aucun signal.
