Axe DevTools Mobile 2024年10月28日リリースノート
2024年10月28日
コンポーネントのバージョン
- iOS SDK (axeDevToolsXCUI v2.12.6)
- iOS Analyzer (axe-devtools-mobile-analyzer v1.4.4)
- iOS Appium Driver (axe-appium-xcuitest-driver v1.0.1)
更新方法: iOS SDK, iOS Analyzer, iOS Appium Driver
修正
appium driver axexcuitest open-wdaコマンドがを支援する形で正常に動作するようになりました- iOS 18でSupports Dynamic Typeが正しく実行されない問題を修正しました。
- 全てのルールにおいて、Needs Review に送られる結果の数を減らすように改善しました。
- 色のコントラストプロパティを簡略化し、精度を向上させました。
- SwiftUI 要素のオフスクリーン検出を改善しました。
既知の問題
以下の問題が発生している場合は、helpdesk@deque.com または support.deque.com にご連絡ください。問題が解決した際や、記載されていない回避策が判明した際に通知いたします。
- Axe DevTools Mobileの自動テストは、ネイティブiOS、ネイティブAndroid、React Nativeアプリケーションで実行されます。技術スタックに応じたアクセシビリティテストソリューションについては、Dequeの担当者にお問い合わせください。
- WebビューやレンダリングされたPDFからいくつかの結果が得られるかもしれませんが、最も包括的なWebアクセシビリティテストのためには、Axe DevTools for WebまたはAxe Monitorを使用することを強くお勧めします。
iOS
AnalyzerプロジェクトでのバンドルIDによるテストのエラー(2.8.1)
バンドル識別子によるアプリケーションのテスト機能がバージョン2.8.1で壊れており、「テスト設定を介して指定されたターゲットアプリケーションパスがありません」というタイトルのエラーが発生しました。エラーを解決するには、2.8.2または最新バージョンにアップデートしてください。 iOS Analyzer プロジェクト内で最新に更新してください。
False Positive: SwiftUIおよびクロスプラットフォームアプリにおけるLabelInNameとLabelAtFront
一部の画面では、誤ったassociatedTextプロパティが見つかったため、LabelInNameおよびLabelAtFrontで誤検知が報告される可能性があります (#1622)
Supports Dynamic TypeルールがiOS 15 Proシュミレータで動作しない
Supports Dynamic Typeルールが動作しないiPhone 15 Proシュミレータに影響する問題があります。Supports Dynamic Typeルールにオプトインしている場合、iPhone 15 Proシュミレータを使用してそれをテストすることはできません。Appleにはバグが報告されています。
ネストされたコントロールに対するルール
ルールの改善について調べていると、XCTestではネストされたコントロールがアクセシビリティツリーに返されないことが分かりました。Appleにはバグが報告されています。 (#1110)
ImageView Name ルールがUIKit アプリでのNeeds Review 結果を報告
UIKitアプリでは、`accessibilityLabel`がない画像はデフォルトで支援技術でフォーカスすることができません。
Appleから使用するフォーカス可能性をチェックするためのプロパティは、画像に`accessibilityIdentifier`が設定されたときに不正確である可能性があります。この予期しない動作のため、UIKitアプリでのImageView Name問題の結果はNeeds Reviewとして報告されます。Appleにはバグレポートが提出されています。 (#1633)
False Positive: スクロールビューでの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
これら二つのルールは、コントロールの可視ラベルを近くの要素間で探してルールのステータスを判断するために見ます。一部のビュー階層では、間違った近くのテキストが検出され、これらのルールが失敗することがあります。 (#1622)
Android
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)
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を使用し続けて次のようなエラーが発生した場合、 (`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)
MAUI: Edit Text Nameルール
Androidエコシステム内でのMAUIアプリアーキテクチャの制限により、SDKバージョン5.5.0以降で失敗が疑われる場合、Edit Text Nameルールはダッシュボードで「要確認」と表示されます。この場合、正しい動作を手動で確認してください。
ネイティブAndroid: カスタムダイアログ/モーダル
ネイティブコントロールを拡張しないカスタムダイアログやモーダルを実装している場合、モーダルの背後にあるビューの結果が得られることがあります。この場合、これらのカスタムモーダルやダイアログに対してツールを実行せず、代わりに手動で確認して、支援技術が期待どおりに動作することを確認することをお勧めします。
ウェブダッシュボード
スクリーンショットが欠けている
スキャン詳細ページにスクリーンショットがない場合、アプリがスクリーンショットの撮影を防止している可能性があります。これは通常、製品アプリケーションでのセキュリティ上の理由からです。Axe DevTools Mobile Dashboard での全機能を利用するために、テストビルドではこの要件を外すことを検討してください。
一部のAndroidスキャン名がフォーマットされていない
デフォルトで画面タイトルになっている一部のAndroidスキャン名が、バンドル識別子を含む完全なクラス名として表示されます。今後のリリースでは、画面タイトルがより読みやすい名前にフォーマットされる予定です。回避策として、ダッシュボードやフレームワークからスキャン名を設定することができます。 (#1643)
