ルールの無視

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
Not for use with personal data

アクセシビリティをテストする際に、特定のルールを無視することができます。特定のルールを名前で無視することや、いくつかのルールをビューIDリソース名で無視することが可能です。すべてのルールが重要であると私たちは考えていますが、これらのカスタマイズをすれば、修正されていないビューを無視し、新しい問題の特定に集中することができます。

important

以下の例では、axe はログイン時に初期化される AxeDevTools オブジェクトを指します。

利用可能なAPI

特定のルールまたはルールのセットを無視するには、テストを行う前に設定を更新します。

ルールを無視

以下のコードは、特定のルールTouchSizeWcagを無視する方法を示しています。

axe.ignoreRules(mutableListOf("TouchSizeWcag"))

ビューIDリソース名で無視

ビューIDリソース名が割り当てられているルールのセットを無視するには、ビューIDリソースの名前と無視するルールのリストという2つのパラメータを使用します。

axe.ignoreByViewIdResourceName(
    "axe_button",
    listOf(
         "ActiveViewName"
    )
)
note

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() {
   ...
}