C# API リファレンス
Web 用 Axe DevTools の C# クラスおよびメソッドの API リファレンス
Axe DevTools C# クラス
このページでは、Axe DevTools C# を構成するクラスを記述しています
class Deque.AxeDevtools.Selenium.AxeSelenium
axe へのインターフェースです。axe の実行方法を変更するための設定と、axe を実行する機能を含んでいます。
| 静的フィールド | 型 | 説明 |
|---|---|---|
| defaultAxeSource | string | 使用されるデフォルトの axe-core の文字列。 |
AxeSelenium(OpenQA.Selenium.Remote.RemoteWebDriver, ReportConfiguration?, string)
特定の設定を持つページのために新しい AxeSelenium オブジェクトを作成します。
| パラメータ | 説明 |
|---|---|
| webdriver | テストの準備が整ったページの Selenium オブジェクト |
| reportConfiguration | さまざまなレポート固有の情報の設定。デフォルトは ReportConfiguration.GetDefault() |
| axeSource | 使用する axe-core のソース。デフォルトは AxeSelenium.defaultAxeSource |
ReportResultsAnalyze()
ページで axe を実行します。
返り値: axe-core をページで実行した時のレポート。
var report = new AxeSelenium(driver).Analyze();AxeSelenium Configure(Spec)
axe を設定します。これは axe.configure 経由で行われます。
| パラメータ | 説明 |
|---|---|
| spec | 渡すための Spec オブジェクト。 |
返り値: チェーン用のこのオブジェクト。
var spec = new Spec.Spec {
Checks = new Spec.Check[] {
new Spec.Check() {
Id = "dylang",
Options = (object) new string[] { "dylan" },
Evaluate = @"function (node, options) {
var lang = (node.getAttribute('lang') || '').trim().toLowerCase();
var xmlLang = (node.getAttribute('xml:lang') || '').trim().toLowerCase();
var invalid = [];
(options || []).forEach(function(cc) {
cc = cc.toLowerCase();
if (lang && (lang === cc || lang.indexOf(cc.toLowerCase() + '-') === 0)) {
lang = null;
}
if (xmlLang && (xmlLang === cc || xmlLang.indexOf(cc.toLowerCase() + '-') === 0)) {
xmlLang = null;
}
});
if (xmlLang) {
invalid.push('xml:lang='' + xmlLang + ''');
}
if (lang) {
invalid.push('lang='' + lang + ''');
}
if (invalid.length) {
this.data(invalid);
return true;
}
return false;
}"
}
},
Rules = new Spec.Rule[] {
new Spec.Rule() {
Id = "dylang",
Selector = "html",
Tags = new string[] { "wcag2aa" },
All = new string[0],
Any = new string[0],
None = new string[] { "dylang" }
}
}
};
var report = new AxeSelenium(driver)
.Configure(spec)
.Analyze()AxeSeleniumDisablingRules(string[])
axe を実行するときに一部のルールを無効にします。
| パラメータ | 説明 |
|---|---|
| rules | ルールの ID のリスト。 |
返り値: チェーン用のこのオブジェクト。
var report = new AxeSelenium(driver)
.DisablingRules("html-has-lang", "label")
.Analyze()AxeSeleniumExcluding(string[])
axe を実行するときに除外するページの部分を指定します。
| パラメータ | 説明 |
|---|---|
| セレクタ | 要素のCSSセレクタのリスト。 |
戻り値: チェイン処理のためのこのオブジェクト。
var report = new AxeSelenium(driver)
.Excluding(".third-party-ad", ".iframe1")
.Analyze()AxeSeleniumインクルード(string[])
ページの一部にaxeを実行する範囲を指定します。
| パラメータ | 説明 |
|---|---|
| セレクタ | 要素のCSSセレクタのリスト。 |
戻り値: チェイン処理のためのこのオブジェクト。
var report = new AxeSelenium(driver)
.Including(".sidebar", ".some-class")
.Analyze()AxeSelenium RunOptions(RunOptions)
RunOptions を指定して、axe.runを呼び出す際にaxeに渡します。
| パラメータ | 説明 |
|---|---|
| オプション | 渡すオブジェクト |
戻り値: チェイン処理のためのこのオブジェクト。
var options = new RunOptions.RunOptions {
IFrames = false,
RunOnly = RunOptions.RunOnly.Tags(RunOptions.TagType.Wcag2a)
};
var report = new AxeSelenium(driver)
.RunOptions(options)
.Analyze()AxeSeleniumコンフィグファイル指定(string)
コンフィグファイルを見つける場所を設定します。デフォルトのパスはconfig/axe-ruleset.jsonまたは$AXE_RULESET_PATHです。
| パラメータ | 説明 |
|---|---|
| パス | コンフィグファイルのパス。 |
戻り値: チェイン処理のためのこのオブジェクト。
var report = new AxeSelenium(driver)
.WithConfigFile("path/to/file.json")
.Analyze();AxeSeleniumルール指定(string[])
axeを実行するときに使用するルール(ID)を指定します。
| パラメータ | 説明 |
|---|---|
| ルール | ルールのIDのリスト。 |
戻り値: チェイン処理のためのこのオブジェクト。
var report = new AxeSelenium(driver)
.WithRules("document-title", "label")
.WithRules("html-has-lang")
.Analyze()AxeSeleniumルールセット指定(string, bool)
特定のルールセットを使用します(例えば、wcag2.1、508)。
| パラメータ | 説明 |
|---|---|
| ルールセットID | 使用するルールセットのID。 |
| enableBestPractices | ルールをbest-practiceでタグ付けするかどうかを指定します。デフォルトはfalseです |
戻り値: チェイン用のこのオブジェクト。
var report = new AxeSelenium(driver)
.WithRuleset("508", true)
.Analyze()AxeSelenium WithTags(TagType[])
実行時に使用するルールをタグで指定します。
| パラメータ | 説明 |
|---|---|
| タグ | ルールのタグのリストです。 |
戻り値: チェイン用のこのオブジェクト。
var report = new AxeSelenium(driver)
.WithTags(RunTagType.BestPractice)
.Analyze()環境変数
これらの環境変数は、使用サービスを設定し、報告されるイベントのプロパティを変更することができます。
| 名前 | タイプ | 上書き可能 | 説明 |
|---|---|---|---|
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 | ユーザーに紐づけたいステータス情報 |
AxeSeleniumEnableTracking(bool)
使用サービスにデータを送信するかどうかをオプトインまたはオプトアウトする。
| パラメータ | 説明 |
|---|---|
| 状態 | トラッキングが有効かどうか |
戻り値: チェイン用のこのオブジェクト。
AxeSeleniumSetTrackingUrl(string)
使用メトリクスデータが送信される場所を設定します。デフォルトはhttps://usage.deque.comです
| パラメータ | 説明 |
|---|---|
| URL | 送信先のURL |
戻り値: チェイン用のこのオブジェクト。
AxeSeleniumSetDistinctId(string)
使用メトリクス送信時に使用される異なるIDを設定します。
| パラメータ | 説明 |
|---|---|
| ID | 異なるIDとして送信されるUUID |
戻り値: チェイン用のこのオブジェクト。
class Deque.AxeDevtools.Selenium.ReportConfiguration
テストスイート名やユーザーエージェント情報など、レポート固有の情報を設定します。
| 静的フィールド | 型 | 説明 |
|---|---|---|
| TIMESTAMP_FORMAT | 文字列 | レポートのタイムスタンプの形式。 |
static ReportConfigurationGetDefault()
現在のデフォルト設定を取得します。デフォルトは変更可能であることに注意してください。
戻り値: 現在のデフォルト。
static void ResetDefault()
デフォルトを初期状態にリセットします。
void SetAsDefault()
このオブジェクトをデフォルトとして設定します。
ReportConfiguration.GetDefault()
.TestSuiteName("my-tests")
.UIState("home-page")
.SetAsDefault();ReportConfigurationTestMachine(string)
これらのテストが実行されたマシンを設定します。
| パラメータ | 説明 |
|---|---|
| testMachine | マシンのID。 |
戻り値: チェイン用のこのオブジェクト。
ReportConfigurationTestSuiteName(string)
テストスイート名を設定します。
| パラメータ | 説明 |
|---|---|
| name | 名前。 |
戻り値: チェイン用のこのオブジェクト。
ReportConfigurationUIState(string)
このテストセットのUI状態を指定します。IDとして使用されます。
| パラメータ | 説明 |
|---|---|
| id | 状態ID。 |
戻り値: チェイン用のこのオブジェクト。
ReportConfigurationUserAgent(string)
テスト時に使用されるユーザーエージェントを設定します。
| パラメータ | 説明 |
|---|---|
| userAgent | ユーザーエージェント文字列。 |
戻り値: チェイン用のこのオブジェクト。
class Deque.AxeDevtools.Selenium.Results.Check
Axeチェックの実行結果。
| フィールド | タイプ | 説明 |
|---|---|---|
| データ | オブジェクト | チェックの種類に特有で任意の追加情報。たとえば、色のコントラストチェックでは、前景色、背景色、コントラスト比などが含まれる。 |
| ID | 文字列 | このチェックの一意識別子。チェックIDはルールIDと同じ場合がある。 |
| 影響 | 文字列 | この特定のチェックがどれほど深刻か。"minor"(軽微)、"moderate"(中程度)、"serious"(重大)、"critical"(緊急)のいずれかが使われる。ルールの一部である各チェックは、異なる影響を持つことができる。すべての失敗したチェックの中で最も高い影響がルールとして報告される。 |
| メッセージ | 文字列 | このチェックが合格または不合格となった理由の説明。 |
| 関連ノード | リスト<ノード> | このチェックに関連する他のノードに関する情報の任意の配列。たとえば、重複IDチェックの違反の場合、この同じ重複IDを持つ他のセレクタをリストする。 |
class Deque.AxeDevtools.Selenium.Results.CheckedNode
ルールによってチェックされたHTMLノード。
| フィールド | タイプ | 説明 |
|---|---|---|
| すべて | リスト<チェック> | すべてが合格しなければならないチェックの配列。 |
| いずれか | リスト<チェック> | 少なくとも1つが合格しなければならないチェックの配列。 |
| 影響 | 文字列 | 違反がどれほど深刻か。テストに失敗した場合は"minor"、"moderate"、"serious"、"critical"のいずれかが使われ、チェックが合格した場合はnullになる。 |
| なし | リスト<チェック> | すべてが不合格でなければならないチェックの配列。 |
class Deque.AxeDevtools.Selenium.Results.Node
特定のHTMLノードを指定する。
| フィールド | タイプ | 説明 |
|---|---|---|
| HTML | 文字列 | 要素のHTMLのスニペット。 |
| ターゲット | オブジェクト | 文字列または文字列の配列の配列。配列内のアイテムが文字列の場合、それはCSSセレクタである。配列内に複数のアイテムがある場合、各アイテムはiframeまたはフレームの1つのレベルに対応する。iframeまたはフレームが1つの場合、ターゲットには2つのエントリがあるべきである。iframeが3レベルの場合、ターゲットには4つのエントリがあるべきである。配列内のアイテムが文字列の配列である場合、それはシャドウDOM内の要素を指し、この配列内の各アイテム(n-1項目を除いて)はシャドウDOMを持つDOM要素へのセレクタである。配列の最後の要素は最終的なシャドウDOMノードを指す。 |
class Deque.AxeDevtools.Selenium.Results.Platform
テストが実行されたプラットフォーム。
| フィールド | タイプ | 説明 |
|---|---|---|
| テストマシン | 文字列 | テストが実行されたマシンのID。 |
| ユーザーエージェント | 文字列 | テストが実行されたユーザーエージェント。 |
class Deque.AxeDevtools.Selenium.Results.ReportResults
リポーター形式と互換性のあるテスト結果。
var axe = new AxeSelenium(driver, ReportConfiguration.GetDefault().UIState("UIState"));
var res = axe.Analyze();
File.WriteAllText(reportPath, JsonConvert.SerializeObject(res));| フィールド | タイプ | 説明 |
|---|---|---|
| 終了時間 | 文字列 | テストが完了した時刻。 |
| 所見 | テスト結果 | Axeの結果。 |
| ID | 文字列 | テストの実行ID。 |
| 名前 | 文字列 | テストの実行名。 |
| プラットフォーム | プラットフォーム | テストが実行されたプラットフォームの情報。 |
| テスト対象 | テスト対象 | テストが実行された場所の情報(例:ウェブページのURL)。 |
| タイプ | 文字列 | レポートの種類。常に「attest-result」。 |
class Deque.AxeDevtools.Selenium.Results.Rule
単一のルールの結果。
| フィールド | タイプ | 説明 |
|---|---|---|
| 作成日 | 文字列 | 分析が完了した日時。 |
| 説明 | 文字列 | ルールの内容を説明する文字列。 |
| ヘルプ | 文字列 | 実行されたテストを説明するヘルプテキスト。 |
| ヘルプURL | 文字列 | 違反の詳細についてさらに情報を提供するURLです。Deque Universityサイトのページにリンクします。 |
| ID | 文字列 | ルールの一意の識別子。 |
| 影響度 | 文字列 | 違反の深刻度を示します。ルールが失敗した場合、「軽微」、「中程度」、「重大」または「致命的」のいずれかになります。チェックが合格した場合はnullです。 |
| ノード | リスト<CheckedNode> | ルールがテストしたすべての要素の配列。 |
| タグ | リスト<文字列> | このルールに割り当てられたタグの配列。これらのタグは、実行するルールを選択するためのオプション構造で使用できます。 |
| URL | 文字列 | テストされたページのURL。 |
class Deque.AxeDevtools.Selenium.Results.TestEngine
テストが実行されたaxe-coreエンジンに関する情報。
| フィールド | 型 | 説明 |
|---|---|---|
| 名前 | 文字列 | エンジンの名前。 |
| バージョン | 文字列 | エンジンのバージョン番号。 |
class Deque.AxeDevtools.Selenium.Results.TestEnvironment
テストが実施された環境に関する情報。
| フィールド | 型 | 説明 |
|---|---|---|
| オリエンテーション角度 | double? | 画面のオリエンテーション角度。(例: 0) |
| オリエンテーションタイプ | 文字列 | 画面のオリエンテーションタイプ。(例: 「横向き-主」) |
| ユーザーエージェント | 文字列 | テストが実行されたブラウザのユーザーエージェント。 |
| ウィンドウの高さ | int | ウィンドウの高さ。 |
| ウィンドウの幅 | int | ウィンドウの幅。 |
class Deque.AxeDevtools.Selenium.Results.TestResults
ページでaxeを実行した結果。
| フィールド | タイプ | 説明 |
|---|---|---|
| 適用外 | リスト<ルール> | これらの結果は中断され、さらなるテストが必要です。これは、技術的な制限によりルールがテストできない場合や、JavaScriptエラーが発生した場合に起こります。 |
| 不完全 | リスト<ルール> | これらの結果は、ページに一致するコンテンツが見つからなかったためにルールが実行されなかったことを示します。たとえば、ビデオがない場合、これらのルールは実行されません。 |
| 合格 | リスト<ルール> | これらの結果は、どの要素がルールを通過したかを示しています。 |
| テストエンジン | テストエンジン | テストに使用されたaxe-coreエンジンに関する情報。 |
| テスト環境 | テスト環境 | テストが行われた環境に関する情報。 |
| テストランナー | テストランナー | テストランナーの名前。 |
| タイムスタンプ | 文字列 | 分析が完了した日時。 |
| ツールオプション | オブジェクト | テスト時に適用されたオプション。 |
| URL | 文字列 | テストされたページのURL。 |
| 違反 | リスト<ルール> | これらの結果は、どの要素がルールに違反したかを示しています。 |
class Deque.AxeDevtools.Selenium.Results.TestRunner
テストランナーの名前。
| フィールド | タイプ | 説明 |
|---|---|---|
| 名前 | 文字列 | 名前です。 |
class Deque.AxeDevtools.Selenium.Results.TestSubject
テスト対象に関する情報。
| フィールド | タイプ | 説明 |
|---|---|---|
| ファイル名 | 文字列 | テスト対象サイトのファイル名。(URLでも可) |
| 行番号 | 整数 | テストの行番号。 |
| 状態 | 文字列 | ファイルの状態。 |
class Deque.AxeDevtools.Selenium.RunOptions.Context
テストする要素としない要素を指定します。
void Excluding(string[])
テストしない要素のセレクターセットを追加します。
| パラメータ | 説明 |
|---|---|
| 除外 | CSSセレクターセット。 |
void Including(string[])
テストする要素のセレクターセットを追加します。
| パラメータ | 説明 |
|---|---|
| 含む | CSSセレクターセット。 |
enum Deque.AxeDevtools.Selenium.RunOptions.ResultGroup
- 合格
- 違反
- 不完全
- 不適用
class Deque.AxeDevtools.Selenium.RunOptions.RuleStatus
ルールを有効化または無効化します。
| フィールド | 型 | 説明 |
|---|---|---|
| 有効 | ブール | 有効であるかどうか。 |
class Deque.AxeDevtools.Selenium.RunOptions.RunOnly
名前やタグに基づいて実行するルールを制限します。
static RunOnlyRules(string[])
IDに基づいてルールのリミッターを構築します。
| パラメータ | 説明 |
|---|---|
| ルール | 使用するルールのIDのリスト。 |
戻り値: RunOnly オブジェクト。
static RunOnly タグ(TagType[])
タグに基づくルールの制限を構築します。
| パラメータ | 説明 |
|---|---|
| タイプ | 使用するタグの一覧。 |
戻り値: RunOnly オブジェクト。
enum Deque.AxeDevtools.Selenium.RunOptions.RunOnlyType
- ルール
- ルール
- タグ
- タグ
class Deque.AxeDevtools.Selenium.RunOptions.RunOptions
axe の動作を柔軟に設定します。
| フィールド | 型 | 説明 |
|---|---|---|
| ElementRef | bool? | ターゲットに加えて要素参照を返します。 |
| IFrames | bool? | axe に iframes 内で実行するように指示します。 |
| ResultTypes | ResultGroup[] | 処理および集約される結果タイプを制限します。 |
| ルール | Dictionary<string, RuleStatus> | ルールのプロパティをカスタマイズできます({ enable: false } を含む)。 |
| RunOnly | RunOnly | 名前またはタグに基づいて実行するルールを制限します。 |
| セレクタ | bool? | 要素の xpath セレクタを返します。 |
enum Deque.AxeDevtools.Selenium.RunOptions.TagType
- Wcag2a
- Wcag2aa
- Wcag2aaa
- Wcag21a
- Wcag21aa
- Wcag21aaa
- Wcag22a
- Wcag22aa
- Wcag22aaa
- Section508
- TTv5
- EN301549
- RGAAv4
- BestPractice
class Deque.AxeDevtools.Selenium.Spec.Check
ルールで使用されるチェックリストにチェックを追加したり、既存のチェックのプロパティを上書きするために使用されます。
| フィールド | タイプ | 説明 |
|---|---|---|
| After | string | これは、ページレベルで動作するチェックの結果をiframeから処理するために呼び出される関数です。 |
| 有効 | bool? | これはチェックがデフォルトでオンかオフかを示すために使用されます。オフのチェックは、たとえルールに含まれていても評価されません。これを上書きすることは、多くのルールで特定のチェックを無効にする一般的な方法です。 |
| 評価 | string | これはチェックの機能を実装する関数です。 |
| ID | string | これはチェックを一意に識別します。チェックがすでに存在する場合、提供されたチェックプロパティは上書きされます。 |
| 一致 | string | CSSセレクタに一致しない要素を除外するフィルタリングCSSセレクタです。 |
| オプション | object | これは評価関数に渡されるオプション構造であり、チェックを構成するために使用されます。既存のチェックに対して上書きされる最も一般的なプロパティです。 |
class Deque.AxeDevtools.Selenium.Spec.Rule
既存のルールセットにルールを追加したり、既存のルールのプロパティを上書きするために使用されます。
| フィールド | タイプ | 説明 |
|---|---|---|
| All | string[] | このリストのチェックのうちいずれかが「失敗」すると、違反が発生します。 |
| Any | string[] | このリストのチェックが全て「合格」しない場合、違反が発生します。 |
| 有効 | bool? | ルールが有効かどうかを示します。これは上書きに一般的な属性です。 |
| ExcludeHidden | bool? | すべてのユーザーから隠されている要素を、そのルールに評価のために通すかどうかを示します。 |
| ID | string | これはルールを一意に識別します。ルールが既に存在する場合、提供された属性で上書きされます。 |
| 一致 | string | CSSセレクタに一致しない要素を除外するフィルタリングCSSセレクタです。 |
| None | string[] | このリストは、どれかが「合格」すると違反が生じるチェックのリストです。 |
| ページレベル | bool? | true に設定すると、このルールはページ全体がテストされるときにのみ適用されます。異なるフレーム上のノードの結果は、1つの結果にまとめられます。 |
| セレクター | string | ルールの評価に渡される要素を識別するために使用される CSS セレクターです。 |
| タグ | string[] | ルールを「分類」するタグのリストです。実際には、有効なタグをいくつか提供しないと、デフォルトの評価ではルールが呼び出されません。慣習として、標準 (WCAG 2、セクション508、Trusted Tester v5、またはEN 301 549)、WCAG 2のレベル、セクション508のパラグラフ、およびWCAG 2の成功基準を含めます。タグはすべての文字を小文字に変換し、スペースとピリオドを削除して結果を連結することで構成されます。例: WCAG 2 A成功基準 1.1.1 は ["wcag2a", "wcag111"] になります。 |
class Deque.AxeDevtools.Selenium.Spec.Spec
axeで使用されるデータの形式を設定します。これを使用して新しいルールを追加できますが、実行するにはライブラリに登録する必要があります。
| フィールド | タイプ | 説明 |
|---|---|---|
| ブランディング | ブランディング | helpUrls のブランディングを設定するために使用されます。 |
| チェック | チェック[] | ルールで使用されるチェックのリストにチェックを追加するか、既存のチェックのプロパティを上書きするために使用されます。 |
| ロケール | ロケール | すべてのルールとチェックに適用されるロケールオブジェクトです(実行時に)。 |
| レポーターバージョン | レポーターバージョン? | axe.run 関数が返す出力形式を設定するために使用されます。 |
| ルール | ルール[] | 既存のルールセットにルールを追加するか、既存のルールのプロパティを上書きするために使用されます。 |
