Axe DevToolsのカスタマイズ: ウェブアクセシビリティルール
Axe DevTools for Webでのルール設定の変更
Axe DevTools の API では、標準のルールセットや axe-core のバージョンを変更するオプションがあります。Axe DevTools が更新されると、ルールセットと axe-core のバージョンも変わります。単一のツールを使用しているユーザーにとって、特定のルールセットの設定や axe-core のバージョンはあまり重要ではないかもしれませんが、複数の Axe DevTools コンポーネントを使用しているユーザーにとっては、すべてが同じルール設定と axe-core バージョンを使用することで、ツール間のスキャン結果が100%一貫性を保つことができます。
ルールセットの構成
Axe DevTools は、さまざまなルール設定を使用することができます。さまざまなルールセットについての詳細は、axe-coreのルールセットのページを読んでください。いくつかの WCAG ルールセット、ADA セクション 508、Trusted Tester v5、EN 301 549、または RGAA への変更が可能です。さらに、WCAG やセクション 508 に含まれないベストプラクティスや、新しい実験的なルールを任意のルールセットの設定に追加することができます。各ルールセットの説明については、ルールセットを参照してください。
デフォルトルールセット
他の設定をしない限り、Web API 用の Axe DevTools と CLI は WCAG 2.1 レベル AA に対してテストを行い、ルールセット ID は wcag2.1 で識別されます。WCAG ルールセットは累積的であるため、これには WCAG 2.0 と WCAG 2.1 のレベル A とレベル AA のルールが含まれます。
デフォルトのルールセットでは、best-practice タグが付いたルールと experimental タグが付いたルールは オフ です。デフォルトのスキャンでは、WCAG 2.1 レベル A と AA の成功基準に該当する失敗のみが報告されるため、Deque のベストプラクティスの発見結果を表示することはありません。ただし、要求した場合には表示されます。
ベストプラクティスのルールは、アクセシビリティの基準の一部ではありませんが、サイトの使用を可能な限り公平にするのに役立ちます。これを有効にする方法は言語によって異なり、すべての統合で専用のスイッチを提供しているわけではありません。
| 言語 | ベストプラクティスの有効化 |
|---|---|
| Java | true を forRuleset(rulesetId, enableBestPractices) の第二引数として渡します。Java Selenium API リファレンス を参照してください。 |
| C# | true を WithRuleset(rulesetId, enableBestPractices) の第二引数として渡します。C# API リファレンス を参照してください。 |
| Python | enable_best_practices=True を with_ruleset() に渡します。Python API リファレンス を参照してください。 |
| Node.js と JavaScript | Playwright、Puppeteer、および WebdriverIO は enableBestPractices オプションを受け入れます。他の統合ではタグによってルールを選択します。Node.js と JavaScript 概要 を参照してください。 |
| Ruby | ベストプラクティスのフラグはありません。タグ句で best-practice タグを RSpec および Cucumber のために追加します。 |
| CLI | ベストプラクティスのルールを含むルールセットファイルを生成し、それを --custom で適用します。カスタムルールセット を参照してください。 |
別の標準に対してテストを行うには、そのルールセット ID を同じ場所に渡します。RGAA ルールセットの使用 がある標準を案内し、各言語の選択方法を一覧で示します。
axe-coreのバージョン
Axe DevTools のアクセシビリティテストエンジンである axe-core は、継続的に更新および改善されています。このため、異なるバージョンの axe-core では常に同じスキャン結果が得られるとは限りません。コンポーネント、開発者、開発チーム間で axe-core バージョンを統一することにより、異なるスキャンが異なる結果をもたらすリスクを排除できます。Axe DevTools では、axe-core のバージョンが Axe DevTools のバージョンと同期されます。特定の axe-core バージョンをインポートするオプションも利用可能です。
