Axe DevToolsモバイル 2025年2月20日リリースノート

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月20日

Not for use with personal data

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

  • iOS SDK (axeDevToolsXCUI v2.14.0)
  • iOS Analyzer (axe-devtools-mobile-analyzer v1.4.8)
  • iOS Appium Driver (axe-appium-xcuitest-driver v1.2.0)

更新方法: iOS SDKiOS AnalyzeriOS Appium Driver

新機能

iOS Appium Driver

「無視ルール」機能がiOS Appiumドライバーで利用可能になりました!実装情報については、私たちのAppium用Ignore Rulesドキュメントをご参照ください。アクセシビリティのスキャン実行時に「無視ルール」について詳しく知りたい場合は、私たちのAppiumセットアップドキュメントをご覧ください。

iOS SDK

ネットワークログメッセージをより詳細にしました。以前は、すべての成功ログには200 OKというメッセージしか含まれていませんでした。今後は、DEQUE LOG: 200 OK - User verified. Successfully logged in.などのより詳細なメッセージがコンソールに表示されます。

iOS修正

  • 次のルールの精度が向上しました: 色の対比、関連テキスト、ラベル名、ラベル先頭

既知の問題

以下の問題が発生している場合は、helpdesk@deque.comまたはsupport.deque.comにご連絡ください。問題が解決された際や、掲載されていない対処法が特定された際にはご連絡いたします。

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

iOS

iOS Analyzer 1.4.7で物理デバイスでのスキャンを実行できない

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

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

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

「AxeResultをシリアライズできません」エラー(Analyzerプロジェクト v1.2.0 & SDK v2.12.3)

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

誤って検出される: SwiftUIおよびクロスプラットフォームアプリでのLabelInNameとLabelAtFront

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

iOS 15 Proシミュレータで有効でないSupports Dynamic Typeルール

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

入れ子になったコントロールに対するルール

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

UIKitアプリのImageView名のルール要レビュー結果

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

誤検出:スクロールビュー、名前のラベル、先頭のラベル、およびv2.11.0のImage View名&ActiveControlName

以下の誤検出に対する修正に積極的に取り組んでおり、修正がリリースされ次第、このリストを更新します。

In Scroll View
バナーとして動作する要素内のテキストに関する問題が報告される場合があります。これらの要素をより大きなテキストが必要な方に提供するために、を使用してください。 UILargeContentViewer。(#622)

v2.11.0 Image View Name & Active Control Name
UIImageViewに`accessibilityIdentifier`が設定されていても、VoiceOverがフォーカスしない場合、フォーカス可能なコントロールがその内部にネストされていると、ActiveControlNameで誤検出を報告する可能性があります。`accessibilityIdentifier`を削除すると問題が解決されます。Appleにバグレポートが提出されています。(#1633)

Label In Name and Label At Front
これらの2つのルールは、近くの要素の中でコントロールの見えるラベルを探してルール状態を判断します。一部のビュー階層では、誤った近くのテキストが検出され、これらのルールが失敗する可能性があります。(#1622)

Android

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

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

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

Analyzer App: フローティングアクションボタンが消える

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の完全な機能を解放するには、スクリーンショットを有効にしてください。セキュリティの懸念を避けるために、モックデータを使用したアプリのデバッグまたはテストバージョンでスクリーンショットを有効にすることをお勧めします。「ガイド」をご覧ください。 こちら

`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を使用し続け、`1`つのノードしか見つからないはずなのに`2`つのノードが見つかった、または`AxeDevToolsCompose.setComposeTestRule()`が呼ばれていないなどのエラーが発生した場合は、 Compose setTestTag APIを参照してください。

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

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

MAUI: Edit Text Nameルール

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

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

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

Webダッシュボード

スクリーンショットが欠けている

スキャン詳細ページからスクリーンショットが欠落している場合、アプリがスクリーンショットの撮影を妨げている可能性があります。多くの場合、これは本番アプリケーションのセキュリティ上の理由からです。Axe DevToolsモバイルダッシュボードで完全な機能を利用できるようにするために、テストビルドではこの要件を削除することを検討してください。

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

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