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に送信する方法 を参照してください。
-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スプレッドシート |
html+junit+csv |
3つのフォーマットすべて |
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形式で、stdoutに書き出します。ターミナル要約は表示されず、他の出力もすべて抑制されます。結果を他のプログラムにパイプで渡す際に使用します。
--load-delay <n>
ページの読み込み後に待機する時間(ミリ秒)を設定します(デフォルト:0)。 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>
フォーマットされたレポートが書き込まれるディレクトリ。 -f, --format を使用して出力形式を制御します(デフォルトはHTML)。生のJSONではなく、共有用のHTMLレポートや、CI統合用のJUnit XMLファイルのような、人間が読める形式または機械可読なレポートを望む場合に使用してください。生のJSON出力には -d, --dir を代わりに使用します。
--rules <list>
実行するルールIDのカンマ区切りリスト。指定されたルールのみがチェックされ、他のルールはすべてスキップされます。 axe-coreルールの説明 をご覧ください。全ルールIDのリストが記載されています。
axe http://example.com --rules color-contrast,duplicate-id-s, --save [filename]
現在のディレクトリにJSONファイルとして結果を保存します。ファイル名はオプションで、省略した場合、ファイルは axe-result.jsonという名前になります。特定のディレクトリに保存したい場合は、 -d, --dirを使用します。
--show-errors
axe がランタイムエラーに遭遇した場合(初期化に失敗したり、実行中に例外が発生した場合など)、通常は簡単なエラーメッセージをstderrに出力します。このフラグを使うと、その出力に完全なスタックトレースを追加します。アクセシビリティ違反の報告方法には影響しません。カスタム --axe-source ファイルのデバッグ、CIでの予期せぬ失敗の診断、バグレポートのための情報収集に使用します。
-t, --tags <list>
実行するルールをフィルタリングするタグのカンマ区切りリスト。指定されたタグのうち、少なくとも1つに一致するルールのみが含まれます。 axe-coreタグドキュメント を参照して、利用可能なタグの完全なリストをご覧ください。
axe http://example.com --tags wcag2a,wcag2aa--timer
テスト実行後に、端末に3つの時間計測を表示します:
- axeページ読み込み時間:ブラウザでページが読み込まれるのにかかった時間
- axe-core実行時間:axe-coreがページを分析するのにかかった時間
- 総テスト時間:実行全体の経過時間
この情報を使用してテストの遅延を診断します。例えば、ページの読み込みを待っている時間が長いのか、Axe分析に時間がかかっているのか、またはランが --page-timeout や --script-timeout の制限に達している理由を調査するためにこのオプションを使用してください。
-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。ヘッドレスモードでも適用されます。 |
詳細については、 設定オプションを参照してください。
