Axe DevTools Mobile 2026年4月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年4月8日

Not for use with personal data

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

iOS

  • iOS SDK (axeDevToolsXCUI v3.3.0)

更新方法: iOS SDK

Android

  • Android SDK (axe-devtools-android v8.3.0)
  • Android Gradle Plugin (axe-devtools-android-plugin v1.0.1)

更新方法 Android Gradle Plugin

新機能

Axe DevTools for Mobile SDKを使用して、Auto Scanを開始 - Espresso/UI AutomatorXCUITest

Auto Scanは既存のUIテストにアクセシビリティチェックを追加する最速の方法です。

  • アプリと対話する際に自動でスキャンを実行
  • 一度だけ設定すれば、Auto Scanはスイートに追加された新しいテストにも対応します
  • テストが終了すると、要約がテストログに直接印刷され、自己完結型HTMLレポートが自動で生成されます
  • Auto Scanはオンラインとオフラインの両方の環境をサポートし、iOSとAndroidの既存のテストフレームワークとシームレスに統合されます

Androidアプリケーションのテストを書いている場合、次の点に注意してください: axe-devtools-android ライブラリはもはや直接依存関係として追加されません。それに代わり、プロジェクトにGradleプラグインをインポートすると自動的に取り込まれます。詳細は、当社の Androidセットアップ手順をご覧ください。

現在、Auto ScanはiOSとAndroidのSDKで利用可能です。このソリューションは、間もなくAppiumドライバーでも利用可能になります。

修正点

iOS

  • 次のルールの精度向上:タッチターゲットサイズ、アクティブコントロール名、フォーカス可能なテキスト

既知の問題

以下の問題が発生している場合は、 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

小さな画面でのグラデーション背景に対する色コントラストルールの誤検知

小さな画面サイズやフォントサイズでアクセシビリティチェックを実行すると、グラデーション背景に対する色コントラストルールが誤検知する場合があります。この場合、前景色を特定することができず、背景色をお互いに比較することで失敗となることがあります。

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

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

AppleのアクセシビリティAPIは、WKWebView内のウェブコンテンツを"isVisible"と誤って報告することがあります。これは、ウェブビューがネイティブのオーバーレイ(モーダルビュー、アラート、その他のネイティブUIエレメントなど)によって覆われている場合でも、アクセシビリティシステムがWKWebViewコンテナ自体が表示されているかどうかを確認するためです。その結果、ウェブコンテンツが実際に妨げられず、ユーザーにとって知覚可能であるかどうかを判断することができません。

ステッパーに関連する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

一部の画面では、誤ったassociatedTextプロパティが発見され(#1622)、LabelInNameおよびLabelAtFrontに関する誤検知が報告されることがあります

Supports Dynamic TypeルールがiOS 15 Proシミュレーターで動作しない

iPhone 15 Proシミュレーターに影響を与える問題があり、それがSupports Dynamic Typeルールの実行を妨げています。Supports Dynamic Typeルールにオプトインしている場合、iPhone 15 Proシミュレーターを使用してテストすることはできません。Appleにバグが報告されています。

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

私たちの規則の改善を検討中、XCTestにおいてネストされたコントロールがアクセシビリティツリーに返されないことがわかりました。Appleにバグが報告されています。(#1110)

ImageView NameルールがUIKitアプリのレビュー結果を必要とする

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

誤検知: スクロールビュー、Label In Name、Label at Front、およびv2.11.0 Image View Name & ActiveControlName

次の誤検知に対する修正に積極的に取り組んでおり、修正がリリースされるたびにこのリストを更新します。

In Scroll View
バナーのように振る舞う要素内のテキストは、「レビューが必要です」というメッセージでフラグが立てられる場合があります。これらの要素を大きなテキストを必要とする人々に利用できるようにするには、 UILargeContentViewer。 (#622)

v2.11.0 Image View Name & Active Control Name
UIImageViewに`accessibilityIdentifier`が設定されているがVoiceOverでフォーカスされない場合、また内部にフォーカス可能なコントロールがネストされている場合、ActiveControlNameがUIImageViewで誤検知を報告することがあります。問題を解決するには、`accessibilityIdentifier`を削除します。Appleにバグが報告されています。 (#1633)

Label In Name and Label At Front
これらの2つの規則は、規則の状態を判断するのに役立つように、コントロールの可視ラベルを近くの要素の中から探します。一部のビュー階層では、近くのテキストが誤って検出され、これらの規則が失敗する原因となります。 (#1622)

Android

発表されたテキスト検出の誤検知

一部のケースでは、支援技術が AccessibilityEvent Androidシステムからの説明を利用して、他のアナウンスがない場合にユーザーに情報を伝えます。したがって AccessibilityEvents are triggered by user actions, we are unable to access the correct description if this information is not provided.

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

テキストと背景色が同じ場合、コントラストルールは実行されません

当社のコントラストルールは機械学習に依存してテキストを検出しており、スキャンされるテキストがアプリケーションのユーザーにとって可視であることを保証します。ビュー内のテキストが背景色と同じ場合、機械学習アルゴリズムはテキストの存在を検出できず、このビューに対してコントラストルールは実行されません。

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ルールで結果の正確性を確保するために必要です。自動化されたEspressoまたはUIAutomatorテストでaxe DevTools Mobileを参照すると、ML Kitライブラリが自動的にインポートされるべきです。ただし、場合によっては自動インポートが行われず、logcatに以下のエラーが表示されることがあります:

Axe DevTools Android: Error while running mlKit Text Detection: MlKitContext has not been initialized.

この問題を克服するには、ML Kitライブラリを手動でプロジェクトにインポートする必要があります。アプリケーションの build.gradle ファイル内で、dependenciesの下に次を追加します:

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

Find a full working example of the ML Kit library being imported in the Android Mobile SDK Getting Started section, under 実装

タッチターゲットの間隔と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 30のみでコメントアウトすべきであり、他のAPIレベルでローカル保存時に問題を引き起こすことになります。

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

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

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

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アクセシビリティ・アナライザーアプリを利用するには、メソッドへの呼び出しを更新してください setHideOverlayWindows(true) から setHideOverlayWindows(false) への、影響を受けるアクティビティウィンドウで。

ダッシュボードでスクリーンショットが表示されない(黒いボックス)

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

クラッシュするのは 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)
	
To resolve this error add the following line to your ProGuard file to keep axeDevTools classes:
keep class com.deque.** { *; }

Compose APIを使用した際のエラーメッセージ

Compose APIは非推奨になりましたので、次のものを使用してください レイアウトに依存しないAPI 継続してアップデートを受け取るために。Compose APIを引き続き使用し、「期待されるノード数は「1」ですが、「2」ノードが見つかりました: (isRoot)」や「Viewが初期化されていません。AxeDevToolsCompose.setComposeTestRule()を呼びましたか?」といったエラーに遭遇した場合は、こちらを参照してください: Compose setTestTag API

MAUI: Edit Text Nameルール

MAUIアプリのアーキテクチャがAndroid環境でレンダリングされる際の制約により、Edit Text Nameルールは、SDKバージョン5.5.0以上での失敗が疑われる場合、ダッシュボード上でレビューが必要と表示されます。この場合は、手動で正しい挙動を確認してください。

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

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

Webダッシュボード

スクリーンショットが表示されない

スキャン詳細ページにスクリーンショットがない場合、アプリがスクリーンショットの取得を妨げている可能性があります。多くの場合、これはプロダクションアプリケーションのセキュリティ上の理由によるものです。axe DevToolsモバイルダッシュボードでの完全な機能を許可するためには、テストビルドでこの要件を削除することを検討してください。

いくつかのAndroidスキャン名が未フォーマット

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