事前設定済みコンポーネントライブラリ
Axe DevTools Linterにおけるいくつかの人気コンポーネントライブラリの事前定義マッピングについて説明します
Axe DevTools Linterには、いくつかの人気コンポーネントライブラリの組み込みサポートがあります。これを有効にすると、それらのライブラリのコンポーネントの使用は、ネイティブHTML要素と同様にアクセシビリティがテストされます。
導入
以下のパッケージによって定義されたコンポーネントが現在サポートされています。
| NPMパッケージ名 | 詳細情報 |
|---|---|
| @deque/cauldron-react | Cauldron React: アクセシブルコンポーネントライブラリ |
| @mui/material | マテリアルUI |
| react-native | React Native |
マテリアルUI用の事前設定されたコンポーネントライブラリには、Material UIで定義されているすべてのコンポーネントは含まれていません;@mui/materialパッケージで定義されたもののみが含まれています。
ライブラリコンポーネントのリンティングを有効にするには、そのライブラリのNPMパッケージ名を global-libraries 配列に追加してください axe-linter.yml ファイル:
global-libraries:
- '@mui/material'YAMLでは、 @ で始まる文字列は引用符で囲む必要があります。 @ は予約文字であるためです。
同等のJSON構成( RESTサービス用)は以下に示されています:
{
"config": {
"global-libraries": [
"@mui/material"
]
}
}グローバルライブラリのコンポーネントと同じ名前のコンポーネントは、そのライブラリコンポーネントとして扱われ、再エクスポートおよび再宣言が可能で、マッピングを失うことはありません。
Cauldron React
Cauldron Reactのバージョン4.7.0以上が現在サポートされています。
Cauldron Reactの設定
Cauldronのマッピングを利用するには、 VS Code用Axe Accessibility Linter拡張機能 または JetBrainsプラグインに次の行を以下の axe-linter.yml ファイルに追加してください:
global-libraries:
- '@deque/cauldron-react'Cauldronの例
以下の例では、Cauldronの Button 要素がテキストコンテンツを含まないことで発生するアクセシビリティエラーを示しています:
<Button></Button>Cauldronライブラリを構成に有効にした後に、IDE(例としてVS Code)内で、次のようなエラーが表示されます:
マテリアルUI
マテリアルUIのバージョン5.11.15以上が現在サポートされています。
事前定義されたマッピングには@mui/materialパッケージで定義されたコンポーネントのみが含まれており、Material UIで定義されているすべてのコンポーネントは含まれていません。
マテリアルUIの設定
マテリアルUIのマッピングを利用するには、 VS Code用Axe Accessibility Linter拡張機能 または JetBrainsプラグイン、次の行をあなたの axe-linter.yml ファイルに追加してください:
global-libraries:
- '@mui/material'Material UIの例
次の例は、 **aria-colindex** がMaterial UIコンポーネント **ImageList**と一緒に誤用されているアクセシビリティエラーを示しています。
<ImageList aria-colindex="1"/>あなたのIDE(ここではVS Codeを例とします)で、次のエラーメッセージが表示されます:
設定ファイルで **global-libraries** オプションを'@mui/material'に設定しない場合、このエラーは表示されません。
Material UIの入力要素において **inputProps** 属性を使用して設定したアクセシビリティ属性は、現在無視されています。
React Native
React Nativeの設定
Cauldronマッピングを VS Code用Axe Accessibility Linter拡張機能 または JetBrainsプラグインと共に使用するには、次の行をあなたの axe-linter.yml ファイルに追加してください:
global-libraries:
- react-nativeReact Nativeマッピングを使用するための他のドキュメントは、次のセクションにあります: React Native用カスタムコンポーネントのLinting。


