Axe DevTools para Web Cucumber
Configuração e uso da gema axe-devtools-cucumber para testes de acessibilidade baseados em Cucumber
A gema axe-devtools-cucumber fornece definições de etapa personalizadas para avaliar se uma determinada página está conforme o padrão axe.
Esta gema expande os passos fornecidos pelo README da gema axe-core-cucumber.
Configuração e Uso
Certifique-se de ter acesso a Deque's registry. Caso contrário, refer to setup.
- Adicione
axe-devtools-cucumberao seu arquivo Gemfile ou gemspec e executebundle install.
gem "axe-devtools-cucumber"spec.add_dependency "axe-devtools-cucumber"- Solicite as definições de etapa oferecidas pela gema. Normalmente, você pode fazer isso adicionando a um arquivo de configuração de cucumber existente em
features/support/env.rb.
require 'axe-cucumber-steps'- Use com o WebDriver de sua escolha.
API
Etapa - Estar conforme o padrão Axe (be axe clean)
A etapa be axe clean é o componente principal da integração. É uma etapa completa por si só e verificará se a página atualmente carregada está conforme o padrão axe usando a configuração padrão de axe.run (o documento inteiro é verificado usando as regras padrão).
Then the page should be axe cleanEtapa - Ser Auditado para Acessibilidade (be audited for accessibility)
Esta etapa permite auditar a acessibilidade do seu site sem falhar o conjunto de testes. Para violations identificados, os matchers converterão o exemplo de teste em pending e apresentarão as violações detalhadas.
Then the page should be audited for accessibility [including]
[excluding] [according to/according to ruleset] [checking rules/checking-only-rules]
[skipping rules] [logging results for]Cláusulas
As cláusulas são métodos encadeáveis para as definições de etapa be axe clean e be audited for accessibility.
Cláusulas configuráveis permitem maior granularidade nos testes e nas expectativas.
within- Cláusula de Inclusão
A cláusula de inclusão (within "#selector") especifica quais elementos da página devem ser verificados. Um CSS selector válido deve ser fornecido e colocado entre aspas duplas. Seletores compostos podem ser usados para selecionar vários elementos, por exemplo, within "#header, .footer". Para mais informações, consulte o context parameter documentation.
Then the page should be axe clean within "#selector"excluding- Cláusula de Exclusão
A cláusula de exclusão (excluding "#selector") especifica quais elementos do documento devem ser ignorados. Um CSS selector válido deve ser fornecido e colocado entre aspas duplas. Seletores compostos podem ser usados para selecionar vários elementos, por exemplo, excluding "#widget, .ad". Para mais informações, consulte o context parameter documentation.
Then the page should be audited for accessibility excluding "#selector"Se desejado, um ponto e vírgula (;) ou a palavra but podem ser usados para separar a cláusula de exclusão da cláusula de inclusão (se presente).
Then the page should be audited for accessibility within "main"; excluding "aside"
Then the page should be axe clean within "main" but excluding "aside"according to- Cláusula de Padrão de Acessibilidade (Tag)
A cláusula de tag especifica qual padrão (ou padrões) de acessibilidade deve ser usado para verificar a página. Os padrões de acessibilidade são especificados pelo nome (tag). Vários padrões podem ser especificados quando separados por vírgulas, por exemplo, according to: wcag2a, section508. Os tag names are documented aceitáveis, assim como um complete listing of rules que corresponda a cada tag.
Then the page should be audited for accessibility according to: tag-nameSe desejado, um ponto e vírgula (;) pode ser usado para separar a cláusula de tag da cláusula precedente.
Then the page should be axe clean within "#header"; according to: best-practicechecking- Cláusula de Regras de Verificação
A cláusula de regras de verificação especifica quais regras adicional devem ser executadas (além das tags especificadas, se houver, ou do conjunto de regras padrão). As regras são especificadas por IDs de regras separados por vírgulas.
Then the page should be axe clean checking: ruleIdPara uma lista de IDs de regras válidos, consulte o rules documentation.
Se desejado, um ponto e vírgula (;) ou a palavra and podem ser usados para separar a cláusula de regras de verificação da cláusula precedente.
Then the page should be axe clean according to: wcag2a; checking: color-contrast
Then the page should be audited for accessibility according to: wcag2a and checking: color-contrastchecking only- Cláusula de Regras Exclusivas
Esta cláusula não é realmente uma cláusula separada. Mas sim, ao adicionar a palavra only à cláusula de regras de verificação, o significado da etapa pode ser alterado. Como descrito acima, por padrão a cláusula de regras de verificação especifica regras adicional a serem executadas. Se a palavra only for usada, então somente as regras especificadas são verificadas.
Then the page should be axe clean checking only: ruleIdskipping- Cláusula de Pular Regras
A cláusula de pular regras especifica quais regras devem ser ignoradas. Isso permite que um padrão de acessibilidade seja fornecido (através da cláusula de tag) enquanto ignora uma regra específica. As regras são especificadas por IDs de regras separados por vírgulas.
Then the page should be audited for accessibility skipping: ruleIdPara uma lista de IDs de regras válidos, consulte o rules documentation.
Você pode usar um ponto e vírgula (;) ou a palavra but para separar a cláusula de pular regras da cláusula precedente, como mostrado abaixo:
Then the page should be axe clean according to: wcag2a; skipping: accesskeys
Then the page should be audited for accessibility according to: wcag2a but skipping: accesskeysCláusulas disponíveis apenas para a etapa - Ser Auditado para acessibilidade
O matcher be audited for accessibility oferece suporte a duas cláusulas adicionais.
according to ruleset- Cláusula de Conjunto de Regras
A cláusula de conjunto de regras [according to ruleset] ajuda a especificar um único conjunto de regras (por exemplo, 508, wcag2, wcag21) a ser usado para verificar a página.
Then the page should be axe clean according to ruleset: wcag2logging results- Cláusula de Registro de Resultados
Para registrar os resultados do matcher base e das cláusulas, invoque o método encadeável logging results como mostrado abaixo. A cláusula logging results for: report_name permite especificar o nome do relatório gerado ao final da execução da etapa.
Then the page should be audited for accessibility logging results for: axe_report_of_my_siteInteroperabilidade entre cláusulas
Todas as cláusulas descritas podem ser combinadas e encadeadas com métodos. Abaixo estão alguns exemplos.
Then the page should be audited for accessibility within "main, header" but excluding "footer"
Then the page should be axe clean excluding "#sidebar" according to: wcag2a, wcag2aa but skipping: color-contrast
Then the page should be audited for accessibility checking only: document-title, label
Then the page should be axe clean according to: best-practice and checking: aria-roles, definition-listUso avançado de API
Consulte advanced usage para saber como configurar a API para:
- Regras personalizadas
- Caminho personalizado para a fonte do axe
- Gravação de uso
- Relatórios
