Referência de API C#
Referência de API para as classes e métodos Axe DevTools para Web em C#
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<Nó> | 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. |
