C# API リファレンス

This page is not available in the language you requested. You have been redirected to the English version of the page.
Link to this page copied to clipboard

Web 用 Axe DevTools の C# クラスおよびメソッドの API リファレンス

Not for use with personal data

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.1508)。

パラメータ 説明
ルールセット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 関数が返す出力形式を設定するために使用されます。
ルール ルール[] 既存のルールセットにルールを追加するか、既存のルールのプロパティを上書きするために使用されます。