axe-devtools-behave APIリファレンス
BehaveベースのPythonテストのためのaxe-devtools-behaveパッケージのAPIリファレンス
このパッケージは、Axe DevToolsをBehave(キュウカンバーのようなPythonテストフレームワーク)に統合します。
使用方法
axe-devtools-behaveを使用する前に、いくつかの設定を行う必要があります。
まず最初に、features/environment.pyを使ってブラウザの開閉を設定する必要があります。
# features/environment.py
import behave_webdriver
def before_all(context):
context.behave_driver = behave_webdriver.Chrome()
def after_all(context):
# cleanup after tests run
context.behave_driver.quit()次に、axe-devtools-behaveをfeatures/steps/axe.pyでインポートする必要があります。
# features/steps/axe.py
from axe_devtools_behave import *これで、axe-devtools-behaveをフィーチャーファイルで使用できます。
axe-devtools-behaveパッケージはbehave-webdriverを利用していますので、そのライブラリからのすべてのステップがインポートされ、使用可能です。
アクセシビリティキュウカンバーステップ
以下の例のアクセシビリティチェックではThen the page should be axe cleanを使用していますが、すべてのチェックはThen the page should be audited for accessibilityとも互換性があります。
違いは、should be axe cleanがaxeを実行し、違反があるとテストが失敗するのに対し、should be audited for accessibilityはaxeを実行し、結果をaxe-reportsディレクトリに保存することです。should be audited for accessibilityは決して失敗しません。
axeアクセシビリティキュウカンバーステップを構築するには、基本ステップから始め、必要な句を追加します。以下のすべての句は混合して使用できますが、指定された順序でなければなりません。
Then the page should be axe clean [including] [excluding] [according-to] [checking-rules/checking-only-rules] [skipping-rules]
基本ステップ
Then the page should be axe clean基本ステップはキュウカンバーステップのコアコンポーネントです。それ自体で完全なステップであり、現在読み込まれているページがaxe.a11yCheckのデフォルト設定を利用してアクセシブルであることを確認します(ドキュメント全体のチェックはデフォルトルールを使用します)。
包含句
Then the page should be axe clean within "#selector"包含句(within "#selector")はページ上のどの要素をチェックするかを指定します。包含句には有効なCSSセレクタを二重引用符で囲んで含める必要があります。複数の要素を選択するには複合セレクタを使用します。例:within "#header, .footer"
詳細についてはコンテキストパラメータを参照してください。
除外句
Then the page should be axe clean excluding "#selector"除外句(excluding "#selector")は無視するドキュメント要素を指定します。有効なCSSセレクタを二重引用符で囲んで指定します。複数の要素を選択するには複合セレクタを使用します。例:excluding "#widget, .ad"
詳細についてはコンテキストパラメータを参照してください。
除外句を含む場合は、包含句からの区切りとしてセミコロン(;)またはbutという単語を使用します。
Then the page should be axe clean within "main"; excluding "aside"
Then the page should be axe clean within "main" but excluding "aside"アクセシビリティスタンダード(タグ)句
Then the page should be axe clean according to: tag-nameタグ句は、ページチェックで使用するアクセシビリティスタンダード(または標準)を指定します。アクセシビリティ標準を名前(タグ)で指定します。複数の標準をコンマで区切って指定できます。例:according to: wcag2a, section508
それぞれのタグに対応するルールの説明の完全なリストに加えて、許容されるタグ名は文書化されています。
タグ句を直前の句から区切るためにセミコロン(;)を使用できます。
Then the page should be axe clean within "#header"; according to: best-practiceチェックルール句
Then the page should be axe clean checking: ruleIdチェックルール句は、(指定されたタグやデフォルトのルールセットに加えて)実行する追加のルールを指定します。ルールはカンマで区切られたルールIDで指定されます。
有効なルールIDのリストについてはルールの説明を参照してください。
チェックルール句を直前の句から区切るためにセミコロン(;)またはandという単語を使用します。
Then the page should be axe clean according to: wcag2a; checking: color-contrast
Then the page should be axe clean according to: wcag2a and checking: color-contrast専用ルール句
Then the page should be axe clean checking only: ruleIdこの句は別ではありません。チェックルール句にonlyという単語を追加することで、ステップの意味を変更できます。先に述べたように、チェックルール句はデフォルトで追加ルールを実行することを指定します。onlyという単語が使用されると、指定されたルールのみがチェックされます。
スキップルール句
Then the page should be axe clean skipping: ruleIdスキップルール句はスキップするルールを指定します。特定のルールを無視しながら、使用するアクセシビリティスタンダードを(タグ句を介して)指定します。ルールはカンマで区切られたルールIDで指定されます。
有効なルールIDのリストについてはルールの説明を参照してください
スキップルール句を直前の句から区切るためにセミコロン(;)またはbutという単語を使用します。
Then the page should be axe clean according to: wcag2a; skipping: accesskeys
Then the page should be axe clean according to: wcag2a but skipping: accesskeysタグ付きルールセット
タグ付きルールセットにはキュウカンバー句を通じてアクセスします。この機能を使用すると、開発者はページのアクセシビリティを監査するためのルールセット(例:508、wcag2、wcag2.1)を指定できます。
以下のコードは、特定のルールセットを分析中に評価するために必要なキュウカンバージェルキン構文を示しています:
Scenario: Test Page with options
When I visit "http://abcdcomputech.dequecloud.com/"
Then the page should be audited for accessibility within "title" according to ruleset: wcag2.1