CLIによるページのテスト
Axe DevTools for Web CLIを使用した個別のウェブページのテストオプション
CLIのURI入力モードを使用する際、テストの範囲とルールセットを変更するためのいくつかの追加オプションがあります。例えば、次のコードはテストからヘッダーとフッターを除外し、色のコントラストルールを無効にします。
axe http://example.com --exclude footer,header --disable color-contrastオプション
-a, --axe-source <path>
別のaxe.jsファイルへのパス。ほとんどのユーザーにはこのオプションは必要ありません。これは、特定のまたはパッチされたバージョンのaxe-coreに対してテストするなどの高度なユースケースを対象としています。
--axe-devhub-api-key <your-API-key>
アクセシビリティの結果をAxe Developer Hubに送信するために使用するAxeアカウントAPIキーを指定します。テスト完了後、指定されたプロジェクトID(--axe-devhub-project-idコマンドラインオプションで指定)に関連付けられたプロジェクトに結果が送信されます。Axe Developer Hubに結果を送信するには、--axe-devhub-api-keyと--axe-devhub-project-idの両方が必要です。詳細についてはCLIを使用してアクセシビリティ結果をAxe Developer Hubに送信するを参照してください。
--axe-devhub-project-id <your-project-ID>
アクセシビリティテスト結果を受け取るためのAxe Developer HubプロジェクトIDを指定します。Axe Developer Hubに結果を送信するには、--axe-devhub-api-keyと--axe-devhub-project-idの両方が必要です。詳細についてはCLIを使用してアクセシビリティ結果をAxe Developer Hubに送信するを参照してください。
--axe-devhub-server-url <url>
Axe Developer HubサーバーのURLを指定します。デフォルト値はhttps://axe.deque.comです。環境変数であるAXE_DEVHUB_SERVER_URLと同等です。詳細についてはCLIを使用してアクセシビリティ結果をAxe Developer Hubに送信するを参照してください。
--axe-reports-dimensions <list>
Axeレポートでスキャンを分類するために使用されるJTBD(ジョブ・トゥ・ビー・ドーン)の次元をカンマ区切りでリスト化します。次元は、チーム名、リリース、アプリケーション領域など、自由形式のラベルであり、有効な値の固定セットはありません。アップロードされた結果でプロジェクトに記録され、Axeレポートでそれによってスキャンをグループ化およびフィルターすることができます。
axe http://example.com --send-axe-reports --axe-reports-api-key <your-API-key> --axe-reports-dimensions checkout,mobile-webこのオプションは、--send-axe-reportsと一緒にAxeレポートに結果が送信されている場合にのみ効果があります。AxeレポートのオプションやAPIキーの取得方法についてはAxeレポートへのJSONアクセシビリティ結果のアップロードを参照してください。
-c, --custom <path>
使用するカスタムルールセットを指定します。ルールセットファイルの生成に関する詳細はカスタムルールセットを参照してください。
--chrome-options [options]
ブラウザに渡すChromeコマンドラインスイッチのカンマ区切りリスト。例えば:
axe http://example.com --chrome-options="some-switch,some-other-switch"--chrome-path <path>
Chromeブラウザー実行ファイルへの絶対パス。デフォルトのブラウザーが見つからない場合や特定のバージョンで実行する必要がある場合に、axeを特定のChromeインストールにポイントするために使用します。
--chromedriver-path <path>
ChromeDriver実行ファイルへの絶対パス。ChromeDriverはChromeブラウザー自体とは別のバイナリであり、axeのWebDriverコマンドをChromeが実行できる指示に変換するためのブリッジとして機能します。
-d, --dir <path>
JSON結果ファイルが保存されるディレクトリ。このフラグ(または--saveまたは--report)を使用しない場合、ファイルは作成されず、結果は人間が読める要約として端末に表示されます。ディスクに書き込まずに機械可読の出力が必要な場合は-j, --stdoutも参照してください。
-l, --disable <list>
無効にするルールIDのコンマ区切りリスト。ルールIDの全リストについてはaxe-coreルールの説明を参照してください。
axe http://example.com --disable color-contrast,duplicate-id-e, --exclude <list>
テストから除外する要素のCSSセレクタのカンマ区切りリスト。例えば:
# Exclude by element type
axe http://example.com --exclude footer,header
# Exclude by class or ID
axe http://example.com --exclude ".ad-banner,#cookie-notice"
# Exclude by attribute
axe http://example.com --exclude "[aria-hidden=true]"-f, --format <value>
生成されるレポートの形式を指定します。-r, --reportが必要です。各形式に何が含まれているかについてはレポートの作成とフィルタリングを参照してください。デフォルト: html。
| 値 | 出力 |
|---|---|
html |
HTMLレポート |
junit |
JUnit XMLレポート |
csv |
CSVスプレッドシート |
universal |
Axeユニバーサルフォーマット JSONファイル |
html+junit+csv |
すべてのフォーマットを一度に |
axe http://example.com --report ./reports --format html+junit+csv--filter <list>
CSV出力に含める結果タイプのコンマ区切りリスト。指定されたタイプのみが表示され、それ以外はすべて除外されます。有効な値はpasses、violations、incomplete、inapplicableです。--format csvが必要です。
axe reporter ./axe-reports/json/ --format=csv --filter passes,inapplicable-i, --include <list>
CSSセレクタのコンマ区切りリスト。指定すると、axeはのみ一致する要素をテストし、ページ上のそれ以外は無視されます。これは非常に制限的であり、ほとんどのユーザーは-e, --excludeを使用すべきです。特定のコンポーネントのテストを限定したい場合、例えばフォーカスしたデバッグやコンポーネントレベルのCIチェックの際にのみ--includeを使用してください。
# Test only the main navigation
axe http://example.com --include nav
# Test only elements with a specific class or ID
axe http://example.com --include ".my-widget,#signup-form"
# Test only elements with a specific attribute
axe http://example.com --include "[data-testid=checkout]"-j, --stdout
機械が読み取れるJSONとして全結果を標準出力に書き出し、人が読み取れるターミナル要約を表示しません。これを使用して、他のプログラムへ結果をパイプで送る際に利用してください。
--load-delay <n>
ページロード後に監査を実行するまでにaxeが待機する時間(ミリ秒)を設定します(デフォルト: 0)。
--no-git-data
Axe Developer Hubに結果を送信する際にGitブランチおよびコミット情報を報告しません。CLIを使用してアクセシビリティ結果をAxe Developer Hubに送信するを参照してください。
--no-reporter
違反の概要出力(ルールID、件数、影響を受けるセレクタ、ヘルプURL)を抑制しますが、すべてをサイレンスするわけではありません。進行メッセージと--save、--dir、--reportを介してディスクに書き込まれた結果は影響を受けません。主にCIパイプラインで結果をファイルに保存し、--exitをパス/フェイルの信号に使用し、ビルドログに詳細な違反情報を表示したくない場合に役立ちます。JSON結果出力で完全に静かにするには、-j, --stdoutを使用してください。
-q, --exit
アクセシビリティテストが失敗した場合、1エラーコードで終了します。
-r, --report <output-dir>
整形されたレポートが書き込まれるディレクトリ。出力形式を(デフォルトでHTML)制御するために-f, --formatと連携して動作します。例えば、関係者と共有するためのHTMLレポートやCI統合のためのJUnit XMLファイルのように、読みやすいまたは機械で解析可能なレポートが必要な場合に使用します。生JSON出力の場合は-d, --dirを使用してください。
--rules <list>
実行するルールIDのコンマ区切りリスト。指定されたルールのみがチェックされ、それ以外はすべてスキップされます。ルールIDの全リストについてはaxe-coreルールの説明を参照してください。
axe http://example.com --rules color-contrast,duplicate-id-s, --save [filename]
現在のディレクトリに結果をJSONファイルとして保存します。ファイル名はオプションで、指定しない場合はファイル名はaxe-result.jsonとなります。特定のディレクトリに保存するには-d, --dirを使用してください。
--show-errors
When axe encounters a runtime error (such as a failure to initialize or an exception thrown during execution), it normally prints a brief error message to stderr. This flag adds the full stack trace to that output. It does not affect how accessibility violations are reported. Use this when debugging a custom --axe-source file, diagnosing unexpected failures in CI, or gathering information for a bug report.
-t, --tags <list>
実行するルールをフィルタするためのタグのコンマ区切りリスト。指定されたタグの少なくとも一つに一致するルールのみが含まれます。利用可能なタグの全リストについてはaxe-coreタグのドキュメントを参照してください。
axe http://example.com --tags wcag2a,wcag2aa--timer
各テスト実行後に端末に次の3つのタイミング測定値を表示します:
- Axeページのロード時間: ブラウザーでのページロードにかかった時間
- axe-coreの実行時間: ページを解析するのにかかったaxe-coreの時間
- 総テスト時間: 実行全体の経過時間
遅いテストを診断するためにこれを使用します。例えば、ページロードを待っている時間かAxeの解析にかかる時間かを判断するため、または--page-timeoutや--script-timeoutの制限に引っかかる理由を調査するためにこのオプションを使用します。
--universal-best-practices
ユニバーサルフォーマット出力のメタデータにbestPracticesEnabled=trueを記録します。--format universalが必要です。
--universal-ruleset <id>
ユニバーサルフォーマット出力のメタデータに記録するルールセットIDを指定します。デフォルトはwcag2.1です。--format universalが必要です。
| ルールセットID | 標準 |
|---|---|
wcag2 |
WCAG 2.0 AA |
wcag2.1 |
WCAG 2.1 AA(デフォルト) |
wcag2.2 |
WCAG 2.2 AA |
wcag2aaa |
WCAG 2.0 AAA |
wcag2.1aaa |
WCAG 2.1 AAA |
wcag2.2aaa |
WCAG 2.2 AAA |
508 |
セクション 508 |
en301549 |
EN 301 549 |
ttv5 |
Trusted Tester v5 |
rgaav4 |
RGAA v4 |
508ルールセットは、ユニバーサルフォーマットには個別のSection 508標準値がないため、出力にstandard: "WCAG 2.1 AA"を記録します。
-v, --verbose
違反が見つかった場合は、違反の概要の後にJSONブロックを出力し、次の情報を含みます:
- テストエンジン: 使用されたaxe-coreのバージョン
- テスト環境: ブラウザーのユーザーエージェント、ビューポートの幅と高さ、画面の向き
- テストランナー: ランナー名
この出力は、違反がある場合にのみ表示されます。ページに違反がない場合、メタデータは印刷されません。どのaxe-coreのバージョンが実行されたかを確認したり、ビューポートの設定を確認したり、環境の詳細をバグ報告に含めたい場合に使用します。
構成オプション
以下のオプションは、ブラウザーの動作とテストのタイミングを制御します。上記のオプションとは異なり、これらはCLIの実行ごとに持続し、一度設定すると、すべての将来の実行に使用される設定ファイルに値が保存されます。また、axe config-seleniumを使用して対話的に設定することもできます。
| オプション | 説明 |
|---|---|
--accept-untrusted |
信頼できないSSL証明書を受け入れる。 |
--browser [browser-name] |
実行するブラウザ。選択したブラウザのためのSelenium WebDriverバインディングが必要です。 |
--headless |
ヘッドレスモード(ウィンドウ表示なし)でブラウザを起動。 |
--page-timeout [ms] |
ページのロードを待つ最大時間。デフォルト: 60000。 |
--post-analyze-pause [ms] |
ページ解析の開始と次のアクションに移る間の一時停止。デフォルト: 2000。 |
--post-get-pause [ms] |
ページロードとスキャン開始の間の一時停止。デフォルト: 2000。 |
--post-script-pause [ms] |
スクリプトアクションとスキャン開始の間の一時停止。デフォルト: 2000。 |
--remote-server [server-url] |
BrowserStackやSauce LabsなどのリモートWebDriverサーバーを使用。 |
--script-timeout [ms] |
仕様ファイルスクリプトの実行を許可される最大時間。デフォルト: 60000。 |
--window-size <width,height> |
ビューポートサイズをピクセル単位で設定します。例: --window-size=1280,800。ヘッドレスモードでも適用されます。 |
詳細については、設定オプションを参照してください。
