Referência da API Python do axe-devtools-api

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

Referência da API para o pacote Python axe-devtools-api para injetar e executar o axe-core

Not for use with personal data

Fornece uma API com a qual é possível injetar e executar o axe-core em uma página web.

axe_devtools_api.Axe

Configura como o axe-core é executado e o executa na página.

report = Axe(page).with_rules("document-title", "label").analyze()

Axe(page, report_configuration=None, axe_source=None)

Inicialize uma instância de Axe com um adaptador de navegador e configuração opcional.

page: Um adaptador de navegador, como uma instância de AxeDriver de axe-devtools-selenium.

report_configuration: Opcional. Um objeto de configuração de relatório.

axe_source: Opcional. Uma string do código-fonte do axe-core para usar em vez da versão incorporada.

analyze()

Injete o axe-core na página e execute a análise de acessibilidade.

Retorna um objeto Results. Veja Gerando Relatórios com Python para a API completa de Results e como configurar os metadados dos relatórios.

report = Axe(page).analyze()

including(*selector)

Especifique a parte da página para o axe-core analisar. Para analisar várias partes não relacionadas da página, chame including() uma vez para cada uma delas, passando um único seletor cada vez.

selector: Um único seletor CSS para os elementos a incluir. Passar mais de um seletor em uma única chamada é sempre interpretado como um seletor de iframe, em vez de inclusões separadas: cada seletor, exceto o último, corresponde a um nível de aninhamento de iframe, e o último corresponde ao elemento a ser analisado dentro do iframe mais interno.

Retorna este objeto para encadeamento.

# Analyze .sidebar and .some-class, which are both in the top-level document
report = Axe(page).including(".sidebar").including(".some-class").analyze()

# Analyze .some-class inside the iframe matched by .sidebar-frame
report = Axe(page).including(".sidebar-frame", ".some-class").analyze()

Para alcançar um elemento dentro de uma shadow root, passe um único dicionário fromShadowDom em vez de um seletor CSS. Todos os seletores na lista, exceto o último, correspondem a um host shadow; o último corresponde ao elemento a ser analisado dentro do shadow root mais interno.

# Analyze #shadow-button inside the shadow root attached to #shadow-host
report = Axe(page).including({"fromShadowDom": ["#shadow-host", "#shadow-button"]}).analyze()

Um dicionário fromFrames é o equivalente explícito do seletor de iframe mostrado acima e é a forma recomendada para novos testes.

# Analyze the form inside the #payment-frame iframe
report = Axe(page).including({"fromFrames": ["#payment-frame", "form"]}).analyze()

Os dois podem ser combinados para alcançar um iframe que reside dentro de uma shadow root. O dicionário fromShadowDom deve ser aninhado dentro da lista fromFrames; o contrário causa um erro.

# Analyze the form inside the iframe matched by #shadow-frame, which is inside the
# shadow root attached to #shadow-host
report = Axe(page).including({
    "fromFrames": [
        {"fromShadowDom": ["#shadow-host", "#shadow-frame"]},
        "form",
    ]
}).analyze()

excluding(*selector)

Especifique a parte da página para o axe-core ignorar durante a análise. Para ignorar várias partes não relacionadas da página, chame excluding() uma vez para cada uma delas, passando um único seletor cada vez.

selector: Um único seletor CSS para os elementos a excluir. Passar mais de um seletor em uma única chamada é sempre interpretado como um seletor de iframe, em vez de exclusões separadas: cada seletor, exceto o último, corresponde a um nível de aninhamento de iframe, e o último corresponde ao elemento a ser ignorado dentro do iframe mais interno.

Retorna este objeto para encadeamento.

# Skip .third-party-ad and .cookie-banner, which are both in the top-level document
report = Axe(page).excluding(".third-party-ad").excluding(".cookie-banner").analyze()

# Skip .third-party-ad inside the iframe matched by .iframe1
report = Axe(page).excluding(".iframe1", ".third-party-ad").analyze()

Assim como including(), um único dicionário fromShadowDom ou fromFrames pode ser passado no lugar de um seletor CSS, e os dois podem ser aninhados. Veja including() para a descrição completa dessas formas.

# Skip #shadow-button inside the shadow root attached to #shadow-host
report = Axe(page).excluding({"fromShadowDom": ["#shadow-host", "#shadow-button"]}).analyze()

# Skip the form inside the #payment-frame iframe
report = Axe(page).excluding({"fromFrames": ["#payment-frame", "form"]}).analyze()

with_rules(*rules)

Especifique regras (por ID) para o axe-core executar. Apenas as regras especificadas são usadas. Esta opção é incompatível com with_tags.

rules: Um ou mais IDs de regras. Veja Descrições de Regras para uma lista de IDs válidos.

Retorna este objeto para encadeamento.

Levanta RuntimeError se chamado junto com with_tags na mesma instância.

report = Axe(page).with_rules("document-title", "label").analyze()

with_tags(*tags)

Especifique regras (por tag) para o axe-core executar. Apenas as regras especificadas são usadas. Esta opção é incompatível com with_rules.

tags: Um ou mais nomes de tags. Veja etiquetas do axe-core para uma lista de tags válidas.

Retorna este objeto para encadeamento.

Levanta RuntimeError se chamado junto com with_rules na mesma instância.

report = Axe(page).with_tags("best-practice", "wcag2a").analyze()

disabling_rules(*rules)

Desative regras específicas da execução do axe-core.

rules: Um ou mais IDs de regras.

Retorna este objeto para encadeamento.

report = Axe(page).disabling_rules("html-has-lang", "label").analyze()

run_options(options)

Especifique opções de execução para passar para o axe-core ao chamar axe.run.

options: Objeto de opções para passar ao axe-core.

Retorna este objeto para encadeamento.

options = {"iframes": False}
report = Axe(page).run_options(options).analyze()

configure(spec)

Configure o axe-core via axe.configure.

spec: Objeto spec para passar para axe.configure.

Retorna este objeto para encadeamento.

report = Axe(page).configure(spec).analyze()

without_iframe_sandboxes()

Remova o atributo sandbox dos iframes para que o axe-core possa ser executado dentro deles.

Retorna este objeto para encadeamento.

report = Axe(page).without_iframe_sandboxes().analyze()

with_config_file(config_path)

Defina o caminho para um arquivo de configuração de conjunto de regras. O caminho padrão é config/axe-ruleset.json, ou o valor da variável de ambiente $AXE_RULESET_PATH se definido.

config_path: Caminho para o arquivo de configuração.

Retorna este objeto para encadeamento.

report = Axe(page).with_config_file("path/to/file.json").analyze()

with_ruleset(ruleset_id, enable_best_practices=False)

Use um conjunto de regras específico para a execução do axe-core.

ruleset_id: ID do conjunto de regras a ser usado. Conjuntos de regras disponíveis: wcag2, wcag2.1, wcag2.2, wcag2aaa, wcag2.1aaa, wcag2.2aaa, 508, en301549, ttv5, rgaav4.

enable_best_practices: Se as regras marcadas como best-practice devem ser ativadas. O padrão é False.

Retorna este objeto para encadeamento.

report = Axe(page).with_ruleset("508").analyze()

set_legacy_mode(state=True)

Use axe.run em vez de axe.runPartial. Traz implicações de origem cruzada.

state: Se o modo legado deve ser ativado. O padrão é True.

Retorna este objeto para encadeamento.

report = Axe(page).set_legacy_mode().analyze()

Serviço de Uso

Obtenha informações sobre as tendências de uso do Axe DevTools dentro da sua organização. Por padrão, o serviço de uso está habilitado e faz relatórios para https://usage.deque.com. Defina a variável de ambiente AXE_TRACK_USAGE para false para desativá-lo.

Variáveis de ambiente do serviço de uso

Essas variáveis de ambiente permitem configurar o serviço de uso e alterar as propriedades dos eventos relatados.

Nome Tipo Pode Sobrescrever Descrição
AXE_DISTINCT_ID String Um identificador UUID que permanece o mesmo para o usuário logado (a menos que seja regenerado). Em Ruby, essa variável é chamada de DEQUE_DISTINCT_ID.
AXE_INCLUDE_TEST_RESULTS Boolean Defina como true para incluir os resultados completos do axe-core no objeto testResults de cada evento (o padrão é false). Suportado apenas pelo CLI e pelas APIs do Node.js.
AXE_METRICS_URL String A URL do endpoint de uso REST (o padrão é https://usage.deque.com)
AXE_TRACK_USAGE Boolean Defina como false para desativar o relatório do serviço de uso. O relatório está ativado por padrão.
AXE_APPLICATION String false O aplicativo que foi utilizado para verificar erros de acessibilidade
AXE_DEV_INSTANCE Boolean true Indica se este evento é resultante das ações de um desenvolvedor de software. Útil para marcar e posteriormente remover eventos registrados durante o desenvolvimento ou teste.
AXE_DEPARTMENT String true O departamento do usuário dentro da organização
AXE_KEYCLOAK_ID String false O ID Keycloak do usuário
AXE_LOGGED_IN Boolean false Registra se o usuário está logado na aplicação em teste
AXE_ORGANIZATION String true A organização do usuário. Para que seu uso apareça nos Relatórios Axe, defina isso para o ID da sua organização (entre em contato com a Deque para obtê-lo).
AXE_SESSION_ID String false Um UUID identificando a sessão do usuário
AXE_USER_ID String false A identidade de um usuário específico, como um endereço de e-mail, nome ou ID de login. Os Relatórios Axe contam usuários únicos a partir deste valor.
AXE_USER_JOB_ROLE String false O cargo do usuário
AXE_USER_STATUS String false Informações de status que você deseja associar ao usuário

enable_tracking(state)

Escolha optar por enviar ou não dados para o serviço de uso. O envio está habilitado por padrão.

state: Se o rastreamento está ativado.

Retorna este objeto para encadeamento.

report = Axe(page).enable_tracking(True).analyze()

set_tracking_url(url)

Definir para onde os dados das métricas de uso são enviados.

url: URL para onde os dados serão enviados.

Retorna este objeto para encadeamento.

report = Axe(page).set_tracking_url("https://usage.deque.com").analyze()

set_distinct_id(id)

Definir o ID distinto usado ao enviar métricas de uso.

id: ID distinto a ser enviado.

Retorna este objeto para encadeamento.

report = Axe(page).set_distinct_id("SOMEUUID").analyze()