Ruby を使った高度な API の利用
カスタムルール、レポートオプション、利用サービスを含む Web Ruby 用の高度な Axe DevTools の利用
このドキュメントでは、Ruby を用いたカスタムルール、レポートオプション、および利用サービスについて説明します。
カスタムルール
カスタムの axe ルールを JSON ファイルに指定することができます。
まだカスタムルールがなく、空のカスタムルールセットで始めたい場合は、空の JavaScript オブジェクトを含む axe-ruleset.json ファイルをローカルディレクトリに作成します。例: {}。
環境変数を介したカスタムルールの設定
デフォルトの設定では、カスタムルールファイルの位置は現在の作業ディレクトリに対して相対的に config/axe-ruleset.json である必要があります。
この位置を AXE_RULESET_PATH 環境変数で上書きするか、Axe DevTools の設定を介して手動で変更できます。
axe-ruleset.json の位置を変更するために AXE_RULESET_PATH 環境変数を設定します:
AXE_RULESET_PATH=/path/to/your/axe-ruleset.jsonAxe DevTools 設定を通じたカスタムルールの設定
AXE_RULESET_PATH 環境変数を使用せずに、AxeDevTools.configure メソッドを使用してカスタムルールの場所を定義するための設定オブジェクトが利用可能です。
以下のすべての設定はオプションです。元のデフォルト値を使用するために、AxeDevTools.configure の呼び出し全体を省略することができます。
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'
endレポートオプション
Axe DevTools 設定を通じたレポートオプションの設定
axe-devtools-* ジェムはテスト結果のログ記録を可能にします。AxeDevTools.Configure の呼び出しを使って、レポート用のグローバル設定をセットアップします:
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',
})レポート設定は次のプロパティを取ることができます:
| 属性 | デフォルト値 | 説明 |
|---|---|---|
| ui_state (必須) | options オブジェクトに渡す属性です。 |
|
| output_directory (オプション) | axe-reports |
レポートを生成するディレクトリ名。 |
| test_machine (オプション) | テストが実行される場所を示す値。例: CircleCI, TesterMachine01 |
|
| test_suite_name (オプション) | axe-a11yCheck |
テストのスイート名。例: My Module Test Suite |
| user_agent (オプション) | null | 対象のユーザーエージェントを渡します。例: chrome。 |
| verbose (オプション) | false | スタックトレースとメッセージの詳細ログを有効/無効にするフラグです。 |
また、AxeDevTools.configure 用の上記のすべてのオプションは、選択した WebDriver を構成する際に渡すことができます。例えば:
require 'axe-devtools-capybara'
AxeCapybara.configure do |config|
config.axe_config_path = 'config/my-ruleset.json'
end参照
- JSONアクセシビリティ結果をaxe Reportsにアップロードするは、結果をAxe Reportsにアップロードする方法について説明します。
- axe Reports APIキーの取得は、Axe Reportsを使用開始するためのAPIキーの取得方法を説明します。
- レポートの作成とフィルタリングは、JSONのアクセシビリティ結果からCSV、XML、またはHTMLでアクセシビリティレポートを作成する方法を示しています。また、このツールを使用して、深刻度で出力をフィルターすることもできます。
- ディスク上のJSON結果の保存方法は、JSONアクセシビリティ結果のファイル命名規則について説明します。
- CLIを使用してアクセシビリティ結果をaxe Developer Hubに送信するは、
.jsonの結果ファイルをaxe Developer Hubにアップロードする方法を示しています。
利用サービス
利用サービスを利用して、組織内の Axe DevTools の利用傾向を把握することができます。
デフォルトで、利用サービスは 無効 であり、追跡 URL は https://usage.deque.com です。
AxeDevTools 設定を通じた利用サービスオプションの設定
axe-devtools-* ジェムはグローバル設定を通じて利用サービスを設定することを可能にします:
AxeDevTools.configure do |config|
config.setTrackingUrl: 'https://usage.deque.com',
end利用サービスの特定の設定プロパティは次のとおりです:
| 属性 | デフォルト値 | 説明 |
|---|---|---|
| enableTracking | true | 利用追跡を有効にするオプションです。 |
| setTrackingUrl | https://usage.deque.com |
トラッキングURLを上書きするオプション。 |
また、選択したWebDriverを設定する際には、上記のすべてのオプションをAxeDevTools.configureとして渡すことができます。例えば、Capybaraの場合:
require 'axe-devtools-capybara'
AxeCapybara.configure do |config|
config.enableTracking = false
end環境変数を使用した利用サービスオプションの設定
さらに、利用サービスオプションは環境変数を通じて設定することもできます。
| 名前 | タイプ | 上書き可能 | 説明 |
|---|---|---|---|
AXE_DISTINCT_ID |
文字列 | — | ログイン中のユーザーに対して同一であるUUID識別子(再生成されない限り) |
AXE_METRICS_URL |
文字列 | — | REST使用エンドポイントのURL |
AXE_TRACK_USAGE |
ブール値 | — | 使用サービスのレポートを有効にします(デフォルトはfalseです) |
AXE_APPLICATION |
文字列 | false | アクセシビリティエラーのチェックに使用されたアプリケーション |
AXE_DEV_INSTANCE |
ブール値 | true | このイベントがソフトウェア開発者の行動によるものかを示します。開発またはテスト中に記録されたイベントをマークし、後で削除するのに便利です。 |
AXE_DEPARTMENT |
文字列 | true | 組織内でのユーザーの部署 |
AXE_KEYCLOAK_ID |
文字列 | false | ユーザーのKeycloak ID |
AXE_LOGGED_IN |
ブール値 | false | テスト対象アプリケーションにユーザーがログインしているかどうかを記録します |
AXE_ORGANIZATION |
文字列 | true | ユーザーの組織 |
AXE_SESSION_ID |
文字列 | false | ユーザーのセッションを識別するUUID |
AXE_USER_ID |
文字列 | false | 特定のユーザーの名前やログインIDなどのアイデンティティ |
AXE_USER_JOB_ROLE |
文字列 | false | ユーザーの役割 |
AXE_USER_STATUS |
文字列 | false | ユーザーに紐づけたいステータス情報 |
