Axe DevTools for Web の WebdriverIO API リファレンス
@axe-devtools/webdriverio パッケージの API リファレンス
コンストラクタ
標準設定では、WebdriverIO コンストラクタに必要な唯一の引数は WebdriverIO インスタンスです。元々含まれているものとは異なる axe-core バージョンやカスタムルールセットを使用したい場合、これらのオプションをコンストラクタに渡すことができます。
非標準のaxe-coreバージョンへの呼び出しを含むカスタムルールセットを選択することはできません。
AxeDevToolsWebdriverIO(options: Options)Optionsインターフェースは、以下のプロパティを含むオブジェクトです。
client(必須):WebdriverIOクライアントaxeSource(オプション):axe-coreソースコードの文字列rulesetID(オプション):ルールセットID('wcag2'、'wcag2.1'、'wcag2.2'、'wcag2aaa'、'wcag2.1aaa'、'wcag2.2aaa'、'508'、'en301549'、'rgaav4'、'ttv5')
axeSourceとrulesetIDの両方を提供することはできません。これらは互いに排他的です。
(<version> をバージョン番号に置き換えてください)。2.1.0 以降のすべての axe-core バージョンがサポートされています。
デフォルトでは、@axe-devtools/webdriverioは、利用可能な最新バージョンのaxe-coreを使用します。別のaxe-coreバージョンを設定するには、axeSourceオプションを渡します。すべてのaxe-coreバージョンは、npmまたはunpkgから取得できます。http://unpkg.com/axe-core@<version>/axe.jsを訪れてください(<version>をバージョン番号に置き換えてください)。axe-coreバージョン2.1.0以降がサポートされています。
指定されたクライアントでデフォルト設定を使用して分析を実行します。戻り値は、axe-core によって返された結果セットを含む約束です。
const axeSource = require('../axe-core-3.5.0').source;
const axeDevTools = new AxeDevToolsWebdriverIO({ client, axeSource });カスタムルール
Axe DevTools でカスタムルールを使用する方法の詳細は、カスタムルールセットの生成および統合に関するガイドをお読みください
analyze(client: webdriverio.Client): Promise<axe.AxeResults>指定されたクライアントでデフォルト設定を使用して分析を実行します。Promiseが返され、axe-coreから返された結果セットで解決します。
analyzeUniversal メソッド
Axe DevToolsでカスタムルールを使用する方法については、。既存のメソッドは変更されていません。にあるカスタムルールセットの生成と統合ガイドをお読みください。
Axe DevTools スキャンの範囲を設定するためのいくつかのオプションがあります。特定の CSS スコープを含めたり除外したり、if ムのフレームを無視したりすることができます。下記のコンストラクタのチェーンメソッドによって実現可能です。
分析を実行し、指定された CSS セレクタに一致するフレームに axe-core を注入しないようにします。このメソッドは何度でも呼び出すことができます。で結果を返します。既存のanalyze()メソッドは変更されません。
analyzeUniversal(): Promise<UniversalExport>exclude
分析から除外するセレクタ。このメソッドは何度でも呼び出すことができます。
ルール設定
AxeDevToolsWebdriverIO.disableFrame(selector: string): AxeDevToolsWebdriverIOこれらのオプションは選択したルールセットのルール設定を変更します。これらのオプションは標準のルール設定を上書きし、結果を変更します。これらのメソッドでの追加の呼び出しは前回の呼び出しを上書きします。
withRules
AxeDevToolsWebdriverIO.include(selector: string): AxeDevToolsWebdriverIO指定したルールのみに分析を制限します。とは併用できません
。
AxeDevToolsWebdriverIO.exclude(selector: string): AxeDevToolsWebdriverIOwithTags
指定したタグのみに分析を制限します。とは併用できません
。
disableRules
AxeDevToolsWebdriverIO.withRules(rules: RuleID[]): AxeDevToolsWebdriverIO分析を指定されたルールのみに制限します。AxeDevToolsWebdriverIO.withTags()と併用することはできません。
withTags
AxeDevToolsWebdriverIO.withTags(tags: axe.TagValue[]): AxeDevToolsWebdriverIO分析を指定されたタグのみに制限します。AxeDevToolsWebdriverIO.withRules()と併用することはできません。
disableRules
AxeDevToolsWebdriverIO.disableRules(rules: RuleID[]): AxeDevToolsWebdriverIO分析を実行する際にスキップするルールのリストを設定します。
axe-core オプション
これらのオプションは基礎となるaxe-coreの設定にアクセスします。これらのオプションについて詳しくは、axe-core ドキュメントをご覧ください。
設定
AxeDevToolsWebdriverIO.configure(config: axe.Spec): AxeDevToolsWebdriverIOaxe-coreの設定を行います。この値は直にaxe.configure()に渡されます。
オプション
AxeDevToolsWebdriverIO.options(runOptions: axe.RunOptions): AxeDevToolsWebdriverIOrunOptionsをaxe.run()に直接渡します。使用方法についてはaxe-core ドキュメントを参照してください。他の設定済みのオプション、AxeDevToolsWebdriverIO.withRules()およびAxeDevToolsWebdriverIO.withTags()への呼び出しを含め、すべて上書きされます。
使用状況サービス
使用状況サービスを利用すると、組織内での Axe DevTools の利用動向を把握できます。
デフォルトでは、使用状況サービスが有効になっており、デフォルトのURLはhttps://usage.deque.comです。これを無効にするには、AXE_TRACK_USAGE環境変数をfalseに設定します。
環境変数
これらの環境変数を使用すると、使用状況サービスを設定し、報告されるイベントのプロパティを変更できます。
| 名前 | タイプ | 上書き可能 | 説明 |
|---|---|---|---|
AXE_DISTINCT_ID |
文字列 | — | ログイン中のユーザーに対して同じままのUUID識別子(再生成されない限り)。Rubyでは、この変数はDEQUE_DISTINCT_IDと名付けられています。 |
AXE_INCLUDE_TEST_RESULTS |
ブール値 | — | 各イベントのtestResultsオブジェクトに完全なaxe-core結果を含めるには、trueに設定します(デフォルトはfalse)。CLIおよびNode.js APIのみでサポートされています。 |
AXE_METRICS_URL |
文字列 | — | REST使用エンドポイントのURL(デフォルトはhttps://usage.deque.com) |
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 Reportsに使用状況を表示するには、これを組織のIDに設定してください(取得するにはDequeに連絡してください)。 |
AXE_SESSION_ID |
文字列 | false | ユーザーのセッションを識別するUUID |
AXE_USER_ID |
文字列 | false | 特定のユーザーのID。例えば、メールアドレス、名前、またはログインIDなどです。Axe Reportsはこの値を基にユニークユーザーをカウントします。 |
AXE_USER_JOB_ROLE |
文字列 | false | ユーザーの役割 |
AXE_USER_STATUS |
文字列 | false | ユーザーに紐づけたいステータス情報 |
トラッキングの有効化
この方法は、ユーザーが使用状況サービスへのデータ送信を許可するかどうかを選択できるようにします。送信はデフォルトで有効になっています。
.enableTracking(state: boolean): AxeDevToolsWebdriverIOトラッキング URL の設定
このメソッドにより、使用状況メトリクスデータの送信先を変更できます
.setTrackingUrl(url: string): AxeDevToolsWebdriverIO固有 ID の設定
このメソッドにより、保存/使用されている固有 ID を変更できます
.setDistinctId(distinctId: string): AxeDevToolsWebdriverIO