Axe DevTools Mobile 2025年12月19日リリースノート

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

Not for use with personal data

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

iOS

  • iOSアナライザデスクトップアプリ(axe-devtools-mobile-desktop-app v1.1.0)

更新方法: Axe DevTools Mobile Analyzer for iOS
iOSアナライザXCodeプロジェクトをまだ使用していますか?: Mobile Analyzer Desktop Appに切り替える

新機能

iOSモバイルアナライザデスクトップアプリ

iOSモバイルアナライザデスクトップアプリを試しましたか?アプリリストに検索機能を追加したので、名前でアプリをフィルターして、アクセスビリティの問題をスキャンしたいアプリをより簡単に見つけることができます。iOSアナライザXcodeプロジェクトをまだ使用している場合は、 Mobile Analyzer Desktop Appへの切り替え方法を確認してください!

修正

  • iOSモバイルアナライザデスクトップアプリのアクセシビリティを確保するための小さな修正

既知の問題

以下の問題が発生した場合は、こちらまでご連絡ください: 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

小さな画面でのグラデーション背景に対するカラコントラストルールの誤検出

小さな画面サイズや小さなフォントサイズでアクセシビリティチェックを実行するとき、カラコントラストルールがグラデーション背景に対して誤検出を報告することがあります。この場合、前景色を決定できず、背景色同士を比較して不一致と判断することがあります。

この問題を回避するために、大きなデバイスでアクセシビリティチェックを実行してみてください。あるいは、これらのビューに対してカラコントラストを手動で調べるために、テストでルールを無視することを検討してください。

不正確な isVisible プロパティ from XCTest

AppleのアクセシビリティAPIが、WKWebView内のウェブコンテンツを「isVisible」と誤って報告することがあります。これは、ウェブビューがネイティブオーバーレイ(モーダルビュー、アラート、その他のネイティブUI要素など)で覆われている場合でも発生します。この問題は、アクセシビリティシステムがWKWebViewコンテナ自体が可視であるかをチェックし、ウェブコンテンツそのものが遮られていないかを確認しないために起きます。

iOS 26のステッパーに関するアクセシビリティバグ

iOS 26には、デフォルトのステッパーボタンがAssistive Technologyによって「ディム」として発表されず、それが有効でないことを示すアクセシビリティバグがあります。その結果、iOSのルールもこれらのボタンを無効であっても有効として見ます。この問題が解決されるまで、次のルールは無効なステッパーボタンに関する結果を報告するかもしれません: AssociatedTextInaccessibleAction、および 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.

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

いくつかの画面では、不正確なassociatedTextプロパティが見つかり、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)

誤検知: スクロールビュー、名前にラベル、先頭にラベル、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 Android 7 (SDK 24-25)で

XMLで記述されたアプリでヒントテキスト機能を利用している場合、 EditTextName ルールで誤検知が発生することがあります。ヒントテキストはAndroid 8(SDK 26)まで導入されませんでした。XMLアプリでこの要素を使用すると、ヒントテキストがテキスト入力フィールドの値に割り当てられます。Androidの新しいバージョンでは、このエクスペリエンスをよりアクセスしやすくすることができます。

この問題を解決するために、最初にお勧めするのはアンドロイドの新しいバージョンを使用して検証を行うことです。ですが、アプリが以前のアンドロイドバージョンでもアクセスできることが重要である場合、 hintText の使用を避けることを検討してください。なぜなら、公式にはサポートされていないからです。

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.

この問題を解決するには、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アプリ:フローティングアクションボタンが消える

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)
このエラーを解決するには、ProGuardファイルに以下の行を追加してaxeDevToolsクラスを保持してください:
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' つありますが、正確に '1' つである必要があります」または「ビューが初期化されていません、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)