axe DevTools Mobile 2025年2月12日リリースノート

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年2月12日

Not for use with personal data

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

  • Android SDK (axe-devtools-android v6.1.0)
  • Android Analyzer (axe Accessibility Analyzer v1.11.0)
  • Android Appium Driver (axe-appium-uiautomator2-driver v1.3.0)
  • axe DevTools Reporter CLI v4.10.0

更新方法: Android SDKAndroid AnalyzerAndroid Appium Driveraxe DevTools Reporter CLI

新機能

Android Appium Driver

Ignore Rules機能がAndroid Appium Driverに対応しました! 詳細は、 Android Ignore Rulesドキュメント を参照してください。Appium Android Driver用のIgnore Rulesは すべての ビューでのみ実装可能で、特定のビューやクラス名では実装できません。Ignore Rulesの詳細については、 Appiumセットアップドキュメントを参照してください。iOS Appium Driverのサポートも近々始まります。

axe Reporter CLI

モバイルスキャンのJSONファイルからHTMLレポートを生成するときに、アクセシビリティスコアが、総問題数、合格率、問題の重大度の集計と共に表示されるようになりました。すべてのスキャン、または単一のスキャンを選択してそのスコアを確認できます。この追加は、 アクセシビリティスコア がaxe DevTools Mobileダッシュボードに表示されるものと一致します。
参考のため、 合格率 は、チェックされた総要件のうち、成功したアクセシビリティ要件の割合です。 アクセシビリティスコア は、スクリーンの総数、問題の数、およびそれらの問題の重大度を基に計算されます。

Android修正

  • ネイティブアプリとクロスプラットフォームアプリでより一貫性があり信頼性の高い結果
  • Analyzerアプリのアクセシビリティ向上
  • すべてのアクセシビリティルールのパフォーマンスと精度を向上させる更新

既知の問題

以下の問題が発生している場合は、お問い合わせください: helpdesk@deque.com または support.deque.com。問題が解決したとき、または記載されていない回避策が特定されたときにお知らせいたします。

important
  • axe DevTools Mobileの自動テストは、ネイティブiOS、ネイティブAndroid、およびReact Nativeアプリケーションで動作します。技術スタックに関するアクセシビリティテストのソリューションについては、Dequeの担当者にお問い合わせください。
  • ウェブビューやレンダリングされたPDFからもいくつかの結果を得ることができますが、ウェブの最も包括的なアクセシビリティテストには、axe DevTools for Webやaxe Monitorを使用することを強くお勧めします。

iOS

AnalyzerプロジェクトとバンドルIDによるテストでのエラー(2.8.1)

バンドル識別子でアプリケーションをテストする機能はバージョン2.8.1で壊れており、その結果、「No target application path specified via test configuration: ...」というエラーが発生していました。エラーを解決するには、2.8.2または最新バージョンに更新してください。 iOS Analyzerプロジェクト内で最新の状態に更新します。

「Could not Serialize AxeResult」エラー(Analyzerプロジェクト v1.2.0 & SDK v2.12.3)

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

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

一部の画面では、関連付けられているテキストプロパティが誤って検出され、LabelInNameとLabelAtFrontが誤検知を報告する可能性があります (#1622)

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の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

タッチターゲットの間隔と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
//    }
}

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アナライザーアプリを使用するには、この設定をオフにしておいてください。この機能をセキュリティ向上のために使用することにしている場合、安全にテストデータを利用し、セキュリティの問題を解消できる内部テストビルドでは、この機能をオフのままにすることをお勧めします。 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の機能を完全に解放するには、スクリーンショットを有効にしてください。セキュリティ上の懸念を避けるために、モックデータを使用するアプリのデバッグまたはテストバージョンでスクリーンショットを有効にすることをお勧めします。詳細は 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)を満たしているノードが'2'つ見つかりました」といったエラーが発生した場合や、「ビューが初期化されていません。AxeDevToolsCompose.setComposeTestRule()を呼び出しましたか?」といったエラーが発生した場合は、 Compose setTestTag APIを参照してください。

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

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

MAUI: Edit Text Nameルール

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

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

カスタムダイアログやモーダルをネイティブコントロールを拡張せずに実装する場合、モーダルの背後にあるビューに対する結果を得ることがあります。この場合、これらのカスタムモーダルまたはダイアログに対しては、私たちのツールを実行せず、支援技術を正しく利用できるように手動で確認することをお勧めします。

Webダッシュボード

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

スキャン詳細ページにスクリーンショットがない場合、アプリがスクリーンショットの取得を防いでいる可能性があります。これは、しばしばプロダクションアプリケーションのセキュリティ対策として行われます。axe DevTools Mobile Dashboardの完全な機能を使用するために、テストビルドではこの要件を削除することを検討してください。

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

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