ルールの無視
アクセシビリティをテストする際に、特定のルールを無視することができます。特定のルールを名前で無視することや、いくつかのルールをビューIDリソース名で無視することが可能です。すべてのルールが重要であると私たちは考えていますが、これらのカスタマイズをすれば、修正されていないビューを無視し、新しい問題の特定に集中することができます。
以下の例では、axe はログイン時に初期化される AxeDevTools オブジェクトを指します。
利用可能なAPI
特定のルールまたはルールのセットを無視するには、テストを行う前に設定を更新します。
ルールを無視
以下のコードは、特定のルールTouchSizeWcagを無視する方法を示しています。
axe.ignoreRules(mutableListOf("TouchSizeWcag"))ビューIDリソース名で無視
ビューIDリソース名が割り当てられているルールのセットを無視するには、ビューIDリソースの名前と無視するルールのリストという2つのパラメータを使用します。
axe.ignoreByViewIdResourceName(
"axe_button",
listOf(
"ActiveViewName"
)
)Jetpack Composeを使用してビューを書いている開発者には、ビューIDを使うのではなく、参照したいビューにModifier.testTag("viewToIgnoreRuleOn")を使用することをお勧めします。さらに、そのビューの祖先の1つに以下のセマンティクスプロパティを追加する必要があります。
Scaffold(
modifier = Modifier.semantics { testTagsAsResourceId = true }
)それが完了すると、既存の ignoreByViewResourceId APIでviewIdの代わりにtestTagを使ってビューを無視できるようになるはずです。
コンポーザブルの例:
Button(
modifier = Modifier.testTag("<tagToIgnore>"),
onClick = { /* Click action */ }
) {
Text("Click me")
}実験的ルールの無視
実験的ルールは、まだテストと開発中のルールセットです。ignoreExperimentalが有効化されると、実験的なルールからのすべての結果はAxeStatus.IGNOREDのステータスを持ちます。
axe.ignoreExperimental()無視されたルールのリセット
自動化テストスイート内で、新しいテストセットを開始してすべてのルールを復元したい場合があります。この場合、上記の方法を使用して設定した無視されたルールをresetIgnoredRules APIでクリアすることができます。
@Before
fun setup() {
axe.resetIgnoredRules()
}
@Test
fun testButtonOnly() {
axe.ignoreRules(listOf("ScreenTitle"))
...
}
@Test
fun testScreenTitle() {
...
}