axe DevTools Mobile 2025年7月16日リリースノート

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年7月16日

Not for use with personal data

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

Android

  • Android SDK(axe-devtools-android v7.0.1)
  • Androidアナライザー(axe Accessibility Analyzer v2.0.1)
  • Android Appium Driver(axe-appium-uiautomator2-driver v1.4.3)
    • (UiAutomator2 v4.2.4からフォーク)

更新方法: Android SDKAndroidアナライザーAndroid Appium Driver

修正

  • スクリーンオリエンテーションのルールに関する問題を修正し、スクリーンショットがスキャン開始時の向きと同じ向きを表示するようにしました
  • Appiumスキャンのスクリーンショットに関する問題を解決し、モバイルダッシュボードと生成されたHTMLレポートでアクセスできるようにしました。

既知の問題

以下の問題が発生した場合は、 helpdesk@deque.com または support.deque.comにご連絡ください。問題が解決した際や、一覧に記載されていない回避策が見つかった場合にお知らせします。

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

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アナライザー1.4.7では物理デバイスでスキャンを実行できません

iOSアナライザー1.4.7の設定によりスキャンが実行されず、「テスト失敗」のメッセージが返されます。物理デバイスでのスキャンを実行するには、 最新のiOSアナライザープロジェクトに更新してください。

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

バンドル識別子によるアプリケーションのテスト機能がバージョン2.8.1で壊れており、「テスト構成ではターゲットアプリケーションパスが指定されていません:…」というエラーが発生しました。エラーを解決するには、2.8.2または最新バージョンに更新してください。 iOSアナライザープロジェクトを最新に更新してください。

アナライザープロジェクトv1.2.0およびSDK v2.12.3での「AxeResultをシリアル化できませんでした」エラー

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

SwiftUIおよびクロスプラットフォームアプリでのラベルインネームとラベルアットフロントの偽陽性

一部のスクリーンでは、不正なassociatedTextプロパティが見つかるため、ラベルインネームとラベルアットフロントで偽陽性が報告される場合があります(#1622)

iOS 15 Proシミュレータで「ダイナミックタイプをサポート」ルールが機能しない

iPhone 15 Proシミュレータに影響を及ぼす問題があり、ダイナミックタイプをサポートルールが実行されません。「ダイナミックタイプをサポート」ルールに登録されている場合、iPhone 15 Proシミュレータを使用してテストすることはできません。Appleにバグが報告されています。

ネストされたコントロールへのルール

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

UIKitアプリでのImageView Nameルールがレビューが必要な結果を報告

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

スクロールビューでの偽陽性、ラベルインネーム、ラベルアットフロント、および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)で

ルールで誤検出が発生する可能性があります。ヒントテキストはAndroid 8(SDK 26)まで導入されていません。この要素をXMLアプリで使用すると、ヒントテキストがテキスト入力フィールドの値に割り当てられます。より新しいバージョンのAndroidではこの機能をよりアクセスしやすくするための改善が行われています。 EditTextName rule. Hint text was not introduced until Android 8 (SDK 26). Using this element in your XML app will assign the hint text to the value of the text input field. More recent versions of Android are better equipped to make this experience accessible.

機能の使用を避けることを検討してください。 hintText feature, as it is not officially supported.

Androidで隠されたビューが結果を返す

画面上の他のビューの背後に隠れているビューの結果を見ることがあります。これらの隠れたビューは支援技術にアクセスできませんが、axe DevTools Mobileはそれらを問題として報告します。

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

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

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

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

ファイルで、以下をdependenciesの下に追加してください: build.gradle file, add the following under dependencies:

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
//    }
}

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.

対象のアクティビティウィンドウで。 setHideOverlayWindows(true) to setHideOverlayWindows(false) on the affected activity windows.

ダッシュボードのスクリーンショットが欠落(黒い枠)

スクリーンショットを有効化するためのガイドをチェックしてください。 enabling screenshots in Android apps.

`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()?

を参照してください。 layout agnostic APIs to continue receiving updates. If you continue to use the Compose APIs and encounter an error along the lines of `Expected exactly '1' node but found '2' nodes that satisfy: (isRoot)` or `No View initialized, did you call AxeDevToolsCompose.setComposeTestRule()?`, please refer to Compose setTestTag API.

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

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

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

Due to limitations of the MAUI app architecture rendering in the Android ecosystem, the Edit Text Name rule will show as Needs Review in the dashboard when a failure is suspected for SDK version 5.5.0 and up. Please confirm correct behavior manually for this case.

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

When you're implementing custom dialogs or modals that do not extend the native controls, you may get results for views behind the modal. In this case, we recommend not running our tool against these custom modals or dialogs and instead manually checking them to ensure they behave with assistive technology as desired.

Webダッシュボード

スクリーンショットがありません

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

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

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