Axe DevTools Mobile 2026年8月のリリースノート

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

2026年8月

Not for use with personal data

コンポーネントのバージョン

Appium

iOS

  • iOS Appium 2 ドライバ (axe-appium2-xcuitest-driver v2.6.0)
    • (XCUITest v9.10.4からフォーク)
  • iOS Appium 3 ドライバ (axe-appium3-xcuitest-driver v1.5.0)
    • (XCUITest v12.1.3からフォーク)

更新方法: iOS Appium ドライバ

Android

  • Android Appium 2 ドライバ (axe-appium2-uiautomator2-driver v2.6.0)
    • (UiAutomator2 v4.2.8からフォーク)
  • Android Appium 3 ドライバ (axe-appium3-uiautomator2-driver v1.5.0)
    • (UiAutomator2 v8.2.2からフォーク)

更新方法: Android Appium ドライバ

新しい機能

Appium ドライバ

弊社のいずれかのAppiumドライバを使用して自動スキャンを行っていますか?スキャン結果に含まれるべきでない画面の前で、アクティブな自動スキャンセッションを一時停止し、その後、重要な画面を通過した後にスキャンセッションを再開できるようになりました。詳細および実装例については、Appiumでの自動スキャンをご覧ください。

既知の問題

以下の問題のいずれかを経験している場合は、helpdesk@deque.comまたはsupport.deque.comまでご連絡ください。解決次第、または解決策がリストされていない場合には、特定されたワークアラウンドについてお知らせいたします。

important
  • Axe DevTools Mobileの自動テストは、ネイティブiOS、ネイティブAndroid、およびReact Nativeアプリケーションで実行されます。お使いの技術スタックにおけるアクセシビリティテストのソリューションについては、Dequeの担当者にお問い合わせください。
  • WebビューやレンダリングされたPDFから一部の結果を得ることができる場合がありますが、Webの最も包括的なアクセシビリティテストにはAxe DevTools for WebまたはAxe Monitorを使用することを強くお勧めします。

iOS

テキストにパーセント記号が含まれる画面におけるSupports Dynamic Typeルールの不完全な結果

iOS 26以降では、パーセント記号のあるテキストが含まれる画面(例: 「50%オフ」と書かれたテキストラベル)がある場合、Supports Dynamic Typeルールは、合格または不合格ではなく、不完全として報告される可能性があります。このルールは、Appleによって提供されるアクセシビリティ監査に依存しており、パーセント記号に出会うとテストの実行を停止します。テストを継続するために、私たちのルールはその画面のチェックをスキップし、パーセント記号を含む各要素を不完全として報告します。他のすべてのルールはその画面で通常通り動作し、他の画面には影響を与えません。

スキャンは完了するため、特に対応は必要ありません。これらの画面のDynamic Typeサポートを確認するには、デバイスの**設定** > **アクセシビリティ** > **表示とテキストサイズ** > **文字を大きく**の下で文字サイズを大きくし、画面上のテキストが適切に拡大されることを確認してください。この問題はAppleに報告済みです。 (#2985)

アイコンのみの要素でのColor ContrastがOCRにより実行されることがある

Color ContrastルールはAppleのVisionフレームワーク(光学文字認識またはOCR)を使用して、要素の範囲内のテキストを読み取ります。OCRは、時折、小さなアイコンのようなグリフ(例えば、矢印のような装飾シンボルなど)をテキストとして誤認識することがあります。その場合、Color Contrastルールは読み取れるテキストが含まれていない要素に対して実行され、アイコンのみのボタンに結果を生成します。OCRの出力はスキャンを通じて決定的でないため、同じ要素が一つのスキャンではColor Contrastの結果に現れ、次のスキャンでは「適用不可」として報告されるかもしれません。これはOCRの既知の特性であり、ルールのバグではありません。

この問題を回避するために、 ignore APIを使用して、影響を受けた要素のColor Contrastの結果を抑制することができます。



// Ignore Color Contrast for a specific element by accessibility identifier
axeDevTools?.configuration.ignore(rulesFor: [
    "backButton": [AxeRuleId.ColorContrast.toString()]
])

// Or ignore Color Contrast globally
axeDevTools?.configuration.ignore(rule: AxeRuleId.ColorContrast.toString())

ルールを無視することについて の詳細を学ぶ

Flutterアプリでのスクリーンタイトルの誤検出

Flutterは AppBar.title をネイティブスクリーンタイトルプロパティにマップしません - UIViewController.title、そのためスクリーンタイトルルールは、説明的なタイトルがあるかどうかに関わらず、すべてのFlutter画面で失敗します。

これは flutter/flutter#185894で追跡されている既知のFlutterプラットフォームの制限です。

小画面でのグラデーション背景上のColor Contrastルールによる誤検出

小さな画面サイズや小さなフォントサイズでアクセシビリティチェックを実行する際、Color Contrastルールはグラデーション背景で誤検出を報告する場合があります。そのような場合、前景色を特定できず、代わりに背景色同士を比較し、不合格という結果を出すことがあります。

この問題を回避するために、大きなデバイスでアクセシビリティチェックを実行してみてください。あるいは、テストでこのルールを無視することを選び、これらのビューに対して手動でColor Contrastをチェックすることもできます。

不正確な isVisible XCTestのプロパティ

AppleのアクセシビリティAPIは、WKWebView内のWebコンテンツについて、ネイティブオーバーレイ(モーダルビュー、アラート、その他のネイティブUI要素など)によって覆われている場合でも、誤って「isVisible」と報告することがあります。これは、アクセシビリティシステムがWKWebViewコンテナ自体が表示されているかどうかを確認するためであり、そのWebコンテンツが実際に邪魔されず、ユーザーに認識可能であるかを確認しているのではないためです。

iOS 26のステッパーに関するアクセシビリティバグ

iOS 26には、デフォルトのステッパーボタンが有効でないことを示す「無効」というメッセージを支援技術によって発表しないというアクセシビリティバグがあります。その結果、iOSルールもこれらのボタンを有効として認識しますが、実際にはそうではありません。この問題についてはAppleにバグレポートが提出されていますが、解決されるまでの間、以下のルールが無効なステッパーボタンに関する結果を報告することがあります: AssociatedTextInaccessibleAction、そして ColorContrast

Appleがこのバグを修正するまで、解決策としては[ルールを無視する](ios-ignore-rule)ことが推奨されます。デフォルトのステッパーボタンには「Decrement」と「Increment」という識別子があり、必要に応じてこれらを識別子で無視することができます。

Color Contrast rule does not run when text and background colors are the same

Our Color Contrast rule depends on Machine Learning to detect text, which ensures that the text being scanned is visible to users of your application. In cases where the text contained in a view is the same color as the background, our Machine Learning algorithm is unable to detect if any text is present, so the Color Contrast rule does not run on this view.

誤検知: SwiftUIとクロスプラットフォームアプリでのLabelInNameとLabelAtFront

一部の画面では、誤って関連するテキストプロパティが見つかったために、LabelInNameとLabelAtFrontに誤検知が報告される可能性があります (#1622)

ネストされたコントロールに対するルール

当社のルールの改善を検討している際、XCTestでネストされたコントロールがアクセシビリティツリーに戻されないことが判明しました。Appleにバグを報告済みです。(#1110)

UIKitアプリにおけるImageView Nameルールのレビュー結果が必要

UIKitアプリでは、`accessibilityLabel`がない画像がデフォルトで支援技術によってフォーカスされません。
Appleから取得したフォーカス可能性を確認するためのプロパティは、画像に`accessibilityIdentifier`が設定されている場合、不正確である可能性があります。この予期しない動作のため、UIKitアプリにおけるImageView Nameの問題に対する結果は、「レビューが必要」として報告されます。Appleにはバグレポートが提出されています。 (#1633)

誤検知: Scroll View内のLabel In Name、Label at Front、およびv2.11.0のImage View Name & ActiveControlName

次の誤検知については積極的に修正を行っており、修正がリリースされ次第このリストを更新します。

In Scroll View
バナーのように振る舞う要素、固定ヘッダー/フッター、浮動操作ボタン、カスタムタブビュー内のテキストが「レビューが必要」または「失敗」としてフラグ付けされることがあります。これらの要素を大きなテキストを必要とする人々が利用できるようにするため、 UILargeContentViewerを使用してください。 (#622, #2077)

v2.11.0 Image View Name & Active Control Name
UIImageViewが accessibilityIdentifier を設定されているが、VoiceOverによってフォーカスされない場合、かつその中にフォーカス可能なコントロールがネストされている場合、Active Control NameがUIImageViewに誤検出を報告する可能性があります。 accessibilityIdentifier を削除すると問題が解決します。Appleにはバグが報告されています。 (#1633)

Label In Name and Label At Front
これらの2つのルールは、近くの要素の中からコントロールの可視ラベルを探してルールの状態を決定します。一部のビュー階層では、誤った近隣テキストが検出されることで、これらのルールが失敗することがあります。 (#1622)

Android

Label at Front誤検知: 表示されるテキストが隠された場合

Label at Frontルールは、要素の表示ラベルがアナウンスされたテキストの先頭に来ることを確認します。インタラクティブ要素の表示テキストに略語(例:「GB」「km」)や隠された/切り捨てられた識別子が含まれており、アクセシビリティのアナウンスが表現された単語(例:「ギガバイト」「キロメートル」)で構成されている場合、ルールの失敗が発生することがありますが、これは略されたまたは切り捨てられたコンテンツをスクリーンリーダーフレンドリーにするための推奨パターンです。

インタラクティブ要素の表示ラベルの最初の部分がスクリーンリーダーのアナウンスの始まりと一致し、略語/隠された部分だけが異なる場合、フラグ付きの結果を安全に無視できます。スクリーンリーダーを使用して、アナウンス全体が意図された通りに読み上げられることを確認してください。

フォーカス可能なテキストに関する潜在的なアクセシビリティの懸念

「連絡先アイコン」などのビューで装飾的なテキストを使用する場合、アクセシビリティの問題を引き起こす可能性があります。テキストビューを使用して文字を表示する代わりに、目的の文字をベクトルとして生成し、そのテキストビューをアクセシビリティに重要でないと宣言すると、アクセシビリティ違反を導入したかどうかを確実に判断することができません。

フォーカス可能なテキストを編集して2文字以下を無視する場合、さまざまな言語で多くの1語ボタン(例:「OK」「No」「Sí」)を誤って無視する可能性があります。これらの問題を回避するためには、アイコンで表現したい単語から目的の文字を取得し、文字を画像の一部として生成してください。これにより、そのビューでの`FocusableText`が実行されなくなります。

Flutterアプリでの画面タイトル誤検知

Flutterは AppBar.title をネイティブ画面タイトルプロパティにマップしません - Activity.setTitle、これによりスクリーンタイトルルールは、記述的なタイトルがあるかどうかに関係なく、すべてのFlutter画面で失敗します。

これは、 flutter/flutter#185894で追跡されている既知のFlutterプラットフォームの制限です。

アナウンステキスト検出の誤検知

一部のケースでは、支援技術は AccessibilityEvent 説明に依存し、他のアナウンスが利用できない場合にユーザーに情報を提供します。 AccessibilityEventはユーザーのアクションによってトリガーされるため、この情報が提供されていない場合には正しい説明にアクセスすることはできません。

この問題を避けるためには、関連するすべてのビューがアクセシビリティに重要であるとマークされていることを確認してください。これにより、トークバックがビューから情報にアクセスできるようになり、当社のツールで検出できるようになります。

文字と背景の色が同じ場合に色のコントラストルールが実行されない

当社の色のコントラストルールは、テキストがアプリケーションのユーザーに見えることを保証するために、機械学習によるテキスト検出に依存しています。ビューに含まれるテキストが背景と同じ色の場合、機械学習アルゴリズムはテキストが存在するかどうかを検出できません。そのため、このビューでは色のコントラストルールは実行されません。

EditTextName Android 7 (SDK 24-25)での

ヒントテキスト機能を利用するXMLで書かれたアプリは、 EditTextName ルールで誤検知が発生することがあります。ヒントテキストはAndroid 8 (SDK 26)まで導入されていませんでした。この要素をXMLアプリで使用すると、ヒントテキストがテキスト入力フィールドの値に割り当てられます。より新しいバージョンのAndroidはこの体験をアクセシブルにするためにより適しています。

この問題を解決するために、最新バージョンのAndroidでテストを実行することを最初にお勧めします。ただし、以前のAndroidバージョンでアプリが利用できることが重要な場合は、 hintText 機能を避けることを検討してください。これは公式にサポートされていません。

Android隠しビューからの結果返却

画面上で他のビューの背後に隠れているビューの結果が表示されることがあります。これらの隠されたビューは支援技術には使用できませんが、Axe DevTools Mobileではそれらが問題として報告されます。

この複雑な問題の修正に取り組んでいます。その間、TalkBackがこれらのビューにアクセスできない場合、対応する問題は無視してもかまいません。アクセシビリティを確保するために修正の必要はありません。

ML Kitテキスト検出の実行エラー

ML Kitテキスト検出は、結果の正確性を確保するために多くのAxe DevTools Mobileルールで必要です。Axe DevTools Mobileを自動化されたEspressoやUIAutomatorテストで参照する際に、ML Kitライブラリは自動的にインポートされるべきです。ただし、場合によっては自動インポートが行われず、logcatに次のエラーが表示されます:


Axe DevTools Android: ML Kitテキスト検出の実行エラー: MlKitContextが初期化されていません。

この問題を解決するには、ML Kitライブラリを手動でプロジェクトにインポートしてください。アプリケーションの build.gradle ファイルの依存関係の下に次の行を追加してください:

debugImplementation 'com.google.mlkit:text-recognition:16.0.1'

ML Kitライブラリがインポートされる完全な動作例は、Android Mobile SDKの「はじめに」セクションで、 実装

タッチターゲット間隔とJetpack Compose

タッチターゲット間隔ルールは現在、Jetpack Composeで書かれたスライダーコンポーネントで実行されていません。現時点で取れる措置はありませんが、間もなく修正が行われます!

API 30でローカルに結果を保存する際のエラー

Android API 30では、結果をローカルに保存しようとする場所の1つに権限エラーがあります。このエラーが表示されても、結果はJSONファイルとして保存されます。このエラーは以下のブロック内のコードをコメントアウトすることで抑制できます。

def clearDirectoryTask = task('clearDirectoryTask', type: Exec, group: 'reporting') {
	executable "${android.getAdbExecutable().toString()}"
	args 'shell', 'rm', '-r', '/storage/emulated/0/Documents/AxeTestCases'

//    finalizedBy {
//        fetchAndroidFolderAxeReportsTask
//    }
}

このコードは、他のAPIレベルでローカル保存に問題を引き起こすため、API 30のみでコメントアウトする必要があることに注意してください。

ハイブリッドアプリとクロスプラットフォームアプリのスクロール検出

一部のハイブリッドおよびクロスプラットフォームアプリでは、スクロールビュー内の項目が画面から部分的に外れた場合、予期しない結果が返されることがあります。アクセシビリティのテストを行う際には、要素が完全に画面内にあることを確認してからスキャンを行ってください。

アナライザーアプリ: フローティングアクションボタンが消える

API 31(Android 12)で導入された機能により、非システムオーバーレイを隠せるようになりました。Axe Analyzerアプリを利用するために、この設定がオンになっていないことを確認してください。この機能をセキュリティ向上のために利用する場合は、テスト用の内部ビルドではオフにして、安全にテストデータを利用し、セキュリティ上の懸念を排除することをお勧めします。 Note: this setting does not affect Google's accessibility scanner app as it's considered a system overlay.

Axe Accessibility Analyzerアプリを利用するには、メソッドへの呼び出しを更新してください setHideOverlayWindows(true) 影響を受けたアクティビティウィンドウ上で。 setHideOverlayWindows(false) 影響を受けたアクティビティウィンドウ上で。

ダッシュボードでスクリーンショットが失われる(黒い四角)

Axe DevTools for Mobileの全機能を利用するには、スクリーンショットが有効になっていることを確認してください。セキュリティ上の懸念を避けるために、モックデータを使用するアプリのデバッグまたはテストバージョンでスクリーンショットを有効にすることをお勧めします。Androidアプリでのスクリーンショットの有効化に関するガイドをチェックしてください

がtrueに設定されているときのクラッシュ minifiedEnabled がtrueに設定されているときのクラッシュ

ビルドを縮小している場合、Axe DevToolsライブラリにログインしようとするときにアダプターが見つからないというエラーログと共にクラッシュが発生します。Axe DevToolsを実装したデバッグビルドでは、縮小を無効にしてください。(#729)

r8が有効なビルドでエラーが発生

r8が有効なビルドでは、axeDevToolsライブラリを縮小しようとして次のようなエラーが発生することがあります:


Caused by: java.lang.NullPointerException: throw with null exception at g.b.b.a$a.a(Unknown Source:1) at g.b.b.a$a.a(Unknown Source:0) at g.b.b.a.a(AccessToken.java:190)

このエラーを解決するには、ProGuardファイルにaxeDevToolsクラスを保持するための次の行を追加してください:

keep class com.deque.** { *; }
Compose APIを使用する際のエラーメッセージ

Compose APIは非推奨ですので、引き続き更新を受けるためには レイアウトに依存しないAPI を使用してください。Compose APIを使い続け、「(isRoot)」の基準を満たすノードが「1」個でなく「2」個見つかった、または「ビューが初期化されていない、AxeDevToolsCompose.setComposeTestRule()を呼び出しましたか?」というエラーに遭遇した場合は、 Compose setTestTag APIを参照してください。

MAUI: Edit Text Nameルール

MAUIアプリのアーキテクチャがAndroidエコシステムでのレンダリングに制限があるため、Edit Text NameルールはSDKバージョン5.5.0以降の場合、ダッシュボードで「要レビュー」と表示されます。このケースについては、手動で正しい動作を確認してください。

ネイティブAndroid: カスタムダイアログ/モーダル

ネイティブコントロールを拡張しないカスタムダイアログやモーダルを実装している場合、モーダルの背後にあるビューの結果が得られることがあります。この場合、当社のツールをこれらのカスタムモーダルやダイアログに対して実行せずに、それらが支援技術と期待通りに動作することを手動で確認することをお勧めします。

ウェブダッシュボード

スクリーンショットが欠落しています

スクリーンショットがスキャンの詳細ページから欠落している場合、アプリによりスクリーンショットの撮影が妨げられている可能性があります。これはしばしば、本番アプリケーションのセキュリティ上の理由です。テストビルドでのこの要件を削除し、Axe DevTools Mobileダッシュボードでの完全な機能を利用できるよう考慮してください。

一部のAndroidスキャン名がフォーマットされていない

スクリーンタイトルにデフォルト設定されている一部のAndroidスキャン名は、バンドル識別子を含む完全なクラス名として表示されます。将来のリリースでは、この問題が解決され、スクリーンタイトルがより読みやすい名前にフォーマットされます。代替策として、ダッシュボードやフレームワークからスキャン名を設定することができます。(#1643)