Axe DevTools for Web 用 WebDriverJS 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

@axe-devtools/webdriverjs パッケージの API リファレンス

Not for use with personal data

コンストラクタ

標準構成では、Axe DevTools のコンストラクタに渡す必要がある唯一の引数は WebDriverJS インスタンスです。元々含まれているものとは異なる axe-core バージョンやカスタムルールセットを使用する場合は、これらのオプションをコンストラクタに渡すことができます。

note

標準外の axe-core バージョンを選択することはできません および カスタムルールセット。

Axe DevTools WebDriverJS コンストラクタ:

AxeDevToolsBuilder(driver:WebDriver, String:ruleset|Object:axe (optional))

最初の引数として Selenium WebDriver のインスタンスを渡す必要があります。2つ目のオプション引数は、ルールセットIDまたは axe オブジェクトのいずれかです。2番目の引数を指定しない場合は、@axe-devtools/script-builder のカスタムルール設定ファイルを構成しなければなりません。そうしないと、コンストラクタで例外がスローされます。

以下の例は、コンストラクタの使用方法を示しています:

// instantiate with the Section 508 rule set
const builder = new AxeDevToolsBuilder(driver, '508');

// or with a specific axe instance
const axe = require('../axe-core-2.3.0');
const builder = new AxeDevToolsBuilder(driver, axe);

カスタムルール

Axe DevTools for Web でカスタムルールを使用する方法についての情報は、カスタムルールセットの生成と統合に関するガイドを参照してください。 CLI ガイド

分析

この analyze() メソッドは分析を実行し、アクセシビリティスキャンの結果を返します。

analyze(): Promise<axe.AxeResults>

指定されたクライアントでデフォルトの構成を使用して分析を実行します。 Promise が返され、axe-core によって返されるアクセシビリティ結果セットで解決されます。

analyzeUniversal

この analyzeUniversal() メソッドは分析を実行し、 Axe Universal Formatで結果を返します。既存の analyze() メソッドは変更されません。

analyzeUniversal(): Promise<UniversalExport>

チェーンオプション

Axe DevTools のスキャンの対象範囲を設定するために2つのオプションがあります。特定の CSS スコープを含めるか除外するかを選択できます。コンストラクタ上で下記のチェーンメソッドを使用することでこれが可能です。

含める

new AxeDevToolsBuilder(driver).include('<CSS-Selector>');

分析に含める要素のリストに CSS セレクタを追加します。 include() のスコープ外の要素はスキャンされません。

除外する

new AxeDevToolsBuilder(driver).exclude('<CSS-Selector>');

分析から除外する要素のリストに CSS セレクタを追加します。 exclude() のスコープ外の要素のみがスキャンされます。

これらのメソッドは、以下のようにスキャン範囲をさらに絞り込むためにチェーンできます。

new AxeDevToolsBuilder(driver).include('<CSS-Selector>').exclude('<Inner-CSS-Selector>');

この例では、 <CSS-Selector> 内のすべての要素がスキャンされますが、 <Inner-CSS-Selector>内の要素はスキャンされません。

ルール設定

ルール設定メソッドは標準のルール設定を上書きします。これらのメソッドを追加で呼び出すと、以前の呼び出しが上書きされます。

withRules

この withRules() メソッドは指定されたルールIDを持つルールのみに分析を制限します。単一のルールIDのための文字列または複数のルールIDのための配列を受け入れます。

以下の例は、 withRules を単一のルールID及び複数のルールIDの配列で使用する方法を示しています:

//with a single rule ID
AxeDevToolsBuilder(driver).withRules('html-lang');

//with an array of rule IDs
AxeDevToolsBuilder(driver).withRules(['html-lang', 'image-alt']);

withTags

この withTags() メソッドは提供されたタグに関連付けられたルールのみに分析を制限します。以下に示すように、単一のタグまたは複数のタグの配列を受け入れます:

//with a single tag
AxeDevToolsBuilder(driver).withTags('wcag2a');

//with an array of tags
AxeDevToolsBuilder(driver).withTags(['wcag2a', 'wcag2aa']);

disableRules

AxeDevToolsBuilder.disableRules(rules: RuleID[]): AxeDevToolsBuilder

この disableRules() メソッドは、分析を実行する際に提供されるルールの配列をスキップさせます。

axe-core オプション

オプション

.options(options: Axe.RunOptions)

この options メソッドは、axe.runが使用するオプションを指定します。これは他のすべての設定済みオプションを上書きし、 withRules への呼び出しも含みます。 withTags詳細は axe-core API ドキュメント を参照してください。

new AxeDevToolsBuilder(page).options({
  checks: { 'valid-lang': ['orcish'] }
});

構成設定

.configure(config: Axe.Spec)

この configure メソッドは、分析前にルールセットを変更するためのaxe設定オブジェクトを挿入します。このメソッドへの後続の呼び出しは、 axe.configure() を呼び出して設定オブジェクトを置き換えることにより、以前のものを無効にします。 axe-core API ドキュメント でオブジェクトの構造を確認してください。

次の例では、新しいaxe-core設定を作成し、それをAxe DevToolsに渡してスキャンに使用します:

const config = {
  checks: [Object],
  rules: [Object]
};
const results = await new AxeDevToolsBuilder(page).configure(config).analyze();

使用サービス

デフォルトでは、使用サービスは無効になっており、デフォルトのURLは https://usage.deque.comです。

環境変数

これらの環境変数を使用して、使用サービスを構成し、報告されるイベントのプロパティを変更することができます。

名前 タイプ 上書き可能 説明
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 ユーザーに紐づけたいステータス情報

トラッキングの有効化

このメソッドを使用すると、ユーザーはデータを使用サービスに送信することを選択できます。

.enableTracking(state: boolean)
AxeDevToolsBuilder(driver).enableTracking(true)

トラッキングURLの設定

このメソッドを使用すると、使用メトリクスデータが送信される場所を変更できます。

.setTrackingUrl(url: string)
AxeDevToolsBuilder(driver).setTrackingUrl('https://foobar.biz')

識別IDの設定

このメソッドを使用すると、保存または使用される識別IDを変更できます。

.setDistinctId(distinctId: string)
AxeDevToolsBuilder(driver).setDistinctId('foobar')