Ruby を使った高度な API の利用

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

カスタムルール、レポートオプション、利用サービスを含む Web Ruby 用の高度な Axe DevTools の利用

Not for use with personal data

このドキュメントでは、Ruby を用いたカスタムルール、レポートオプション、および利用サービスについて説明します。

カスタムルール

カスタムの axe ルールを JSON ファイルに指定することができます。

note

まだカスタムルールがなく、空のカスタムルールセットで始めたい場合は、空の 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.json

Axe 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

参照

利用サービス

利用サービスを利用して、組織内の 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 ユーザーに紐づけたいステータス情報