Axe DevTools for Web 用 WebDriverJS API リファレンス
@axe-devtools/webdriverjs パッケージの API リファレンス
コンストラクタ
標準構成では、Axe DevTools のコンストラクタに渡す必要がある唯一の引数は WebDriverJS インスタンスです。元々含まれているものとは異なる axe-core バージョンやカスタムルールセットを使用する場合は、これらのオプションをコンストラクタに渡すことができます。
非標準の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の配列を受け取ります。
これらの例では、単一のルールIDとルールIDの配列を使用するwithRulesが示されています:
//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[]): AxeDevToolsBuilderdisableRules()メソッドは、分析を実行する際に提供されたルールの配列をスキップします。
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')