axe DevTools Mobile 2025年5月21日リリースノート

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年5月21日

Not for use with personal data

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

iOS

  • iOS SDK (axeDevToolsXCUI v2.15.0)
  • iOS アナライザー (axe-devtools-mobile-analyzer v1.4.11)
  • iOS Appium ドライバー (axe-appium-xcuitest-driver v1.4.0)

アップデート方法: iOS SDKiOS アナライザーiOS Appium ドライバー

Android

  • Android SDK (axe-devtools-android v6.3.0)
  • Android アナライザー (axe Accessibility Analyzer v1.13.0)
  • Android Appium ドライバー (axe-appium-uiautomator2-driver v1.4.1)

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

新機能

ルールソースの整合性

アクセシビリティルールを参照する際、Webコンテンツアクセシビリティガイドライン (WCAG) の成功基準に直接整合するか、WCAGのノートに定義されたベストプラクティス、DequeのA11yエキスパートからのアドバイス、またはAppleやGoogleの推奨によって定義されていることがわかります。

Android SDKとアナライザーアプリ

画面の向きのテスト方法を、新しく改善された方法で実装しました。

デフォルトで無効化された実験的ルール

axe DevTools for Webの動作に合わせて、axe DevTools Mobile Dashboardで実験的ルールをデフォルトで無効にしました。詳しくは、 実験的ルール および有効にする方法についてご覧ください。

修正

iOS

  • ルールはOS提供のキーボード内のコントロールに関する問題を提起しなくなりました。
  • ラベルの名前とアクティブコントロールルールの精度が向上しました。

Android

  • AccessibilityNodeInfoを収集する際の例外のエラーハンドリングを改善しました。
  • バージョン不整合を減らすためにMLKitの実装を調整しました。
  • EditTextの名前と色のコントラストルールの精度が向上しました。

既知の問題

以下の問題が発生している場合は、次のアドレスにご連絡ください: 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

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プロジェクトに更新してください。

アナライザープロジェクトでのエラー&バンドルIDによるテストでのエラー in 2.8.1

バンドル識別子でアプリケーションをテストする機能がバージョン2.8.1で壊れており、「テスト設定を通じてターゲットアプリケーションパスが指定されていない」というエラーが発生しました。エラーを解決するには、2.8.2または最新バージョンに更新してください。 iOS Analyzerプロジェクト内で最新に更新してください。

アナライザープロジェクトv1.2.0&SDK v2.12.3での“AxeResultをシリアライズできませんでした”エラー

このバージョンのアナライザーとSDKを使用して一部のアプリケーションをスキャンすると、「AxeResultをシリアライズできませんでした」というエラーが発生します。エラーを解決するには、最新バージョンに更新してください。 最新のiOS Analyzerプロジェクトに更新してください。最新のiOS SDKに更新してください。

誤検知: SwiftUI&クロスプラットフォームアプリのLabelInNameおよびLabelAtFront

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

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

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

入れ子のコントロールに対するルール

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

UIKitアプリでのImageView Nameルールのレビューが必要

UIKitアプリでは、`accessibilityLabel`がない画像はデフォルトで支援技術でフォーカスされません。
画像に`accessibilityIdentifier`が設定されている場合、Appleから提供されるフォーカス性をチェックするためのプロパティが不正確な可能性があります。この予期しない動作のため、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

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

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

EditTextName on 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ライブラリは、自動化されたEspressoまたはUIAutomatorテストでaxe DevTools Mobileを参照するときに自動的にインポートされるはずです。しかしながら、一部のケースでは自動インポートが行われず、以下のエラーが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'

Touch Target SpacingとJetpack Compose

Touch Target Spacingルールは現在、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
//    }
}

Please note that this code should only be commented out for API 30 as it will cause problems when saving locally for other API levels.

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

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

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

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
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.** { *; }

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

Compose APIは廃止予定ですので、 レイアウトに依存しないAPI を使用し続けてアップデートを受け取るようにしてください。Compose APIを使い続け、『(isRoot)を満たすノードが正確に「1」個いるはずのところ、「2」個見つかった』や『ビューが初期化されていない、AxeDevToolsCompose.setComposeTestRule()を呼びましたか?』というエラーに遭遇した場合は、 Compose setTestTag APIを参照してください。

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

このメッセージが表示される場合、そのルールが人工知能を利用しているとき、いくつかの結果が予想通りに戻らないことがあります。影響を受けるルールには、色のコントラスト、フォーカス可能なテキスト、およびネストされた要素名が含まれます。(#841)

MAUI: Edit Text Name ルール

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

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

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

ウェブダッシュボード

スクリーンショットの欠如

スキャン詳細ページにスクリーンショットが見つからない場合、アプリがスクリーンショットを撮るのを防いでいる可能性があります。多くの場合、これは本番アプリケーションにおけるセキュリティ上の理由によります。テスト用ビルドではこの要件を取り除き、axe DevTools Mobile ダッシュボードでの全機能を利用できるように検討してください。

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

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