Axe DevTools Mobile 2025年7月16日リリースノート
2025年7月16日
コンポーネントのバージョン
Android
- Android SDK(axe-devtools-android v7.0.1)
- Androidアナライザー (Axeアクセシビリティアナライザー v2.0.1)
- Android Appium Driver(axe-appium-uiautomator2-driver v1.4.3)
- (UiAutomator2 v4.2.4からフォーク)
更新方法: Android SDK、Androidアナライザー、Android Appium Driver
修正
- スクリーンオリエンテーションのルールに関する問題を修正し、スクリーンショットがスキャン開始時の向きと同じ向きを表示するようにしました
- Appiumスキャンのスクリーンショットに関する問題を解決し、モバイルダッシュボードと生成されたHTMLレポートでアクセスできるようにしました。
既知の問題
以下の問題が発生している場合は、helpdesk@deque.com または support.deque.com にご連絡ください。それによって問題が解決した際または回避策が見つかった場合にお知らせできるようにします。
- Axe DevTools Mobileの自動テストは、ネイティブiOS、ネイティブAndroid、およびReact Nativeアプリケーションで動作します。ご使用の技術スタックにおけるアクセシビリティテストソリューションについては、Dequeの担当者にお問い合わせください。
- WebビューやレンダリングされたPDFからも結果を得ることができますが、ウェブのアクセシビリティテストのためには、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アナライザー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 ルール。ヒントテキストはAndroid 8 (SDK 26)まで導入されていませんでした。XMLアプリでこの要素を使用すると、テキスト入力フィールドの値にヒントテキストが割り当てられます。最近のバージョンのAndroidは、この体験をよりアクセシブルにするのに適しています。
機能の使用を避けることを検討してください。 hintText 機能には、公式には対応していません。
Androidで隠されたビューが結果を返す
画面上の他のビューに隠されたビューに対する結果が表示される場合があります。これらの隠されたビューは支援技術には利用できませんが、Axe DevTools Mobileはそれを問題として報告します。
この複雑な問題に対する修正に取り組んでいます。それまでの間、TalkBackがこれらのビューに到達できない場合、それに対応する問題は無視しても構いません。アクセシビリティを確保するために修正は必要ありません。
ML Kitテキスト検出実行中のエラー
多くのAxe DevTools Mobileルールで結果の正確性を確保するためにML Kitテキスト検出が必要です。EspressoまたはUIAutomatorテストでAxe DevTools Mobileを参照する場合、ML Kitライブラリは自動的にインポートされるべきですが、場合によっては自動インポートされず、logcatに次のエラーが表示されます:
Axe DevTools Android: Error while running mlKit Text Detection: MlKitContext has not been initialized.
ファイルで、以下をdependenciesの下に追加してください: 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
// }
}
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アクセシビリティアナライザーアプリを利用するには、メソッドへの呼び出しを更新してください setHideOverlayWindows(true) から setHideOverlayWindows(false) へ、影響を受けるアクティビティウィンドウで。
ダッシュボードのスクリーンショットが欠落(黒い枠)
Axe DevTools for Mobileの全機能を解放するためには、スクリーンショットを有効にしてください。セキュリティ上の懸念を避けるために、モックデータを使用しているデバッグまたはテスト版のアプリでスクリーンショットを有効にすることをお勧めします。当社のガイドをチェックしてください Androidアプリでスクリーンショットを有効にする方法
`minifiedEnabled`がtrueに設定されている場合に発生するクラッシュ
ビルドを縮小化する際、Axe DevToolsライブラリにログインしようとすると、アダプタが見つからないエラーログが報告されるクラッシュが発生します。Axe DevToolsを実装したデバッグビルドではminifyを無効にしてください。(#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()?
を参照してください。 レイアウトに依存しない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)
AndroidエコシステムにおけるMAUIアプリアーキテクチャの制約により、編集テキスト名ルールは、SDKバージョン5.5.0以上の場合に疑われる障害があるとき、ダッシュボードにレビューが必要として表示されます。このケースでは、正しい動作を手動で確認してください。
AndroidエコシステムでのMAUIアプリアーキテクチャの制限により、編集テキスト名ルールはSDKバージョン5.5.0以降の場合、失敗が疑われるとダッシュボードでレビューが必要として表示されます。このケースでは、正しい動作を手動で確認してください。
ネイティブコントロールを拡張しないカスタムダイアログやモーダルを実装する場合、モーダルの背後にあるビューの結果を取得することがあります。この場合、カスタムモーダルやダイアログに対してツールを実行せず、代わりに手動で支援技術に対応するように確認することをお勧めします。
ネイティブコントロールを拡張しないカスタムダイアログやモーダルを実装している場合、モーダルの背後にあるビューの結果が出ることがあります。この場合、当社のツールをこれらのカスタムモーダルやダイアログに対して実行しないことをお勧めし、代わりにそれらが希望通りに支援技術と連携することを手動で確認してください。
Webダッシュボード
スクリーンショットがありません
スキャン詳細ページにスクリーンショットが表示されない場合、アプリがスクリーンショットの撮影を防いでいる可能性があります。多くの場合、これは本番用アプリケーションでのセキュリティ上の理由からです。Axe DevTools Mobile Dashboardの全機能を利用できるように、テストビルドではこの要件を削除することを検討してください。
一部のAndroidスキャン名がフォーマットされていません
画面のタイトルにデフォルト設定された一部のAndroidスキャン名は、バンドル識別子を含むフルクラス名として表示されます。将来のリリースでは、画面のタイトルがより読みやすい名前にフォーマットされるように修正されます。回避策として、ダッシュボードまたはフレームワークからスキャン名を設定することができます。(#1643)
