Axe DevTools for Web 用の WebdriverIO API リファレンス
@axe-devtools/webdriverio パッケージの API リファレンス
このページにあるメソッドのシグネチャは、パッケージにバンドルされている型宣言に合わせて TypeScript 記法で書かれています。使用例は JavaScript であり、TypeScript でも変更なくコンパイルされます。完全なテストの JavaScript および TypeScript バージョンを並べて見るには、テストを書くを参照してください。
コンストラクター
標準構成では、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の両方を提供することはできません。この2つは互いに排他的です。
axe-core バージョンの定義
デフォルトでは、@axe-devtools/webdriverio は利用可能な最新の axe-core バージョンを使用します。別の axe-core バージョンを設定するには、axeSourceオプションを渡します。すべての axe-core バージョンは npm から取得するか、http://unpkg.com/axe-core@<version>/axe.jsを訪れて unpkg から取得できます(<version>をバージョン番号に置き換えてください)。axe-core バージョン2.1.0以降がサポートされています。
これはテストファイルの親ディレクトリにあるファイルから、axe-core 2.3.0で Axe DevTools WebdriverIO を初期化する例です。
const axeSource = require('../axe-core-3.5.0').source;
const axeDevTools = new AxeDevToolsWebdriverIO({ client, axeSource });analyze メソッド
このメソッドは分析を実行し、最終的にアクセシビリティスキャンの結果を返します。
analyze(client: webdriverio.Client): Promise<axe.AxeResults>与えられたクライアントでデフォルト設定を使用して分析を実行します。Promiseが返され、axe-coreによって返される結果セットで解決されます。
カスタムルール
Axe DevTools でカスタムルールを使用する方法については、CLI ガイドのカスタムルールセットの生成と統合に関するガイドをお読みください。
analyzeUniversal メソッド
分析を行い、結果をAxe Universal Formatで返します。既存のanalyze()メソッドは変更されません。
analyzeUniversal(): Promise<UniversalExport>チェーンオプション
Axe DevTools スキャンの範囲を設定するためのいくつかのオプションがあります。特定の CSS スコープを含めたり除外したり、iframe を無視したりすることができます。コンストラクターにあるチェーンメソッド(下記)を使用すれば、それが可能です。
disableFrame
AxeDevToolsWebdriverIO.disableFrame(selector: string): AxeDevToolsWebdriverIO指定された CSS セレクターに一致するフレームに axe-core を注入するのを無効にします。このメソッドは何度でも呼び出すことができます。
include
AxeDevToolsWebdriverIO.include(selector: string): AxeDevToolsWebdriverIO分析に含めるセレクター。これも何度でも呼び出すことができます。
exclude
AxeDevToolsWebdriverIO.exclude(selector: string): AxeDevToolsWebdriverIO分析から除外するセレクター。これも何度でも呼び出すことができます。
ルール構成
これらのオプションは、選択されたルールセットのルール構成を変更します。これらのオプションは標準のルール構成を上書きし、結果に影響を与えます。これらのメソッドへの追加呼び出しは、前の呼び出しを上書きします。
withRules
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 ドキュメントをご覧ください。
configure
AxeDevToolsWebdriverIO.configure(config: axe.Spec): AxeDevToolsWebdriverIOaxe-core の設定を行います。この値は直接axe.configure()に渡されます。
options
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
このメソッドは、ユーザーが使用サービスへのデータ送信を選択するためのものです。送信はデフォルトで有効になっています。
.enableTracking(state: boolean): AxeDevToolsWebdriverIOsetTrackingUrl
このメソッドは、使用メトリクスデータが送信される場所を変更することを可能にします。
.setTrackingUrl(url: string): AxeDevToolsWebdriverIOsetDistinctId
このメソッドは、保存/使用される異なるIDを変更することを可能にします。
.setDistinctId(distinctId: string): AxeDevToolsWebdriverIO