axe DevTools Mobile 2024年10月8日リリースノート
2024年10月8日
コンポーネントバージョン
- Android SDK (axe-devtools-android v5.6.0)
- Android アナライザー (axe Accessibility Analyzer v1.9.0)
- Android Appium ドライバー (axe-appium-uiautomator2-driver v1.1.0)
更新方法: Android SDK、 Android アナライザー Android Appium ドライバー
新機能
アクセシブルアクションルール
非アクティブアクセス可能ビューを、iOSのルール名に合わせてアクセシブルアクションに名前を変更しました。このルールを実験的とすることに決め、両プラットフォームでの結果の精度を向上させることを目指しています。
修正
- 次のルールのパフォーマンスと精度を向上させるための更新: 色のコントラスト、タッチターゲットサイズ、名前にラベル、前面のラベル、編集テキストの名前、入れ子になったアクティブコントロール
- デバッグのために、タッチターゲットスペーシングルールの分析値に重なっているビューのクラス名を追加
- 結果の説明をより詳しくし、アクセシブルアクションおよび前面のラベルルールの問題を修正するための改良されたガイダンスを提供
- アクセシビリティサービスの安定性と信頼性を向上させました。アプリを使用するたびに許可を再度求めることはなくなります
- ダッシュボードへの結果アップロードのためのネットワークリクエストを最適化
- Appium ドライバーでの認証エラーメッセージ処理を改善
非推奨項目
大きな検討の末、Android向けaxe DevToolsの効率的な実装に向けて、XMLおよびCompose APIが将来的に廃止されることになります。この移行は一晩では完了しませんが、 非レイアウト依存のAPI への徐々の移行をお客様にお勧めしています。これにより最新の更新が継続的にサポートされます。
既知の問題
以下の問題に遭遇した場合は、 helpdesk@deque.com または support.deque.comにご連絡ください。問題が解決した際や、利用可能な回避策が見つかった場合に通知いたします。
- axe DevTools Mobileの自動テストは、ネイティブiOS、ネイティブAndroid、およびReact Nativeアプリで動作します。技術スタックに合わせたアクセシビリティテストのソリューションについては、Dequeの担当者にお問い合わせください。
- WebビューまたはレンダリングされたPDFからいくつかの結果が得られる場合がありますが、ウェブの包括的なアクセシビリティテストを行うために、axe DevTools for Webやaxe Monitorを使用することを強くお勧めします。
iOS
AnalyzerプロジェクトとバンドルIDによるテストでのエラー(v2.8.1)
バンドル識別子によるアプリケーションのテストの機能がバージョン2.8.1で壊れており、「テスト構成を介して指定された対象アプリケーションパスがありません…」というエラーが発生しました。エラーを解決するために、2.8.2以上に更新してください。 iOS Analyzerプロジェクト内で最新バージョンに更新してください。
SwiftUI & クロスプラットフォームアプリでの誤検知: ラベルインネームと前面のラベル
一部の画面では、関連付けられているテキストプロパティの誤検出により、ラベルインネームや前面のラベルについての誤検知が報告される可能性があります(#1622)
iOS 15 Proシミュレータで動作しないダイナミックタイプサポートルール
iPhone 15 Proシミュレータに影響を及ぼす問題があり、ダイナミックタイプサポートルールを実行できません。ダイナミックタイプサポートルールに登録されている場合、iPhone 15 Proシミュレータを使用してテストできません。Appleにバグ報告が送信されています。
ネストされたコントロールに対するルール
ルール改善の検討中に、XCTestではネストされたコントロールがアクセシビリティツリーに返されないことが判明しました。この問題については、Appleにバグ報告が送信されています。(#1110)
UIKitアプリでのImageView名ルール評価結果が要確認として報告される
UIKitアプリでは、`accessibilityLabel`がない画像はデフォルトでは支援技術でフォーカスできません。
Appleから使用するプロパティが、画像に`accessibilityIdentifier`が設定されている場合に不正確である可能性があります。この予期しない動作のため、UIKitアプリでのImageView Name問題の結果は要確認として報告されます。Appleにバグ報告が送信されています。(#1633)
誤検知: スクロールビュー、ラベルインネーム、前面のラベル、および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
アナライザーアプリ:フローティングアクションボタンが消える
API 31(Android 12)で導入された、非システムオーバーレイを非表示にする機能を利用できるようになっています。axeアナライザーアプリを使用するには、この設定がオンになっていないことを確認してください。この機能をセキュリティ強化のために使用することを選択した場合、内部テストビルドでは、この機能をオフにし、テスト用データを安全に使用してセキュリティの懸念を排除することをお勧めします。 Note: this setting does not affect Google's accessibility scanner app as it's considered a system overlay.
axeアクセシビリティアナライザーアプリを利用するには、影響を受けたアクティビティウィンドウでメソッドへの呼び出しを更新してください。 setHideOverlayWindows(true) に setHideOverlayWindows(false) 。
ダッシュボードでスクリーンショットが見つからない(ブラックボックス)
モバイル用axe DevToolsの完全な機能を解放するには、スクリーンショットを有効にしてください。セキュリティの懸念を避けるために、モックデータを使用するデバッグまたはテスト版のアプリでスクリーンショットを有効にすることをお勧めします。ガイドをチェックアウトしてください: 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を使用し続け、「期待されるノードは '1' つですが、'2' つのノードが見つかりました(isRootに一致)」や「Viewが初期化されていません。AxeDevToolsCompose.setComposeTestRule()を呼び出しましたか?」のようなエラーが発生した場合、 Compose setTestTag APIを参照してください。
ログメッセージ:MlKitContext has not been initialized
このメッセージに遭遇した場合、一部のルールの結果が期待通りに返されない可能性があります。該当するルールには、色のコントラスト、フォーカス可能なテキスト、ネストされた要素名があります。(#841)
MAUI: テキスト編集名規則
AndroidエコシステムでのMAUIアプリアーキテクチャの制限により、SDKバージョン5.5.0以降では障害が疑われる場合、テキスト編集名規則がダッシュボードで要確認として表示されます。このケースは手動で正しい動作を確認してください。
ネイティブAndroid: カスタムダイアログ/モーダル
カスタムダイアログやモーダルを実装していて、ネイティブコントロールを拡張していない場合、モーダルの背後にあるビューの結果が得られることがあります。この場合、これらのカスタムモーダルやダイアログに対してツールを実行せず、手動で確認して、支援技術が望まれるように動作することを確認することをお勧めします。
Webダッシュボード
スクリーンショットが見つかりません
スキャン詳細ページにスクリーンショットがない場合、アプリがスクリーンショットの撮影を防いでいる可能性があります。これは通常、製品版アプリケーションにおけるセキュリティの理由からです。テストビルドのためにこの要件を削除し、axe DevToolsモバイルダッシュボードの完全な機能を許可することを検討してください。
一部のAndroidスキャン名がフォーマットされていない
画面タイトルにデフォルト設定された一部のAndroidスキャン名は、バンドル識別子を含むクラス名全体として表示されます。将来のリリースでは、画面タイトルがより読みやすい名前にフォーマットされるようになります。対策としては、ダッシュボードまたはフレームワークからスキャン名を設定することができます。(#1643)
