Analisando iframes

This page is not available in the language you requested. You have been redirected to the English version of the page.
Link to this page copied to clipboard

Como o Axe Watcher analisa o conteúdo dentro de iframes durante suas execuções de teste.

Not for use with personal data

As páginas frequentemente colocam conteúdo substancial dentro de elementos <iframe>: formulários de pagamento, players de mídia, mapas incorporados, widgets de chat e ajuda, e componentes de terceiros. O Axe Watcher analisa o conteúdo de frames com a mesma origem junto com o resto da página, para que o conteúdo em frames não seja uma lacuna na sua cobertura e não precise de testes próprios.

A análise de frames não requer configuração, e o tratamento de frames do Watcher não depende da linguagem ou framework de teste que você usa: o axe-core é carregado nos frames da página, e os resultados dos frames são analisados e relatados com o estado da página que os contém.

Como os Resultados dos Frames São Reportados

Questões encontradas dentro de um frame são atribuídas ao estado da página da página que incorpora o frame, e não a um estado de página separado. No Axe Developer Hub elas aparecem junto com o restante das questões para aquele estado da página.

O que identifica uma questão como proveniente de um frame é seu seletor de elemento, que contém uma entrada por nível de aninhamento de frame seguida por um seletor para o próprio elemento. Um seletor com duas entradas aponta para um elemento dentro de um frame: a primeira entrada encontra o frame no documento pai, e a segunda encontra o elemento dentro do documento desse frame. Isso significa que um elemento reportado pode não existir no próprio HTML da página. Leia o seletor de fora para dentro para descobrir onde o elemento realmente está.

Escopo e Limitações

  • Frames com a mesma origem são analisados. Uma violação dentro de um frame servido da mesma origem da página é reportada com os resultados daquela página, identificada por um seletor que nomeia o frame e então o elemento dentro dele.
  • Frames com origem cruzada não são analisados a menos que você permita. O Watcher é executado dentro do navegador junto com sua aplicação, portanto, a política da mesma origem do navegador se aplica. Por padrão, o conteúdo em um frame servido de outra origem não é analisado e nenhuma violação é reportada para ele. No Watcher 4.6.0 e versões posteriores, você pode optar por cada origem com a opção allowedOrigins, descrita abaixo.
  • Os frames são analisados com a página, não separadamente. O conteúdo dos frames é coberto por cada análise da página que os incorpora, então um frame cujo conteúdo muda é detectado pela análise do estado da página resultante.
  • Os frames seguem a configuração em nível de página. As opções que controlam o que o Watcher analisa, como controlar suas verificações e excluir URLs, se aplicam à página como um todo, incluindo seus frames. Não há configuração separada para frames.

Analisando Frames com Origem Cruzada

O Watcher 4.6.0 adicionou a opção allowedOrigins, que permite a análise do conteúdo de frames servidos de origens que você nomeia. Defina allowedOrigins em AxeConfiguration (integrações JavaScript/TypeScript) ou chame setAllowedOrigins() em AxeWatcherOptions (integrações Java). Sua própria origem é sempre permitida, então liste apenas as origens incorporadas que você deseja cobrir:

axe: {
  allowedOrigins: [ 'https://pay.example.com' ]
}

Pontos que vale a pena saber antes de habilitar:

  • Curingas não são suportados. Cada origem deve ser nomeada explicitamente, e uma entrada que o Watcher não puder usar é reportada como um erro em vez de ser ignorada.
  • Cada origem listada pode dirigir e ler a marcação da página que a incorpora. Liste apenas origens em que você confia com o conteúdo da página sob teste.
  • Cada origem que você permite adiciona o conteúdo desse frame a cada análise, o que torna a análise mais lenta. Os tempos padrão analyze e flush são aumentados quando a opção é configurada.
  • A análise automática não pode detectar alterações feitas dentro de um frame, então um frame permitido é analisado a partir da última alteração na página de nível superior. Chame analyze() após interagir com conteúdo dentro de um frame.

Veja a referência allowedOrigins para o formato completo de entrada e regras de validação.

important

Habilite melhores práticas se você depender da cobertura de frame. A regra frame-tested do axe-core é o que distingue "nenhuma questão neste frame" de "este frame nunca foi analisado": um frame que o Watcher não pôde alcançar é reportado como necessitando de revisão, e um que ele alcançou passa na regra. Como é uma regra de melhores práticas, um conjunto de regras limitado a regras WCAG a omite completamente, e um frame com origem cruzada que você não permitiu então não produz nenhum sinal de qualquer tipo.

Tópicos Relacionados