Axe開発者ハブGitHubアクションの使用

This page is not available in the language you requested. You have been redirected to the English version of the page.
Link to this page copied to clipboard

PRやコミットのアクセシビリティ欠陥を自動でチェック

Not for use with personal data

必要条件:

note

他のCI/CDパイプライン(例えばGitLab、Bitbucket、CircleCI)やウェブAPI/CLI用のAxe DevToolsを使用する場合、独自の統合の基礎としてAxe開発者ハブの RESTサービス を使用できます。

概要

この Axe開発者ハブGitHubアクション は、Axe Watcherを統合したウェブプロジェクトのGitHubワークフローをセットアップし、アクセシビリティエラーが含まれる場合、コミットやプルリクエストをブロックできます。

あなたの 変更したテストスイート が実行されると、アクセシビリティの結果が GitコミットSHA と関連付けられ、その情報がDequeのサーバーに送られます。GitHubアクションは テストスイート実行後 に実行され、現在のブランチの最新コミットSHAに関連付けられたアクセシビリティ結果をDequeのサーバーに問い合わせます。

セットアップ

  1. プロジェクトIDのための環境変数を作成 - プロジェクトIDを環境変数や他のGitHub変数に保存することをお勧めします。この例では、プロジェクトIDを PROJECT_IDという名前の環境変数として保存します。

  2. APIキーのためのシークレットを作成 - この例では、作成するシークレットはAXE_DEV_HUB_API_KEYという名前で、個人のAPIキーをその値として持ちますが、シークレットの名前は自由に決められます。ワークフロージョブ内で必ず同じ名前で参照する必要があります。

  3. テストスイートにアクセシビリティチェックを追加 - 次の手順を プロジェクトのセットアップ で完了して、(Axe Watcher) CI/CDパイプラインで使用するテストスイートにアクセシビリティチェックを統合してください。

  4. 現在のワークフローを修正 - 現在のテストランナーワークフローを .github/workflows 修正し、GitHubアクションを 実行後 に追加します。

例のジョブ

あなたのテストスイートのアクションに続くジョブがAxe開発者ハブGitHubアクションを実行する必要があります。以下の例を参照してください。

jobs:

# ...
# your-CI-test
# ...

# Add the following new job:
# Be sure to replace <choose_latest_tag> with the appropriate version tag
  axe-dev-hub:
    runs-on: ubuntu-latest
    needs: your-CI-test
    steps:
      - uses: actions/checkout@v5
      - uses: dequelabs/axe-devhub-action@<choose_latest_tag>
        with:
          api_key: ${{ secrets.axe_DEV_HUB_API_KEY }}
          project_id: ${{ env.PROJECT_ID }}

この axe-dev-hub ジョブは、テストスイートを実行するジョブに依存し、 needs: your-CI-test 行で指定されています。この行を、テストスイートを実行するジョブの名前に更新することを忘れないでください。

GitHubアクションには複数の入力パラメータを使用できます。例えば、 アクセシビリティしきい値 を有効にするには、 enable_a11y_threshold: trueを使用します。入力パラメータの完全なリストは Axe Developer Hub GitHub Action READMEです。

note

あなたのプロジェクトを server_url で作成した場合、パラメータを設定する必要はありません。 axe.deque.com。組織が地域別インスタンス、プライベートクラウド、またはオンプレミス展開のAxe Developer Hubを使用している場合、そのインスタンスのベースURLに設定する必要があります(例: server_url )。 https://axe-eu.deque.com)。

結果

GitHubアクションは、検出されたアクセシビリティの問題、解決された問題、そしてa11yのしきい値を超えた問題の数を含む、いくつかの出力パラメータを設定します。

a11yのしきい値を有効にしていない場合、アクセシビリティエラーがゼロを超えるとGitHubアクションは失敗します。有効にすると、a11yのしきい値を超える違反のみがGitHubアクションを失敗させます。 a11yのしきい値を使用して、 組織が優先したいものに合わせてAxe Developer Hubをカスタマイズする方法について学びます。

GitHubアクションが失敗すると、以下のようなコメントをプルリクエストに添付し、マージをブロックする可能性があります。

アクセシビリティエラーが見つかったときにプッシュリクエストにGitHubアクションが添付するメッセージの例。

プルリクエストコメント内のリンクをクリックして、コミットに関するアクセシビリティ欠陥情報をAxe Developer Hubで確認します。

トラブルシューティング

次のようなエラーを受け取ることがあります:

Error: Resource not accessible by integration

アクションの設定ページで必要な権限があることを確認してください。コメントをプルリクエストに追加するためには、 読み取りgithub_token 書き込み権限が必要です。細かく制御するためには、GitHubアクション用に異なるGITHUB_TOKENを使用することを選択できます。この値を

入力パラメータに追加してください。

例のワークフロー すでにテストスイートを実行するワークフローを持っていない場合は、 テストランナーを作成するための出発点として使用できます。

例のワークフローは Tests (tests.yml) という名前で、コミットまたはプルリクエストで実行されます。修正されたテストスイートを実行するジョブ、 cypressは、Cypressのテストスイートを実行する方法を示しています。例の次のジョブ、 axe-dev-hubは、Axe Developer Hub GitHubアクションの呼び出しです。

テストスイートジョブは常にGitHubアクションを 前に 実行する必要があります。

のメインリポジトリ