axe DevTools Mobile 2024年9月18日リリースノート
2024年9月18日
コンポーネントのバージョン
- iOS SDK (axeDevToolsXCUI v2.12.4)
- iOS アナライザー (axe-devtools-mobile-analyzer v1.4.0)
- iOS Appium ドライバー (axe-appium-xcuitest-driver v1.0.0)
- Android Appium ドライバー (axe-appium-uiautomator2-driver v1.0.0)
更新方法: iOS SDK、 iOS アナライザー
新機能
Appium ドライバー 🎉
業界をリードするAppiumアクセシビリティテストソリューションに向けた2つの新しいAppiumドライバーを発表できることを嬉しく思います。弊社のドライバーは、実績のあるSDKによって支えられており、他のaxe DevTools Mobileコンポーネントと同様に堅牢で高精度な結果を提供します。AppiumドライバーはDequeの利用可能な全てのモバイルルールをカバーしており、 セットアップ はわずか数分で完了します。
axe DevTools Appiumプラグインを現在ご利用中ですか? 移行ガイド を参照して新しいドライバーをお試しください。
修正点
iOS SDK および アナライザー
- 色のコントラストルールの精度に関するいくつかの改善
- 一部のスキャンが失敗する原因となっていたシリアル化のエラーを修正
既知の問題
以下の問題が発生している場合は、 helpdesk@deque.com または support.deque.comまでご連絡ください。問題が解決した際や、記載されていない回避策が見つかった場合に通知できます。
- axe DevTools Mobile自動テストは、ネイティブiOS、ネイティブAndroid、React Nativeアプリケーションで実行されます。技術スタックに合わせたアクセシビリティテストソリューションについては、Dequeの担当者にお問い合わせください。
- WebビューやレンダリングされたPDFからある程度の結果を得ることができますが、Webの包括的なアクセシビリティテストには、axe DevTools for Webまたはaxe Monitorを使用することを強くお勧めします。
iOS
アナライザープロジェクトにおけるエラーと2.8.1でのバンドルIDによるテスト
バンドル識別子によるアプリケーションのテスト機能がバージョン2.8.1で壊れており、「テスト構成で指定されたターゲットアプリケーションパスがありません:...」というエラーが発生していました。このエラーを解決するには、2.8.2または最新バージョンに更新してください。 iOSアナライザープロジェクトで最新バージョンに更新します。
SwiftUIとクロスプラットフォームアプリでのラベルインネームおよびラベルアットフロントの誤検出
一部の画面で、#1622 に基づいて関連する間違ったテキストプロパティが発見され、ラベルインネームおよびラベルアットフロントで誤検出される可能性があります
iOS 15 Proシミュレータで動作しないダイナミックタイプルールのサポート
iPhone 15 Proシミュレータに影響を与える問題があり、ダイナミックタイプルールのサポートが実行されません。ダイナミックタイプルールを利用中の場合、iPhone 15 Proシミュレータでテストすることができません。Appleにバグ報告がされています。
ネスト化されたコントロールに対するルール
ルール改善を検討する中で、XCTestではネスト化されたコントロールがアクセシビリティツリーに表示されないことがわかりました。Appleにバグ報告がされています。 (#1110)
UIKitアプリでのImageView Nameルールのレビュー結果が必要
UIKitアプリでは、`accessibilityLabel`が設定されていない画像はデフォルトで支援技術によってフォーカスされません。
画像に`accessibilityIdentifier`が設定されている場合、Appleから取得したフォーカス可能性をチェックするためのプロパティが不正確である可能性があります。この予期せぬ動作のため、UIKitアプリでのImageView Name問題の結果はレビューが必要とされます。Appleにバグ報告がされています。 (#1633)
スクロールビュー内のラベルインネーム、ラベルアットフロント、v2.11.0画像ビュー名とアクティブコントロール名の誤検出
これらの誤検出に対応するために、修正作業を進めており、修正がリリースされ次第このリストを更新します。
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
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()?
`1` ノードが正確に期待されたが、`2` ノードが見つかりました。条件: (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)
