Referência de API C#

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 de API para as classes e métodos Axe DevTools para Web em C#

Not for use with personal data

Classes Axe DevTools em C#

Esta página documenta as classes que compõem o Axe DevTools em C#

class Deque.AxeDevtools.Selenium.AxeSelenium

A interface para o axe. Contém configurações para alterar como o axe é executado, bem como a capacidade de executar o axe.

Campo estático Tipo Descrição
defaultAxeSource string A string padrão do axe-core que será usada.

AxeSelenium(OpenQA.Selenium.Remote.RemoteWebDriver, ConfiguraçãoRelatório?, string)

Cria um novo objeto AxeSelenium para uma página com configuração específica.

Parâmetro Descrição
webdriver Objeto Selenium da página a ser testada. Deve estar no estado pronto para teste.
configuraçãoRelatório Configuração para várias informações específicas do relatório. Padrão para ReportConfiguration.GetDefault()
fonteAxe Fonte axe-core a ser usada. Padrão para AxeSelenium.defaultAxeSource

ResultadosRelatórioAnalisar()

Executa o axe na página.

Retorna: O relatório da execução do axe-core na página.

var report = new AxeSelenium(driver).Analyze();

AxeSelenium Configurar(Especificação)

Configura o axe. Feito via axe.configure

Parâmetro Descrição
especificação Objeto de especificação a ser passado.

Retorna: Este objeto para encadeamento.

var spec = new Spec.Spec {
    Checks = new Spec.Check[] {
        new Spec.Check() {
            Id = "dylang",
            Options = (object) new string[] { "dylan" },
            Evaluate = @"function (node, options) {
              var lang = (node.getAttribute('lang') || '').trim().toLowerCase();
              var xmlLang = (node.getAttribute('xml:lang') || '').trim().toLowerCase();
              var invalid = [];
              (options || []).forEach(function(cc) {
                cc = cc.toLowerCase();
                if (lang && (lang === cc || lang.indexOf(cc.toLowerCase() + '-') === 0)) {
                  lang = null;
                }
                if (xmlLang && (xmlLang === cc || xmlLang.indexOf(cc.toLowerCase() + '-') === 0)) {
                  xmlLang = null;
                }
              });
              if (xmlLang) {
                invalid.push('xml:lang='' + xmlLang + ''');
              }
              if (lang) {
                invalid.push('lang='' + lang + ''');
              }
              if (invalid.length) {
                this.data(invalid);
                return true;
              }
              return false;
            }"
        }
    },
    Rules = new Spec.Rule[] {
        new Spec.Rule() {
            Id = "dylang",
            Selector = "html",
            Tags = new string[] { "wcag2aa" },
            All = new string[0],
            Any = new string[0],
            None = new string[] { "dylang" }
        }
    }
};
var report = new AxeSelenium(driver)
  .Configure(spec)
  .Analyze()

AxeSeleniumDesativandoRegras(string[])

Desativa algumas regras ao executar o axe.

Parâmetro Descrição
regras Lista de IDs das regras.

Retorna: Este objeto para encadeamento.

var report = new AxeSelenium(driver)
  .DisablingRules("html-has-lang", "label")
  .Analyze()

AxeSeleniumExcluindo(string[])

Especifique parte da página a ser excluída ao executar o axe.

Parâmetro Descrição
seletor Lista de seletores CSS para elementos.

Retorna: Este objeto para encadeamento.

var report = new AxeSelenium(driver)
  .Excluding(".third-party-ad", ".iframe1")
  .Analyze()

AxeSeleniumIncluindo(string[])

Especificar parte da página para executar o axe.

Parâmetro Descrição
seletor Lista de seletores CSS para elementos.

Retorna: Este objeto para encadeamento.

var report = new AxeSelenium(driver)
  .Including(".sidebar", ".some-class")
  .Analyze()

AxeSelenium RunOptions(RunOptions)

Especifique RunOptions para passar para o axe ao chamar axe.run.

Parâmetro Descrição
opções Objeto a ser passado

Retorna: Este objeto para encadeamento.

var options = new RunOptions.RunOptions {
  IFrames = false,
  RunOnly = RunOptions.RunOnly.Tags(RunOptions.TagType.Wcag2a)
};
var report = new AxeSelenium(driver)
  .RunOptions(options)
  .Analyze()

AxeSeleniumWithConfigFile(string)

Determine onde encontrar um arquivo de configuração. O caminho padrão é config/axe-ruleset.json ou $AXE_RULESET_PATH.

Parâmetro Descrição
caminho Caminho para o arquivo de configuração.

Retorna: Este objeto para encadeamento.

var report = new AxeSelenium(driver)
  .WithConfigFile("path/to/file.json")
  .Analyze();

AxeSeleniumWithRules(string[])

Especificar regras (por id) para usar ao executar o axe.

Parâmetro Descrição
regras Lista de ids de regras.

Retorna: Este objeto para encadeamento.

var report = new AxeSelenium(driver)
  .WithRules("document-title", "label")
  .WithRules("html-has-lang")
  .Analyze()

AxeSeleniumWithRuleset(string, bool)

Use um conjunto de regras específico (isto é, wcag2.1, 508).

Parâmetro Descrição
idConjuntoDeRegras Id do conjunto de regras a ser utilizado.
ativarMelhoresPráticas Se deve ou não ativar as regras marcadas best-practice. Padrão para false

Retornos: Este objeto para encadeamento.

var report = new AxeSelenium(driver)
  .WithRuleset("508", true)
  .Analyze()

AxeSelenium ComTags(TagType[])

Especifique regras (por tag) a serem usadas ao executar o axe.

Parâmetro Descrição
tags Lista de tags de regras.

Retornos: Este objeto para encadeamento.

var report = new AxeSelenium(driver)
  .WithTags(RunTagType.BestPractice)
  .Analyze()

Variáveis de ambiente

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)
AXE_METRICS_URL String A URL do endpoint de uso REST
AXE_TRACK_USAGE Boolean Ativa o relatório de serviço de uso (padrão é false)
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
AXE_SESSION_ID String false Um UUID identificando a sessão do usuário
AXE_USER_ID String false A identidade específica de usuário, como nome ou ID de login
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

AxeSeleniumAtivarRastreamento(bool)

Optar por enviar ou não dados para o serviço de uso.

Parâmetro Descrição
estado Se o rastreamento está ativado

Retornos: Este objeto para encadeamento.

AxeSeleniumDefinirUrlRastreamento(string)

Defina para onde os dados de métricas de uso são enviados. Padrão para https://usage.deque.com

Parâmetro Descrição
url URL para onde serão enviados

Retornos: Este objeto para encadeamento.

AxeSeleniumDefinirIdDistinto(string)

Defina o id distinto usado ao enviar métricas de uso.

Parâmetro Descrição
id UUID a ser enviado como id distinto

Retornos: Este objeto para encadeamento.

class Deque.AxeDevtools.Selenium.ReportConfiguration

Configura informações específicas do relatório, como nome da suíte de testes ou informações do agente do usuário

Campo estático Tipo Descrição
FORMATO_TIMESTAMP string Formato dos carimbos de data/hora nos relatórios.

estático ConfiguraçãoDoRelatórioGetDefault()

Obtém a configuração padrão atual. Note que o padrão pode ser alterado.

Retorna: A configuração padrão atual.

estático void ResetDefault()

Redefine o padrão para seu estado inicial.

void SetAsDefault()

Define este objeto como padrão.

ReportConfiguration.GetDefault()
  .TestSuiteName("my-tests")
  .UIState("home-page")
  .SetAsDefault();

ConfiguraçãoDoRelatórioTestMachine(string)

Define a máquina em que esses testes foram executados.

Parâmetro Descrição
testMachine ID para a máquina.

Retorna: Este objeto para encadeamento.

ConfiguraçãoDoRelatórioTestSuiteName(string)

Define o nome do conjunto de testes.

Parâmetro Descrição
name Nome.

Retorna: Este objeto para encadeamento.

ConfiguraçãoDoRelatórioUIState(string)

Especifica o estado da interface de usuário para este conjunto de testes. Usado como ID.

Parâmetro Descrição
id ID do estado.

Retorna: Este objeto para encadeamento.

ConfiguraçãoDoRelatórioUserAgent(string)

Define o agente de usuário utilizado durante o teste.

Parâmetro Descrição
userAgent String do agente de usuário.

Retorna: Este objeto para encadeamento.

class Deque.AxeDevtools.Selenium.Results.Check

O resultado de executar uma verificação axe.

Campo Tipo Descrição
Dados objeto Informações adicionais que são específicas para o tipo de Verificação, que são opcionais. Por exemplo, uma verificação de contraste de cores incluiria a cor do primeiro plano, a cor do plano de fundo, a razão de contraste, etc.
Id string Identificador único para esta verificação. Os IDs de verificação podem ser os mesmos dos IDs de regra.
Impacto string Quão grave é esta verificação específica. Pode ser uma das seguintes: "menor", "moderado", "grave" ou "crítico". Cada verificação que é parte de uma regra pode ter impactos diferentes. O maior impacto de todas as verificações que falham é reportado para a regra.
Mensagem string Descrição de por que esta verificação passou ou falhou.
NósRelacionados Lista<> Array opcional de informações sobre outros nós que estão relacionados a esta verificação. Por exemplo, uma violação de verificação de id duplicado listaria os outros seletores que tinham este mesmo id duplicado.

class Deque.AxeDevtools.Selenium.Results.CheckedNode

Um nó HTML que foi verificado por uma regra.

Campo Tipo Descrição
Todos Lista<Verificação> Array de verificações feitas em que todas devem ter passado.
Qualquer Lista<Verificação> Array de verificações feitas em que pelo menos uma deve ter passado.
Impacto string Quão grave é a violação. Pode ser uma das seguintes: "menor", "moderado", "grave" ou "crítico" se o teste falhou ou nulo se a verificação passou.
Nenhum Lista<Verificação> Array de verificações feitas em que todas não devem ter passado.

class Deque.AxeDevtools.Selenium.Results.Node

Especifica um nó HTML específico.

Campo Tipo Descrição
Html string Trecho de HTML do Elemento.
Alvo objeto Array de strings ou Arrays de strings. Se o item no array for uma string, então é um seletor CSS. Se houver múltiplos itens no array, cada item corresponde a um nível de iframe ou frame. Se houver um iframe ou frame, deve haver duas entradas no alvo. Se houver três níveis de iframe, deve haver quatro entradas no alvo. Se o item no Array for um Array de strings, ele aponta para um elemento em um shadow DOM e cada item (exceto o n-ésimo menos o último) nesse array é um seletor para um elemento DOM com um shadow DOM. O último elemento no array aponta para o nó final do shadow DOM.

class Deque.AxeDevtools.Selenium.Results.Platform

A plataforma na qual um teste foi executado.

Campo Tipo Descrição
TestMachine string Id da máquina onde o teste foi realizado.
UserAgent string Agente de usuário em que o teste foi realizado.

class Deque.AxeDevtools.Selenium.Results.ReportResults

Resultados de um teste que são compatíveis com o formato do repórter.

var axe = new AxeSelenium(driver, ReportConfiguration.GetDefault().UIState("UIState"));
var res = axe.Analyze();
File.WriteAllText(reportPath, JsonConvert.SerializeObject(res));
Campo Tipo Descrição
EndTime string Quando o teste foi concluído.
Achados TestResults Resultados Axe.
Id string Id para a execução do teste.
Nome string Nome da execução do teste.
Plataforma Plataforma Informações sobre a plataforma em que o teste foi realizado.
TestSubject TestSubject Informações sobre onde o teste foi realizado (por exemplo, a URL da página web).
Tipo string Tipo de relatório. Sempre é "attest-result".

class Deque.AxeDevtools.Selenium.Results.Rule

Resultado para uma única regra.

Campo Tipo Descrição
CreatedDate string A data e hora em que a análise foi concluída.
Descrição string Sequência de texto que descreve o que a regra faz.
Ajuda string Texto de ajuda que descreve o teste realizado.
HelpUrl string URL que fornece mais informações sobre os detalhes da violação. Links para uma página no site da Deque University.
Id string Identificador único para a regra.
Impacto string Quão grave é a violação. Pode ser um entre "menor", "moderado", "grave" ou "crítico" se a regra falhou ou nulo se a verificação foi bem-sucedida.
Nós Lista<CheckedNode> Array de todos os elementos testados pela regra.
Tags Lista<string> Array de tags atribuídas a esta regra. Essas tags podem ser usadas na estrutura de opções para selecionar quais regras serão executadas.
Url string A URL da página que foi testada.

class Deque.AxeDevtools.Selenium.Results.TestEngine

Informações sobre o mecanismo axe-core em que o teste foi executado.

Campo Tipo Descrição
Nome string Nome do mecanismo.
Versão string Número da versão do mecanismo.

class Deque.AxeDevtools.Selenium.Results.TestEnvironment

Informações sobre o ambiente em que o teste foi realizado.

Campo Tipo Descrição
OrientaçãoÂngulo double? Ângulo de orientação da tela. (ex.: 0)
TipoDeOrientação string Tipo de orientação da tela. (ex.: "paisagem-primária")
AgenteDoUsuário string Agente de usuário do navegador em que o teste foi executado.
AlturaDaJanela int Altura da janela.
LarguraDaJanela int Largura da janela.

class Deque.AxeDevtools.Selenium.Results.TestResults

Resultados retornados pela execução do axe na página.

Campo Tipo Descrição
Inaplicável Lista<Regra> Esses resultados foram abortados e requerem testes adicionais. Isso pode acontecer devido a restrições técnicas sobre o que a regra pode testar ou porque ocorreu um erro de JavaScript.
Incompleto Lista<Regra> Esses resultados indicam quais regras não foram executadas porque não foi encontrado conteúdo correspondente na página. Por exemplo, sem vídeo, essas regras não serão executadas.
Passaram Lista<Regra> Esses resultados indicam quais elementos passaram nas regras.
Motor de Testes Motor de Testes Informações sobre o motor axe-core usado no teste.
Ambiente de Testes Ambiente de Testes Informações sobre o ambiente em que o teste foi realizado.
Executor de Testes Executor de Testes Nome do executor de testes.
Timestamp string A data e hora em que a análise foi concluída.
Opções da Ferramenta objeto Opções aplicadas durante o teste.
URL string A URL da página que foi testada.
Violações Lista<Regra> Esses resultados indicam quais elementos falharam nas regras.

class Deque.AxeDevtools.Selenium.Results.TestRunner

Nome do executor de testes.

Campo Tipo Descrição
Nome string O nome.

class Deque.AxeDevtools.Selenium.Results.TestSubject

Informações sobre o que está sendo testado.

Campo Tipo Descrição
NomeArquivo string Nome do arquivo do site em teste. (Pode ser uma URL.)
NumLinha int Número da linha do teste.
Estado string Estado do arquivo.

class Deque.AxeDevtools.Selenium.RunOptions.Context

Especifique qual elemento deve e qual não deve ser testado.

void Excluding(string[])

Adicione um conjunto de seletores para elementos que não devem ser testados.

Parâmetro Descrição
excluir Conjunto de seletores CSS.

void Including(string[])

Adicione um conjunto de seletores para elementos que devem ser testados.

Parâmetro Descrição
incluir Conjunto de seletores CSS.

enum Deque.AxeDevtools.Selenium.RunOptions.ResultGroup

  • Passa
  • Violações
  • Incompleto
  • Inaplicável

class Deque.AxeDevtools.Selenium.RunOptions.RuleStatus

Ativa ou desativa uma regra.

Campo Tipo Descrição
Habilitado bool Se está ou não habilitado.

class Deque.AxeDevtools.Selenium.RunOptions.RunOnly

Limite quais regras são executadas, baseado em nomes ou tags.

static RunOnlyRules(string[])

Construa um limitador para regras baseado em IDs.

Parâmetro Descrição
regras Lista de IDs de regras a serem usadas.

Retorna: O objeto RunOnly.

static RunOnly Tags(TagType[])

Construa um limitador para regras baseadas em tags.

Parâmetro Descrição
tipos Lista de tags a serem usadas.

Retorna: O objeto RunOnly.

enum Deque.AxeDevtools.Selenium.RunOptions.RunOnlyType

  • Regra
  • Regras
  • Tag
  • Tags

class Deque.AxeDevtools.Selenium.RunOptions.RunOptions

Uma configuração flexível de como o axe opera.

Campo Tipo Descrição
ElementRef bool? Retornar referências de elementos além do alvo.
IFrames bool? Dizer ao axe para executar dentro de iframes.
TiposDeResultado GrupoDeResultados[] Limitar quais tipos de resultados são processados e agregados
Regras Dicionário<string, StatusDaRegra> Permitir personalizar as propriedades de uma regra (incluindo { enable: false }).
ExecutarApenas ExecutarApenas Limitar quais regras são executadas, com base em nomes ou tags.
Seletoras bool? Retornar seletores xpath para os elementos.

enum Deque.AxeDevtools.Selenium.RunOptions.TagType

  • Wcag2a
  • Wcag2aa
  • Wcag2aaa
  • Wcag21a
  • Wcag21aa
  • Wcag21aaa
  • Wcag22a
  • Wcag22aa
  • Wcag22aaa
  • Seção508
  • TTv5
  • EN301549
  • RGAAv4
  • MelhoresPráticas

class Deque.AxeDevtools.Selenium.Spec.Check

Usado para adicionar verificações à lista de verificações utilizadas por regras, ou para substituir as propriedades de verificações existentes.

Campo Tipo Descrição
Depois string Esta é a função que é chamada para verificações que operam em nível de página, para processar os resultados dos iframes.
Ativado bool? Isso é usado para indicar se a verificação está ligada ou desligada por padrão. Verificações que estão desligadas não são avaliadas, mesmo quando incluídas em uma regra. Substituir isso é uma maneira comum de desativar uma verificação em particular em várias regras.
Avaliar string Esta é a função que implementa a funcionalidade da verificação.
Id string Isso identifica unicamente a verificação. Se a verificação já existir, isso resultará na substituição de quaisquer propriedades de verificação fornecidas.
Correspondências string Um seletor CSS de filtragem que excluirá elementos que não correspondem ao seletor CSS.
Opções objeto Esta é a estrutura de opções que é passada para a função de avaliação e é destinada a ser usada para configurar verificações. É a propriedade mais comum a ser substituída para verificações existentes.

class Deque.AxeDevtools.Selenium.Spec.Rule

Usado para adicionar regras ao conjunto existente de regras, ou para substituir as propriedades de regras existentes.

Campo Tipo Descrição
Todos string[] Esta é uma lista de verificações que, se alguma "falhar", gerará uma violação.
Qualquer string[] Esta é uma lista de verificações que, se nenhuma "passar", gerará uma violação.
Ativado bool? Se a regra está ativada. Este é um atributo comum para substituição.
ExcluirOcultos bool? Isso indica se os elementos que estão ocultos de todos os usuários devem ser passados para a regra para avaliação.
Id string Isso identifica unicamente a regra. Se a regra já existir, ela será substituída com qualquer um dos atributos fornecidos.
Correspondências string Um seletor CSS de filtragem que excluirá elementos que não correspondem ao seletor CSS.
Nenhum string[] Esta é uma lista de verificações que, se alguma "passar", gerará uma violação.
NívelDaPágina bool? Quando definido como verdadeiro, esta regra é aplicada apenas quando a página inteira é testada. Resultados de nós em diferentes frames são combinados em um único resultado.
Seletor string Um seletor CSS usado para identificar os elementos que são passados para a regra para avaliação.
Tags string[] Uma lista das tags que "classificam" a regra. Na prática, é necessário fornecer algumas tags válidas ou a avaliação padrão não invocará a regra. A convenção é incluir o padrão (WCAG 2, seção 508, Trusted Tester v5 ou EN 301 549), o nível WCAG 2, parágrafo da Seção 508 e os critérios de sucesso do WCAG 2. As tags são construídas convertendo todas as letras para minúsculas, removendo espaços e pontos e concatenando o resultado. Por exemplo, os critérios de sucesso 1.1.1 do WCAG 2 A se tornariam ["wcag2a", "wcag111"]

class Deque.AxeDevtools.Selenium.Spec.Spec

Configura o formato dos dados usados pelo axe. Isso pode ser usado para adicionar novas regras, que devem ser registradas na biblioteca para serem executadas.

Campo Tipo Descrição
Branding Branding Usado para definir o branding dos helpUrls.
Verificações Verificação[] Usado para adicionar verificações à lista de verificações usadas por regras, ou para substituir as propriedades de verificações existentes.
Localidade Localidade Um objeto de localidade a ser aplicado (em tempo de execução) a todas as regras e verificações.
VersãoDoRelatório VersãoDoRelatório? Usado para definir o formato de saída que a função axe.run retornará.
Regras Regra[] Usado para adicionar regras ao conjunto de regras existentes, ou para substituir as propriedades de regras existentes.