Python API 概要
Python のための Axe DevTools for Web の概要。利用可能なパッケージとテストフレームワークの統合を含む
Axe DevTools Python には以下が含まれます:
- axe-core バージョン 4
- Python 3に対応(Python 2は非対応)
- unittest、Robot Framework、behave ベースのテストセットアップ、および
assertを使用するその他のフレームワーク
スキャンはデフォルトでWCAG 2.1レベルAAに対して実行され、ベストプラクティスおよび実験的ルールは無効になっています。ルールセットを変更したり、ベストプラクティスを有効にしたりするには、ルールのカスタマイズをご覧ください。
必須条件
Axe DevTools を使用するには、選択したブラウザの Selenium WebDriver バインディングが必要です。まず Selenium WebDriver をインストールし、設定する必要があります。
説明
Axe DevTools は複数の部分から成り立っています。コアパッケージはaxe-devtools-apiで、axe の設定と実行のロジックを提供します。axe-devtools-seleniumはブラウザと実際に通信するためにaxe-devtools-apiで使用されます。
テストフレームワークとの統合は3つあります。
axe-devtools-unittest は unittest のための軽量なアサーションライブラリで、axe-devtools-apiの上に位置します。この統合を利用する際には、axe-devtools-apiを依存関係として宣言し、直接使用する必要があります。
axe-devtools-robotはRobot Frameworkと Axe DevTools を統合します。axe-devtools-apiとaxe-devtools-seleniumは自動的に依存関係として取り込まれますが、どちらとも直接やり取りすることはありません。この統合では.robotファイルを使用して axe を運行します。
axe-devtools-behaveは、キュウカンバーに似たテストフレームワークであるbehaveと Axe DevTools を統合します。axe-devtools-apiとaxe-devtools-seleniumは自動的に依存関係として取り込まれますが、どちらとも直接やり取りすることはありません。この統合では.featureファイルを使用して axe を運行します。
カスタム要素とElementInternals
Axe DevTools Python 4.13.0では、スキャンはElementInternalsを通じてJavaScriptで宣言されたウェブコンポーネントのARIAセマンティクスを読み取ります。マークアップに存在するroleやaria-*属性だけではありません。設定は必要ありません。DOMのセマンティクスは依然として優先されます。要素に明示的なroleやaria-*属性がある場合、ElementInternalsの値を上書きします。
これが効果を発揮するためには、コンポーネントはその内部を公開する必要があります。プライベートクラスフィールドに格納されているコンポーネントは読み取ることができません。ElementInternalsを使用するカスタム要素のテストを参照してください。
