Axe DevTools Mobile 2025年12月10日リリースノート

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

2025年12月10日

Not for use with personal data

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

iOS

  • iOS SDK (axeDevToolsXCUI v3.1.0)
  • iOS Analyzer Xcode プロジェクト (axe-devtools-mobile-analyzer v1.8.0)
  • iOS Analyzer デスクトップアプリ (axe-devtools-mobile-desktop-app v1.0.1)
  • iOS Appium 2 ドライバー (axe-appium2-xcuitest-driver v2.2.0)
    • (XCUITest v9.10.4 からフォーク)
  • iOS Appium 3 ドライバー (axe-appium3-xcuitest-driver v1.1.0)
    • (XCUITest v10.9.0 からフォーク)

アップデート方法: iOS SDKiOS Analyzer(Mobile Analyzer デスクトップアプリへの切替)iOS Appium ドライバー

Android

  • Android SDK (axe-devtools-android v8.1.0)
  • Android Analyzer (axe Accessibility Analyzer v2.2.0)
  • Android Appium 2 ドライバー (axe-appium2-uiautomator2-driver v2.2.0)
    • (UiAutomator2 v4.2.8 からフォーク)
  • Android Appium 3 ドライバー (axe-appium3-uiautomator2-driver v1.1.0)
  • (UiAutomator2 v6.6.2 からフォーク)

アップデート方法 Android-SDKAndroid AnalyzerAndroid Appium ドライバー

修正

iOS

  • デバッグモードのエラーハンドリングを改善
  • タッチターゲットサイズルールの精度を向上

Android

  • 結果のノイズを低減するため、ユーザーに提供される要素の検出を改善
  • スクリーンオリエンテーションルールの問題を修正し、スキャンを開始した時と同じ向きでスクリーンショットを表示できるように
  • WebViewの誤検出を削減
  • Android Analyzer アプリが、重複または空のタグの送信を適切に処理できるようになりました
  • カラーコントラストとネストされたフォーカス可能な要素ルールの精度を向上

廃止予定

login iOSおよびAndroid SDKのメソッドは、アクセシビリティの問題を表示および管理するための中央拠点であるAxe Developer Hubとの接続を確立するメソッドに代わって廃止されました。 startSession スキャンはテストランごとに自動的にグループ化されます。 login メソッドは2026年11月に削除される予定です。

既知の問題

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

小さい画面でのグラデーション背景によるカラーコントラストルールの偽陽性

小さい画面サイズや小さいフォントサイズでアクセシビリティチェックを実行する場合、グラデーション背景に対してカラーコントラストルールが偽陽性を報告することがあります。このような場合、前景色を判定できず、代わりに背景色同士を比較し、不合格となることがあります。

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

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

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

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

iOS 26には、デフォルトのステッパーボタンが「dimmed」とアナウンスされず、Assistive Technologyによって有効化されていないことを示さないアクセシビリティバグがあります。その結果、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

一部の画面で、#1622の不正確なassociatedTextプロパティが見つかるため、LabelInNameとLabelAtFrontに関して偽陽性が報告されることがあります。

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

iPhone 15 Proシミュレーターに影響を与える問題が存在しており、Supports Dynamic Typeルールが実行されません。Supports Dynamic Typeルールに参加している場合、iPhone 15 Proシミュレーターでこれをテストすることができません。Appleにバグレポートが提出されています。

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

ルールの改善を検討する際、XCTestではネストされたコントロールがアクセシビリティツリーに返されないことが判明しました。Appleにバグレポートが提出されています。(#1110)

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

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

偽陽性: スクロールビュー、Label In Name、Label at Front、およびv2.11.0のImageView 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

テキストと背景色が同じ場合にカラーコントラストルールが実行されない

私たちのカラーコントラストルールは、機械学習に依存してテキストを検出し、アプリケーションの利用者にそのスキャンされるテキストが見えることを保証します。ビュー内に含まれるテキストが背景と同じ色の場合、機械学習アルゴリズムがテキストが存在するかを検出できず、このビューでカラーコントラストルールが実行されません。

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ルールで結果の精度を確保するために必要です。ML Kitライブラリは、E EspressoまたはUI Automatorのテストでaxe DevTools Mobileを参照すると、自動的にインポートされるはずです。しかしながら、場合によっては自動インポートが行われず、logcatに以下のエラーが表示されます。

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

この問題を解決するには、ML Kitライブラリを手動でプロジェクトにインポートする必要があります。あなたのアプリケーションの build.gradle ファイルで、次のものをdependenciesの下に追加してください。

implementation 'com.google.mlkit:text-recognition:16.0.1'
タッチターゲットの間隔とJetpack Compose

タッチターゲットの間隔ルールは、Jetpack Composeで書かれたスライダーコンポーネントには現在実行されていません。現時点では対策はできませんが、修正は間もなく提供されます!

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

Android API 30では、ローカルに結果を保存しようとする場所の一つでパーミッションエラーが発生します。このエラーが表示されても、結果は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でのみコメントアウトしてください。

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

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

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

Android 12(API 31)で導入されたのは、システム以外のオーバーレイを隠す機能です。axeアナライザーアプリを利用するには、この設定がオンになっていないことを確認してください。この機能をセキュリティ向上のために利用することを選択した場合、内部テスト版ではこの機能をオフにして、安全にテストデータを利用し、セキュリティの懸念を排除することをお勧めします。 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) で影響を受けるアクティビティウィンドウに更新してください。

ダッシュボードでスクリーンショットが見つかりません(ブラックボックス)

Mobile用axe DevToolsの完全な機能を解放するには、スクリーンショットが有効になっていることを確認してください。セキュリティの懸念を回避するために、モックデータを使用するデバッグまたはテストバージョンのアプリでスクリーンショットを有効にすることをお勧めします。当社のガイドをご覧ください。 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)
このエラーを解決するには、axeDevToolsのクラスを保持するために次の行をProGuardファイルに追加してください。
keep class com.deque.** { *; }

以下に似たエラーメッセージ:
Expected exactly '1' node but found '2' nodes that satisfy: (isRoot)
または: No View initialized, did you call AxeDevToolsCompose.setComposeTestRule()?

Compose APIは非推奨になっています。 継続して更新を受け取るには、 レイアウトに依存しないAPI を使用してください。Compose APIを使用し続け、`Expected exactly '1' node but found '2' nodes that satisfy: (isRoot)`や`No View initialized, did you call AxeDevToolsCompose.setComposeTestRule()?`のようなエラーが発生した場合は、 Compose setTestTag APIを参照してください。

ログメッセージ:MlKitContext has not been initialized

このメッセージが表示される場合、人工知能を利用しているルールの結果が期待通りに返されない可能性があります。影響を受けるルールには、カラコントラスト、フォーカス可能なテキスト、およびネストされたエレメント名があります。(#841)

MAUI:編集テキスト名ルール

AndroidエコシステムのMAUIアプリアーキテクチャの制約により、SDKバージョン5.5.0以降の場合、編集テキスト名ルールは、問題が疑われる際にダッシュボードで「レビューが必要」と表示されます。このケースでは正しい動作を手動で確認してください。

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

ネイティブコントロールを拡張していないカスタムダイアログやモーダルを実装する際、モーダルの後ろにあるビューの結果を取得する可能性があります。この場合、これらのカスタムモーダルやダイアログに対してツールを実行せず、代わりに手動で確認して、補助技術が望ましいように動作することを確認することをお勧めします。

ウェブダッシュボード

スクリーンショットが見つかりません

スキャン詳細ページにスクリーンショットがない場合、アプリがスクリーンショットを撮るのを防いでいる可能性があります。通常、これは本番アプリケーションでのセキュリティ上の理由によるものです。axe DevTools Mobile Dashboardでの完全な機能を利用するために、テストビルドではこの制約を解除することを検討してください。

一部のAndroidスキャン名が書式設定されていない

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