axe DevTools Mobile 2024年11月19日リリースノート
2024年11月19日
コンポーネントのバージョン
- Android SDK(axe-devtools-android v6.0.0)
- Android Analyzer(axe Accessibility Analyzer v1.10.0)
- Android Appium Driver(axe-appium-uiautomator2-driver v1.2.0)
更新方法: Android SDK、 Android Analyzer、 Android Appium Driver
重大な変更
Android SDKがv6.0.0に更新され、2つの重大な変更が加わりました。非アクティブアクセス可能ビューのルールは、v5.6.0でアクセス不能アクションと名前が変更されたため削除されました。また、v5.4.0で非推奨とされた使用サービスのオプトインメソッドも削除され、ユーザーはaxeアカウントポータルから使用サービスの追跡を有効にできるようになりました。
修正
- axe Accessibility Analyzerアプリでの権限フローの効率化
- 「名前に含まれるラベル」、「先頭にあるラベル」、「アクティブビューの名前」、「チェックボックス名」、「ネストされた要素名」および「スイッチ名」のルールの精度向上
既知の問題
以下の問題が発生している場合は、次のアドレスにご連絡ください: 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プロジェクト内で最新のものに更新してください。
誤検知:SwiftUIおよびクロスプラットフォームアプリにおけるLabelInNameとLabelAtFront
一部の画面では、関連付けられたテキストプロパティが正しく見つからないため、LabelInNameとLabelAtFrontが誤検知を報告する場合があります。(#1622)
Dynamic Type対応ルールがiOS 15 Proシミュレータで機能しない
iPhone 15 Proシミュレータに影響を与える問題があり、Dynamic Type対応ルールが実行できません。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
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:カスタムダイアログ/モーダル
ネイティブコントロールを拡張しないカスタムダイアログやモーダルを実装する場合、モーダルの背後にあるビューの結果が得られることがあります。この場合、当社のツールをこれらのカスタムモーダルやダイアログに対して使用せず、手動で確認して、支援技術と望ましい動作をしていることを確かめることをお勧めします。
Webダッシュボード
スクリーンショットが表示されない
スキャン詳細ページにスクリーンショットが表示されない場合、アプリがスクリーンショットの撮影を防いでいる可能性があります。多くの場合、これは本番アプリケーションのセキュリティ理由によるものです。テストビルドでは、この制約を取り除いてaxe DevTools Mobile Dashboardでの完全な機能を許可することを検討してください。
一部のAndroidスキャン名がフォーマットされていない
デフォルトで画面タイトルに設定されている一部のAndroidスキャン名は、バンドル識別子を含む完全なクラス名として表示されます。今後のリリースでは、画面タイトルがより読みやすい名前にフォーマットされるようになります。回避策として、ダッシュボードまたはフレームワークからスキャン名を設定することができます。(#1643)
