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コマンドは、Appium XCUITestドライバーの実機設定に役立つように正しく動作するようになりました。 - iOS 18でSupports Dynamic Typeが正しく実行されない問題を修正しました。
- 全てのルールにおいて、Needs Review に送られる結果の数を減らすように改善しました。
- 色のコントラストプロパティを簡略化し、精度を向上させました。
- SwiftUI 要素のオフスクリーン検出を改善しました。
既知の問題
以下の問題のいずれかに直面した場合は、 helpdesk@deque.com または support.deque.comにご連絡ください。問題が解決した際や、リストされている解決策がない場合に、ワークアラウンドを通知できるようにします。
- axe DevTools Mobile の自動テストは、ネイティブiOS、ネイティブAndroid、およびReact Nativeアプリケーションで動作します。お客様の技術スタックに合わせたアクセシビリティテストのソリューションについては、Dequeの担当者にお問い合わせください。
- ウェブビューや表示されたPDFからもいくつかの結果を得ることができますが、ウェブの包括的なアクセシビリティテストには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)
