Axe DevTools Mobile 2025年11月6日リリースノート
2025年11月6日
コンポーネントバージョン
iOS
- iOS SDK (axeDevToolsXCUI v3.0.1)
- iOS アナライザーXcodeプロジェクト (axe-devtools-mobile-analyzer v1.7.0)
- iOS アナライザーデスクトップアプリ (axe-devtools-mobile-desktop-app v1.0.1)
- iOS Appium 2 ドライバー (axe-appium-xcuitest-driver v2.1.0)
- (XCUITest v9.10.4からフォーク)
- iOS Appium 3 ドライバー (axe-appium3-xcuitest-driver v1.0.0)
- (XCUITest v10.4.3からフォーク)
更新方法: iOS SDK、iOS アナライザー(Mobile Analyzer デスクトップアプリへの切り替え)、iOS Appium ドライバー
Android
- Android SDK (axe-devtools-android v8.0.2)
- Android Analyzer (Axe アクセシビリティアナライザー v2.1.3)
- Android Appium 2 ドライバー (axe-appium-uiautomator2-driver v2.1.0)
- (UiAutomator2 v4.2.8からフォーク)
- Android Appium 3 ドライバー (axe-appium3-uiautomator2-driver v1.0.0)
- (UiAutomator2 v5.0.1からフォーク)
更新方法 Android SDK、Android アナライザー、Android Appium ドライバー
ハイライト
既存のモバイルスキャン機能と結果管理機能の更新
iOS モバイルアナライザーデスクトップアプリ
使いやすいMacデスクトップアプリを使って、Bundle IDやAPIキーなしで簡単にデバイスに接続しテストできます。iOS Analyzer Xcodeプロジェクトを使用している場合、Mobile Analyzer デスクトップアプリへの切り替え方法を学んでください。
Axe Developer Hub の統合
自動テストのアクセシビリティ結果をAxe Developer Hubにプッシュできます。ここはアクセシビリティ問題の表示と管理のための中央拠点で、スキャンはテスト実行ごとに自動的にグループ化されます。結果はまだMobile DashboardとDeveloper Hubの両方で確認できますが、最終的にはDashboardはDeveloper Hubに取って代わられます。まだDashboardを自動テスト結果のために使用している場合、Axe Developer Hub に切り替える方法を学んでください。
修正
iOS
- 以下のルールの正確性の改善: タッチターゲットサイズとタッチターゲット間隔
Android
- Axe Accessibility Analyzerアプリでのビュー データ収集の更新
- 以下のルールの正確性の改善: ラベル名、ネストされた要素名、およびスイッチ名
Axe DevTools Reporter CLI
更新
Appiumドライバー
Appium 2の後方互換性を維持しながら、Appium 3もサポートするために、各プラットフォームに2つの異なるAppiumドライバーを提供します。現在のパッケージ名はAppium 2をサポートするために戻り、バージョン2.x.xとして続行します。新しいパッケージはaxe-appium3と呼ばれ、バージョン1.0.0から開始します。
iOS
- axe-appium-xcuitest-driver@2.1.0 -> Appium 2のみ対応
- axe-appium3-xcuitest-driver@1.0.0 -> Appium 3のみ対応
Android
- axe-appium-uiautomator2-driver@2.1.0 -> Appium 2のみ対応
- axe-appium3-uiautomator2-driver@1.0.0 -> Appium 3のみ対応
既知の問題
以下の問題が発生している場合は、helpdesk@deque.comまたはsupport.deque.comまでご連絡ください。解決した際、またはリストされていない回避策が判明した際に通知いたします。
- Axe DevTools Mobileの自動テストは、ネイティブiOS、ネイティブAndroid、React Nativeアプリケーションで実行されます。技術スタックのアクセシビリティ テスト ソリューションについては、Dequeの担当者にお問い合わせください。
- WebビューやレンダリングされたPDFからいくつかの結果を得ることもできますが、Webの最も包括的なアクセシビリティ テストを行うには、Axe DevTools for WebやAxe Monitor を使用することを強くお勧めします。
iOS
不正確な isVisible XCTestからのプロパティ
AppleのアクセシビリティAPIは、WKWebView内のWebコンテンツを、ネイティブオーバーレイ(モーダルビュー、アラート、その他のネイティブUI要素など)で覆われている場合でも、誤って「isVisible」と報告することがあります。これは、アクセシビリティシステムがWKWebViewコンテナ自体が表示されているかどうかをチェックするためであり、そのWebコンテンツが実際にユーザーにとって無障害で知覚可能かどうかを確認するわけではありません。
iOS 26のステッパーバグ
iOS 26には、デフォルトのステッパーボタンが有効でないことを示すためにAssistive Technologyで「dimmed」とアナウンスされないアクセシビリティのバグがあります。その結果、iOSルールでもこれらのボタンが有効と見なされます。Appleにバグ報告が提出されていますが、この問題が解決されるまで、以下のルールが無効なステッパーボタンで結果を報告する可能性があります: AssociatedText、 InaccessibleAction、および 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.
物理デバイスでスキャンを実行できない (iOS Analyzer 1.4.7)
iOS Analyzer 1.4.7での設定により、スキャンが実行されず、「テスト失敗」というメッセージが返されます。物理デバイスでスキャンを実行するには、 最新のiOS Analyzerプロジェクトに更新してください。
Analyzerプロジェクトのエラー & バンドルIDによるテスト (2.8.1)
バージョン2.8.1ではバンドル識別子によるアプリケーションのテスト機能が壊れ、「 "No target application path specified via test configuration: ..."」というタイトルのエラーが発生していました。エラーを解決するには、2.8.2または最新バージョンに更新してください。 最新のiOS Analyzerプロジェクトに更新してください。
「AxeResultをシリアライズできませんでした」エラー (Analyzerプロジェクトv1.2.0 & SDK v2.12.3)
このバージョンのアナライザーとSDKで一部のアプリケーションをスキャンすると、「 "Could not Serialize AxeResult" 」というエラーが発生していました。エラーを解決するには、最新バージョンに更新してください。 最新のiOS Analyzerプロジェクトに更新してください。最新のiOS SDKに更新してください。
誤検知: SwiftUI & クロスプラットフォームアプリでのLabelInNameおよびLabelAtFront
Some screens may報告します、誤検知: an incorrect associatedText property being found (#1622)。
動的タイプサポートルールがiOS 15 Proシミュレータで機能しない
動的タイプサポートルールの実行を妨げるiPhone 15 Proシミュレーターに影響を与える問題があります。動的タイプサポートルールにオプトインしている場合、iPhone 15 Proシミュレーターを使用してテストすることはできません。Appleにバグが報告されています。
ネストされたコントロールに対するルール
当社のルールの改善を検討する中で、XCTestでネストされたコントロールがアクセシビリティツリーに返されないことが判明しました。Appleにバグが報告されています。(#1110)
ImageView名ルールのUIKitアプリに対する結果のレビューが必要
UIKitアプリでは、 accessibilityLabel がない画像は、デフォルトで支援技術ではフォーカスされません。
Apple から取得した可視性を確認するためのプロパティは、画像に accessibilityIdentifier が設定されている場合、不正確である可能性があります。この予期しない動作により、UIKit アプリでの ImageView Name 問題の結果は「要確認」として報告されます。Apple にはバグレポートを送信しました。(#1633)
偽陽性: スクロールビュー内のラベル、名前内のラベル、先頭のラベル、および v2.11.0 の画像ビュー名 & アクティブコントロール名
現在、次の偽陽性に対する修正に取り組んでおり、修正がリリースされ次第、このリストを更新します。
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ライブラリは、Axe DevTools Mobileを自動EspressoまたはUIAutomatorテストで参照すると自動的にインポートされるはずです。しかし、いくつかの場合で自動インポートが行われず、logcatに以下のエラーが表示されることがあります:
Axe DevTools Android: Error while running mlKit Text Detection: MlKitContext has not been initialized.
この問題を解決するには、ML Kit ライブラリを手動でプロジェクトにインポートする必要があります。アプリケーションの build.gradle ファイルに、次の内容を依存関係の下に追加してください:
implementation 'com.google.mlkit:text-recognition:16.0.1'
タッチターゲットの間隔と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 App: フローティングアクションボタンが消える
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 アプリでスクリーンショットを有効にする方法
`minifiedEnabled` が true に設定されたときのクラッシュ
ビルドを縮小するとき、Axe DevToolsライブラリへのログイン時にアダプタが見つからないというエラーログを報告するクラッシュが発生します。Axe DevToolsを実装したデバッグビルドでは縮小を無効にしてください。(#729)
r8 が有効なビルドでエラーが発生する
r8 が有効なビルドは、axeDevTools ライブラリを縮小しようとすると次のようなエラーを引き起こす可能性があります:
Caused by: java.lang.NullPointerException: throw with null exception
このエラーを解決するには、ProGuard ファイルに次の行を追加して、axeDevTools クラスを保持してください:
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)
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 を使い続けて、「'1'つのノードが必要な場所で'2'つのノードが見つかりました: (isRoot)」や「Viewが初期化されていません、AxeDevToolsCompose.setComposeTestRule()を呼び出しましたか?」のようなエラーに遭遇した場合は、次を参照してください。 Compose setTestTag API。
ログメッセージ:MlKitContext has not been initialized
このメッセージに遭遇した場合、そのルールで人工知能が使われている場合に、いくつかのルール結果が期待通りに返らないことがあります。影響を受けるルールは、色のコントラスト、フォーカス可能なテキスト、および入れ子の要素名を含みます。 (#841)
MAUI: テキスト名の編集ルール
AndroidエコシステムにおけるMAUIアプリのアーキテクチャの制限により、SDKバージョン5.5.0以降で障害が疑われる場合、ダッシュボード上でテキスト名の編集ルールは「レビューが必要」として表示されます。この場合は手動で正しい動作を確認してください。
ネイティブAndroid: カスタムダイアログ/モーダル
ネイティブコントロールを拡張していないカスタムダイアログやモーダルを実装する場合、モーダルの背後にあるビューの結果を得ることがあります。この場合、これらのカスタムモーダルやダイアログに対してツールを実行せず、手動で確認して支援技術と望ましい動作を確保することをお勧めします。
Webダッシュボード
スクリーンショットがありません
スキャン詳細ページにスクリーンショットが表示されない場合、アプリがスクリーンショットの取得を防いでいる可能性があります。これはしばしば本番アプリにおけるセキュリティ上の理由です。テストビルドのためにこの要件を削除し、Axe DevTools Mobile Dashboardでの全機能を有効にすることを検討してください。
一部のAndroidスキャン名がフォーマットされていません
スクリーンタイトルにデフォルトされた一部のAndroidスキャン名は、バンドル識別子を含むクラス名全体として表示されます。次回のリリースでは、スクリーンタイトルがより読みやすい名前にフォーマットされるように修正されます。それまでの回避策として、ダッシュボードまたはフレームワークからスキャン名を設定できます。 (#1643)
