axe DevTools Mobile 2025年1月16日リリースノート
2025年1月16日
コンポーネントのバージョン
- iOS SDK(axeDevToolsXCUI v2.13.0)
- iOS Analyzer(axe-devtools-mobile-analyzer v1.4.5)
- iOS Appium Driver(axe-appium-xcuitest-driver v1.1.0)
更新方法: iOS SDK、 iOS Analyzer、 iOS Appium Driver
修正点
- 次のルールのパフォーマンスと精度を向上: Associated Text、Color Contrast、Conflicting Traits、Inaccessible Action、In Scroll View、Label In Name、Label At Front、Nested Elements Name
- 最小サポートiOSバージョンはiOS 16になりました
- Ignore Rules機能での問題を修正、特に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で壊れて、「No target application path specified via test configuration: ...」というエラーが発生しました。このエラーを解決するには、2.8.2以降に更新してください。 iOS Analyzerプロジェクト内で最新バージョンに更新してください。
誤検出: 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)
UIKitアプリでのImageView Nameルールのレビュー結果が必要
UIKitアプリでは、`accessibilityLabel`がない画像はデフォルトで支援技術でフォーカスできません。
私たちが使用するAppleからのフォーカス可能性をチェックするプロパティは、画像に`accessibilityIdentifier`が設定されていると不正確になる可能性があります。この予期しない動作のため、UIKitアプリでのImageView Name問題の結果はレビューが必要と報告されます。Appleにバグが報告されています。(#1633)
誤検出: スクロールビュー、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
これらの2つのルールは、ルールステータスを判断するために近隣の要素の中にあるコントロールの可視ラベルを探します。一部のビュー階層では、誤った近接テキストが検出され、これらのルールが失敗することがあります。(#1622)
Android
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アプリ: フローティングアクションボタンが消える
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を使用してください: レイアウトに依存しないAPI で更新を受け続けてください。Compose APIを使用し続け、「期待されるノードは '1' つだけですが、条件に合致するノード '2' つが見つかりました」というエラーや「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: カスタムダイアログ/モーダル
ネイティブコントロールを拡張していないカスタムダイアログまたはモーダルを実装する際、モーダルの背後にあるビューの結果が得られることがあります。この場合、カスタムモーダルまたはダイアログに対してツールを実行せず、補助技術と意図した通りに動作することを保証するため、手動で確認することをお勧めします。
Webダッシュボード
スクリーンショットが欠落している
スキャン詳細ページにスクリーンショットがない場合、アプリがスクリーンショットの撮影を妨げている可能性があります。これの原因は、しばしばセキュリティの理由で、プロダクションアプリケーション内でスクリーンショットの撮影が阻止されるためです。axe DevTools Mobile Dashboardで完全な機能を利用するために、テスト用ビルドではこの要件を削除することを検討してください。
一部のAndroidスキャン名が未フォーマット
デフォルトで画面のタイトルが設定されている一部のAndroidスキャン名は、バンドル識別子を含む完全なクラス名として表示されます。今後のリリースでは、画面のタイトルがより読みやすい名前にフォーマットされるように解決されます。回避策として、ダッシュボードまたはフレームワークからスキャン名を設定することができます。(#1643)
