Java PlaywrightのAPIリファレンス
Axe DevTools for Web Java Playwright統合におけるAxePlaywrightBuilderクラスのAPIリファレンス
このドキュメントでは、Playwright Java統合によって提供されるAxePlaywrightBuilderクラスのAPIリファレンスを提供します。
AxePlaywrightBuilderクラスのほとんどのメソッドはAxePlaywrightBuilderオブジェクトを返し、いくつかのメソッドを簡単にチェーンすることができます。メソッドチェーンの例については、以下のコードサンプルを参照してください。
コンストラクタ
| コンストラクタ | 説明 |
|---|---|
| AxePlaywrightBuilder(Page) | 標準のAxePlaywrightBuilderオブジェクトを作成するコンストラクタです。 |
| AxePlaywrightBuilder(Page, File) | AxePlaywrightBuilderオブジェクトを作成し、解析中に使用されるカスタムルールを含むJSONファイルを指定します。 |
| AxePlaywrightBuilder(Page, String) | カスタムルールを含むJSONStringを指定しながらAxePlaywrightBuilderオブジェクトを作成します。 |
AxePlaywrightBuilder(Page)
指定したPageオブジェクトのAxePlaywrightBuilderクラスの新しいインスタンスを初期化します。
public AxePlaywrightBuilder(Page page);パラメータ
| 名前 | 型 | 説明 |
|---|---|---|
| page | com.microsoft.Playwright.Page | アクセシビリティ解析に使用されるPageオブジェクト。 |
例
以下のコード例は、このコンストラクタの使用方法を示しています。また、そのPageオブジェクトを使用してPageオブジェクトおよびAxePlaywrightBuilderオブジェクトを作成する方法も示しています。
// Example Page
Page page = browser.newPage();
AxePlaywrightBuilder axePlaywrightBuilder = new AxePlaywrightBuilder(page);AxePlaywrightBuilder(Page, File)
FileオブジェクトおよびPageオブジェクトが指定されたAxePlaywrightBuilderクラスの新しいインスタンスを初期化します。Fileにはカスタムルールを含むJSONファイルが含まれています。
public AxePlaywrightBuilder(Page page, File rules);パラメータ
| 名前 | 型 | 説明 |
|---|---|---|
| page | com.microsoft.Playwright.Page | 必須のPageオブジェクト。 |
| rules | File | カスタムのアクセシビリティルールを含むJSONファイルを表すFileオブジェクト。 |
例
次の例は、このコンストラクターの使用方法を示しています。
// Example Page
Page page = browser.newPage();
File customRuleset = new File("somePath/custom-ruleset.json")
AxePlaywrightBuilder axePlaywrightBuilder = new AxePlaywrightBuilder(page, customRuleset);AxePlaywrightBuilder(Page, String)
指定されたPage オブジェクトと指定されたString オブジェクトを含む JSON 文字列で、カスタムルールを持つ新しい AxePlaywrightBuilder クラスのインスタンスを初期化します。
public AxePlaywrightBuilder(Page page, String rules);パラメーター
| 名前 | 型 | 説明 |
|---|---|---|
| page | com.microsoft.Playwright.Page | 必須のPage オブジェクト |
| rules | String | カスタムアクセシビリティルールのセットを表す JSON 文字列。 |
例
次のコード例は、このコンストラクターを示しています。
// Example Page
Page page = browser.newPage();
String customRuleset = "{...}"
AxePlaywrightBuilder axePlaywrightBuilder = new AxePlaywrightBuilder(page, customRuleset);メソッド
| メソッド | 説明 |
|---|---|
| analyze | Playwright ページを分析し、完了した分析からAxeResults オブジェクトを返します。 |
| configure(File) | axe-core を JSON ファイル経由で実行するカスタム設定を提供します。 |
| configure(String) | axe-core を JSON 文字列経由で実行するカスタム設定を提供します。 |
| disableRules | 分析中に特定のルールが実行されないようにします。 |
| exclude | CSS セレクターを指定して、分析中に特定の HTML コンテンツを除外します。 |
| include | 分析中に HTML コンテンツを含む CSS セレクターを指定します。 |
| setLegacyMode | クロスドメインフレームや iframes で発生する可能性のあるアクセシビリティ問題を除外するためにレガシーモードを設定します。 |
| withAxeSource(File) | File オブジェクトを使用して axe-core のカスタムバージョンを提供します。 |
| withAxeSource(String) | String オブジェクトを使用して axe-core のカスタムバージョンを提供します。 |
| withOnlyBestPracticeRules | ベストプラクティスルールのみを使用してアクセシビリティをチェックします。 |
| withOnlyExperimentalRules | 実験的ルールのみを使用してアクセシビリティをチェックします。 |
| withRules | アクセシビリティルールを指定されたものに限定します。 |
| タグ付き | 確認するアクセシビリティルールを、指定されたタグのリストに限定します。 |
解析
Playwrightのページ(AxePlaywrightBuilderオブジェクトが作成されたときに指定された)を分析し、完了した分析からAxeResultsオブジェクトを返します。
AxeResults AxePlaywrightBuilder.analyze();戻り値
- AxeResults
例
次のコード例は、analyzeメソッドの使用方法を示しています。
AxePlaywrightBuilder axePlaywrightBuilder = new AxePlaywrightBuilder(page);
AxeResults axeResults = axePlaywrightBuilder.analyze();
/* Usage may include:
axeResults.getViolations() - returns only violation results
axeResults.getPasses() - returns only pass results
axeResults.getIncomplete() - returns only incomplete results
*/設定(ファイル)
カスタム設定をaxe-coreにJSONファイルを通して提供します。
public AxePlaywrightBuilder configure(File axeConfigure);設定ファイルの形式に関する詳細については、axe-coreの設定をご覧ください。
パラメータ
| 名前 | 型 | 説明 |
|---|---|---|
| ファイル | ファイル | JSON形式でaxe-coreの設定を表現するファイルオブジェクト。 |
例
次の例は、設定にアクセスし、それをAxePlaywrightBuilderオブジェクトで使用する方法を示しています。
File myAxeConfigure = new File("./axe-configure.json");
AxePlaywrightBuilder axePlaywrightBuilder = new AxePlaywrightBuilder(page)
.configure(myAxeConfigure);
設定(文字列)
カスタム設定をaxe-core(アクセシビリティの分析に使われる基盤技術)にJSON文字列で提供します。
public AxePlaywrightBuilder configure(String axeConfigure);設定ファイルの形式に関する詳細については、axe-coreの設定をご覧ください。
パラメータ
| 名前 | 型 | 説明 |
|---|---|---|
| axeConfig | 文字列 | JSON形式でaxe-coreの設定を表現する文字列オブジェクト。 |
例
次の例は、設定にアクセスし、それをAxePlaywrightBuilderオブジェクトで使用する方法を示しています。
String myAxeConfigure = "{..}"
AxePlaywrightBuilder axePlaywrightBuilder = new AxePlaywrightBuilder(page)
.configure(myAxeConfigure);ルールの無効化
分析中に実行を無効にするルールを指定します。
public AxePlaywrightBuilder disableRules(List<String> rules);パラメータ
| 名前 | 型 | 説明 |
|---|---|---|
| ルール | リスト<String> | 分析中に無効化するルールを表す文字列のリスト。 |
戻り値
- AxePlaywrightBuilder
例
次の例は、CollectionsクラスのsingletonListメソッドを使用して単一のルールのアクセシビリティチェックを無効にし、Listを使用して複数のルールを無効にする方法を示します。
// Single Rule
AxePlaywrightBuilder axePlaywrightBuilder1 = new AxePlaywrightBuilder(page)
.disableRules(Collections.singletonList("color-contrast"));
// Multiple Rules
AxePlaywrightBuilder axePlaywrightBuilder2 = new AxePlaywrightBuilder(page)
.disableRules(Arrays.asList("color-contrast", "image-alt"));除外
解析中にHTML要素を除外するためのCSSセレクターを指定します。
public AxePlaywrightBuilder exclude(List<String> excludeCSS);パラメータ
| 名前 | 型 | 説明 |
|---|---|---|
| excludeCSS | List<String> | アクセシビリティ分析に含まれない要素を指定するCSSセレクターのリスト。 |
戻り値
- AxePlaywrightBuilder
例
次の例は、以下の属性を持つ要素を解析から除外する方法を示します。
- class="some-class"
- class="some-other-class"
new AxePlaywrightBuilder(page)
.exclude(Collections.singletonList(".some-class"))
.exclude(Collections.singletonList(".some-other-class"));
次の例は、CSS iframeセレクターを使用して要素を除外する方法を示します。
// To exclude everything within html of parent-iframe
new AxePlaywrightBuilder(page)
.exclude(Arrays.asList("#parent-iframe", "#html"))含む
解析中に含めるCSSセレクター
public AxePlaywrightBuilder include(List<String> includeCSS);パラメータ
| 名前 | 型 | 説明 |
|---|---|---|
| includeCSS | List<String> | アクセシビリティ分析に含める要素を指定するCSSセレクターのリスト。 |
戻り値
- AxePlaywrightBuilder
例
次の例は、2つの異なるクラスを解析に含める方法を示します。例では、メソッドチェーンを使用して複数のCSSクラスを指定する方法が示されています。
new AxePlaywrightBuilder(page)
.include(Collections.singletonList(".some-class"))
.include(Collections.singletonList(".some-other-class"));
次の例は、CSS iframeセレクターを使用して要素を含める方法を示します。
// To include everything within html of parent-iframe
new AxePlaywrightBuilder(page)
.include(Arrays.asList("#parent-iframe", "#html"))setLegacyMode
異なるドメインのフレームやiframeで発生する可能性があるアクセシビリティの問題を除外します。
public AxePlaywrightBuilder setLegacyMode(boolean legacyMode);このAPIは、次のバージョンのAxe DevToolsで削除される予定です。
戻り値
- AxePlaywrightBuilder
例
次の例は、レガシーモードをオンにする方法を示します。
new AxePlaywrightBuilder(page)
.setLegacyMode(true);withAxeSource(File)
JavaのFileオブジェクトを使用してカスタムバージョンのaxe-coreを提供します。
public AxePlaywrightBuilder withAxeSource(File file);パラメータ
| 名前 | 型 | 説明 |
|---|---|---|
| ファイル | ファイル | axe-coreを実装するJavaScriptを含むファイル。 |
戻り値
- AxePlaywrightBuilder
例
次の例は、提供されたバージョンの代わりに異なるファイルをaxe-coreに使用する方法を示しています。これは特殊な場合にのみ行う必要があります。
File axeLegacySource = new File("somepath/axe-core@legacy.js");
new AxePlaywrightBuilder(page)
.withAxeSource(axeLegacySource);withAxeSource(String)
既に解析されたソースを使用してカスタムバージョンのaxe-coreを提供します。
public AxePlaywrightBuilder withAxeSource(String src);パラメータ
| 名前 | 型 | 説明 |
|---|---|---|
| src | String | Stringとして表現されるJavaScriptソースファイル。 |
戻り値
- AxePlaywrightBuilder
例
次の例は、Stringにファイルを読み込み、それをwithAxeSourceのソースファイルとして使用する方法を示しています。
String source = IOUtils.toString(somepPath.toURI(), StandardCharsets.UTF_8);
new AxePlaywrightBuilder(page)
.withAxeSource(source);withOnlyBestPracticeRules
最良実践ルールセットのみを有効化してアクセシビリティ問題をチェックします。
public AxePlaywrightBuilder withOnlyBestPracticeRules();戻り値
- AxePlaywrightBuilder
例
次の例は、最良実践ルールのみでアクセシビリティ分析を有効にする方法を示しています。
new AxePlaywrightBuilder(page)
.withOnlyBestPracticeRules();
withOnlyExperimentalRules
実験的ルールセットのみを有効化してアクセシビリティ問題をチェックします。
public AxePlaywrightBuilder withOnlyExperimentalRules();戻り値
- AxePlaywrightBuilder
例
次の例は、実験的ルールのみでアクセシビリティ分析を有効にする方法を示しています。
new AxePlaywrightBuilder(page)
.withOnlyExperimentalRules();
withRules
アクセシビリティ分析中に実行されるルールを指定されたものに限定します。
public AxePlaywrightBuilder exclude(List<String> rules);パラメータ
| 名前 | 型 | 説明 |
|---|---|---|
| rules | List<String> | アクセシビリティ分析に使用されるルールのリスト。 |
戻り値
- AxePlaywrightBuilder
例
次の例は、withRulesメソッドの2つの異なる使用方法を示しています。最初は1つのルールを含むListを作成し、color-contrastです。次に、カラーコントラストと代替テキストのルールを含むListを作成します。
// Single Rule
new AxePlaywrightBuilder(page)
.withRules(Collections.singletonList("color-contrast"));
// Multiple Rules
new AxePlaywrightBuilder(page)
.withRules(Arrays.asList("color-contrast", "image-alt"));withTags
指定されたタグに属するルールセットにアクセシビリティ解析を限定します。
public AxePlaywrightBuilder withTags(List<String> tags);パラメータ
| 名前 | 種類 | 説明 |
|---|---|---|
| タグ | List<String> | アクセシビリティ解析に含めたいルールを含むタグのリスト。 |
戻り値
- AxePlaywrightBuilder
例
この例では、アクセシビリティ解析を指定されたタグに属するルールに限定する方法を示しています。最初のコードスニペットは、wcag21aa仕様の一部であるルールに解析を限定する方法を示しています。2番目のスニペットは、wcag21aa仕様およびベストプラクティスルールに解析を限定する方法を示しています。
// Single tag
new AxePlaywrightBuilder(page)
.withTags(Collections.singletonList("wcag21aa"));
// Multiple tags
new AxePlaywrightBuilder(page)
.withTags(Arrays.asList("wcag21aa", "best-practice"));