Uso Avançado de API com Ruby
Uso avançado do Axe DevTools para Web Ruby, incluindo regras personalizadas, opções de relatório e o serviço de uso
Este documento discute regras personalizadas, opções de relatório e o serviço de uso com Ruby.
Regras Personalizadas
Você pode especificar regras personalizadas do axe em um arquivo JSON.
Se você ainda não tem regras personalizadas e deseja começar com um conjunto de regras personalizadas vazio, crie um arquivo axe-ruleset.json no diretório local com um objeto JavaScript vazio, por exemplo: {}.
Configurar Regras Personalizadas via Variável de Ambiente
A configuração padrão espera que a localização do arquivo de regras personalizadas seja config/axe-ruleset.json, relativa ao diretório de trabalho atual.
Você pode substituir essa localização com a variável de ambiente AXE_RULESET_PATH ou manualmente através da configuração do Axe DevTools.
Defina a variável de ambiente AXE_RULESET_PATH para alterar a localização do seu axe-ruleset.json:
AXE_RULESET_PATH=/path/to/your/axe-ruleset.jsonConfigurando Regras Personalizadas via Configuração do Axe DevTools
Um objeto de configuração está disponível para definir a localização de uma regra personalizada usando o método AxeDevTools.configure caso você não deseje trabalhar com a variável de ambiente AXE_RULESET_PATH.
Todas as configurações abaixo são opcionais. Você pode omitir toda a invocação de AxeDevTools.configure para usar os valores padrão originais.
AxeDevTools.configure do |config|
# path to json configuration providing custom rules and checks
# set defaults to "config/axe-ruleset.json"
config.axe_ruleset_path = "config/axe-ruleset.json"
# Configure user pre-defined standard rule sets. Custom
# rules override these rule sets. See https://github.com/dequelabs/axe-core/blob/develop/doc/rule-descriptions.md
config.rule_set_id = '508'
endOpções de Relatório
Configurando Opções de Relatório com Configuração do Axe DevTools
Os gems axe-devtools-* permitem registrar os resultados dos testes. Use a invocação AxeDevTools.Configure para configurar uma configuração global para relatórios:
AxeDevTools.configure do |config|
config.output_directory: 'my-results',
config.test_machine: 'my-server',
config.test_suite_name: 'Accessibility Tests For Application',
config.user_agent: 'Headless Chrome'
end
expect(page).to be_audited_for_accessibility.logging_results({
ui_state: 'Landing Page Load',
})A configuração de relatório pode ter as seguintes propriedades:
| Atributo | Valor Padrão | Descrição |
|---|---|---|
| ui_state (Obrigatório) | Atributo a ser passado no objeto options. |
|
| output_directory (Opcional) | axe-reports |
Nome do diretório onde os relatórios devem ser gerados. |
| test_machine (Opcional) | Valor para indicar onde o teste é executado. Por exemplo, CircleCI, TesterMachine01 |
|
| test_suite_name (Opcional) | axe-a11yCheck |
Nome para o conjunto de testes. Por exemplo, My Module Test Suite |
| user_agent (Opcional) | null | Passar um user agent alvo. Por exemplo, chrome. |
| verbose (Opcional) | false | flag para habilitar/desabilitar registro detalhado de rastreamento de pilha e mensagens. |
Além disso, note que todas as opções acima para AxeDevTools.configure podem ser passadas ao configurar o WebDriver de escolha. Por exemplo:
require 'axe-devtools-capybara'
AxeCapybara.configure do |config|
config.axe_config_path = 'config/my-ruleset.json'
endVeja Também
- Enviando Resultados de Acessibilidade JSON para o axe Reports descreve como enviar seus resultados para o axe Reports.
- Obtendo uma Chave de API do axe Reports explica como obter uma chave de API para começar a usar o axe Reports.
- Criando e Filtrando Relatórios mostra como você pode criar relatórios de acessibilidade em CSV, XML ou HTML a partir dos seus resultados de acessibilidade em JSON. Você também pode filtrar sua saída por gravidade usando esta ferramenta.
- Como Resultados JSON são Armazenados no Disco descreve as convenções de nomenclatura de arquivos para resultados de acessibilidade em JSON.
- Usando a CLI para Enviar Resultados de Acessibilidade para o axe Developer Hub mostra como você pode enviar seus arquivos de resultados
.jsonpara axe Developer Hub.
Serviço de Uso
Você pode obter insights sobre as tendências de uso do Axe DevTools dentro da sua organização com o serviço de uso.
Por padrão, o serviço de uso está desativado, e a URL de rastreamento é https://usage.deque.com.
Configurando Opções do Serviço de Uso com a Configuração do Axe DevTools
Os gems axe-devtools-* permitem configurar o serviço de uso via uma configuração global:
AxeDevTools.configure do |config|
config.setTrackingUrl: 'https://usage.deque.com',
endAs propriedades específicas de configuração do serviço de uso são:
| Atributo | Valor Padrão | Descrição |
|---|---|---|
| enableTracking | true | Opção para habilitar o rastreamento de uso. |
| setTrackingUrl | https://usage.deque.com |
Opção para substituir a URL de rastreamento. |
Além disso, observe que todas as opções acima para AxeDevTools.configure também podem ser passadas ao configurar o WebDriver de sua escolha. Por exemplo, para o Capybara:
require 'axe-devtools-capybara'
AxeCapybara.configure do |config|
config.enableTracking = false
endConfigurando as Opções de Uso do Serviço com Variáveis de Ambiente
Além disso, as opções de uso do serviço podem ser configuradas por meio de variáveis de ambiente.
| 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 |
