Axe DevTools Linter GitHubアクショ ンの使用
Axe DevTools Linter GitHubアクションを使用して、プルリクエストのアクセシビリティエラーをチェックする方法
この記事では、DequeのAxe DevTools Linter GitHubアクションを使用して、GitHubのプルリクエストを作成するときにコードのアクセシビリティエラーをチェックする方法を紹介します。アクションが実行されると、プルリクエストにはコミットされたファイルのアクセシビリティエラーを示すコメントが含まれます。
以下のセクションでは、このGitHubアクションをリポジトリに設定する手順を示します。
いくつかの手順は、Axe DevTools LinterのSaaSバージョンを使用している場合にのみ必要です。したがって、オンプレミスバージョンを使用している場合、次のように識別される手順をスキップできます。 SaaSのみ。
ステップ1: APIキーの取得 (SaaSのみ)
Axe DevTools Linter SaaSでは、APIキーを取得する必要があります。手順に従うことで入手できます Axe DevTools Linter SaaS APIキーの取得、または既存のAPIキーを使用することもできます 設定ページ からAxeアカウント用に。APIキーを取得する際に問題がある場合は、 Dequeのヘルプデスクに連絡してください。
ステップ2: リポジトリシークレットの作成 (SaaSのみ)
Axe DevTools Linter SaaSを使用している場合、APIキーをリポジトリのシークレットに追加する必要があります。これを行うには、リポジトリの 設定 ページに移動します。詳細については、 リポジトリの暗号化されたシークレットの作成 をGitHubドキュメントで参照してください。
次のステップで例示されるワークフローについて、シークレットは次の名前であるべきです:
- AXE_LINTER_API_KEY はAPIキー用
ステップ3: ワークフローの作成
次に、ファイルのアクセシビリティエラーをチェックするためのワークフローを作成する必要があります。という名前のファイルを作成できます axe-linter.yml リポジトリの .github/workflows ディレクトリに。
このファイルは、リポジトリのウェブページ上で「 アクション 」タブの下で新しいワークフローとしてオンラインで作成するか (「 自分でワークフローを設定 」をクリックして GitHub Actionsを始める セクションの上部で アクション ページ)、ローカルで作成してリポジトリにコミットすることもできます。
最も最新のYAMLワークフローのバージョンは、 GitHubアクションリポのREADME.Mdファイルにあります。
axe-linter-action は、プルリクエストが作成されたときにワークフローで呼び出されます (on: [pull_request])。ワークフローでは、2つの依存関係が使用されます:
actions/checkout@v4dequelabs/axe-linter-action@v1
次のセクションでは、 .github/workflows/axe-linter.yml SaaSまたはオンプレミスバージョンのAxe DevTools Linterに使用できる例を示しています:
SaaSの場合
ワークフローのSaaSバージョンには、 api_key パラメータが含まれますが、 axe_linter_url パラメータは含まれません:
name: Linting for accessibility issues
on: [pull_request]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dequelabs/axe-linter-action@v1
with:
api_key: ${{ secrets.AXE_LINTER_API_KEY }} github_token: ${{ secrets.GITHUB_TOKEN }}オンプレの場合
ワークフローのオンプレミスバージョンには、 axe_linter_url パラメータが含まれていますが、 api_key パラメータは含まれていません:
name: Linting for accessibility issues
on: [pull_request]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dequelabs/axe-linter-action@v1
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
axe_linter_url: $AXE_LINTER_URLこの例では、 axe_linter_url の値は、シェル環境から次のように読み込まれます AXE_LINTER_URL。
Axe DevTools Linterのオンプレミスバージョンでは、APIキーは必要ありませんが、GitHubワークフローがネットワーク接続を介してAxe DevTools Linterのインスタンスに到達可能である必要があります。
GitHubアクションのパラメータ
この dequelabs/axe-linter-action は、(上記のサンプルの with 節に指定された)次のパラメータを使用します:
| 名前 | 説明 |
|---|---|
github_token |
認証に必要です。通常は事前に定義された GITHUB_TOKEN シークレットによって設定されます。GitHub Docsの 自動トークン識別 を参照してください。 |
api_key |
(SaaSのみ)Axe DevTools Linter SaaSでは、APIキーがワークフローを承認するために必要です。このキーは、 AXE_LINTER_API_KEY ステップ2で作成したシークレットから取得されます。 |
axe_linter_url |
(SaaSではオプション、オンプレミスでは必須)このパラメータは、リンティングに使用する別のサーバーを指定することができます。SaaSバージョンを使用するほとんどのユーザーは、Dequeのサーバーを使用するため、このパラメータは必要ありません。ただし、オンプレミスバージョンのユーザーはこのパラメータを指定する必要があります。 http: または https: をプロトコルとして指定し、標準的なポートを使用しない場合は、ポートも指定する必要があります。 http: (80)または https: (443)をポート3000にリダイレクトしない限り、例えば次のようにポートを指定する必要があります: http://example.com:3000。 |
ワークフローの結果
次のスクリーンショットは、アクセシビリティエラーを含むファイルでプルリクエストを作成した結果を示しています。そのファイル、 bad-file.mdでは、レベル2を飛ばして、見出しレベル1から3までの見出しが含まれており、これはアクセシビリティエラーです。
トラブルシューティング
GitHubアクションでの問題のデバッグは、エラーメッセージがしばしば根本的な問題を正確に表していないため、困難な場合があります。このセクションには、見られる可能性のあるエラーの例がいくつか含まれています。
シークレット名の間違い(SaaSのみ)
APIキーシークレットの名前がワークフロー内の名前と一致しない場合、キーが定義されていないというエラーではなく、コマンドが欠落しているというエラーを受け取る可能性があります:
... line 41: Missing: command not found権限エラー
GitHubアクションの多くの場所で、権限が間違っていることがあります。例えば、公開されていないリポジトリを uses 節で参照する場合、アクセス権がないのではなく、リポジトリが見つからなかったというエラーを受け取ることがよくあります:
fatal: repository 'name' not foundError: Resource not accessible by integration
エラーでワークフローの実行に失敗した場合は、 Resource not accessible by integration、以下の権限をワークフローに追加することで修正できます:
permissions:
contents: read
pull-requests: read 完全なワークフローは次のようになります:
on: [pull_request]
permissions:
contents: read
pull-requests: read
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dequelabs/axe-linter-action@v1
with:
api_key: ${{ secrets.AXE_LINTER_API_KEY }}
github_token: ${{ secrets.GITHUB_TOKEN }}GitHubは、読み取り専用のアクセス許可でもプルリクエストに注釈を追加できるため、ワークフローはコード内のアクセシビリティエラーに注釈を付けることができます。
アクションでチェックされるファイル
次の拡張子を持つファイルは、アクセシビリティエラーがないかどうかチェックされます:
.js.jsx.tsx.html.vue.md.markdown
次のステップ
Axe DevTools Linterがコードをチェックするために使用するルールについての情報は、 アクセシビリティルールを参照してください。Gitにアクセシビリティエラーのあるファイルがコミットされないようにする方法について知りたい場合は、 Gitプリコミットフックの使用を参照してください。

