Axe DevTools Mobile 2024年2月14日リリースノート
2024年2月14日
コンポーネントバージョン
- axeDevToolsMobile Appiumプラグイン v1.0
新機能について
Appiumソリューションの改善
- モバイルアプリでのアクセシビリティテストをAppiumを使って行うための改善されたソリューションを発表できることを嬉しく思います。これまで、Axe DevTools MobileはネイティブのiOSまたはAndroidアプリでのAppiumテストをサポートしており、アプリにAxeコードを組み込む必要がありました。今では、ネイティブまたはクロスプラットフォームのいずれのアプリでもテストできるAppiumプラグインを提供しています。テストスクリプトに使用するAppiumクライアントを自由に選択でき、アプリにDequeコードを組み込む必要はありません。インストールして始めるのも簡単です。Appiumを使用して始める
- プラグインの初期リリースでは、WCAG基準に基づいた5つのルールをカバーしています。今後数ヶ月でルールセットを強化していきます。Appiumルール
- すでにモバイルアクセシビリティテストにおいて、当社の元々のAppium機能を利用している場合は、今のところそのまま使用を続けることができます。ルールセットが完成した際には、新しいAppiumプラグインへの移行を予定しています。今後のアップデートをお待ちください。
既知の問題
以下の問題が発生している場合は、helpdesk@deque.comまたはsupport.deque.comまでご連絡ください。問題が解決した際、または記載されていない回避策が見つかった際にご通知いたします。
- Axe DevTools Mobileの自動テストは、ネイティブiOS、ネイティブAndroid、およびReact Nativeアプリケーションで実行されます。ご使用の技術スタックでのアクセシビリティテストソリューションについては、Deque担当者までお問い合わせください。
- WebビューまたはレンダリングされたPDFから多少の結果を得られるかもしれませんが、ウェブの最も包括的なアクセシビリティテストのため、Axe DevTools for WebまたはAxe Monitorの使用を強くお勧めします。
Axe DevTools Mobile for iOS
AnalyzerプロジェクトでのエラーとバンドルIDによるテスト(バージョン2.8.1)
バンドルIDでアプリケーションをテストする機能はバージョン2.8.1で壊れており、「テスト構成:…で指定されたターゲットアプリケーションパスがありません」というタイトルのエラーが発生しました。このエラーを解決するには、バージョン2.8.2または最新バージョンに更新してください。 iOS Analyzerプロジェクトの最新バージョンに更新する。
オフスクリーンのビューがiOS 17のSwiftUIアプリで結果を表示する可能性があります
バージョン 2.8.0 (リリースノートを見る)、結果は見えないビュー、たとえばオフスクリーンや他のビューに隠されたビューには報告されなくなりました。iOS 17でテストされているSwiftUIアプリケーションで、いくつかの結果がまだ表示されることが判明しています。(#1383)
Dynamic Type対応ルールがiOS 15 Proシミュレータで動作しない
iPhone 15 Proシミュレータに影響を与える問題があり、これがDynamic Type対応ルールの実行を妨げています。Dynamic Type対応ルールにオプトインしている場合、iPhone 15 Proシミュレータを使用してテストを行うことはできません。Appleにバグが報告されています。
ネストされたコントロールに対するルール
ルールの改善を検討している際、XCTestではアクセスビリティツリーにネストされたコントロールが返されないことが判明しました。Appleにバグが報告されています。(#1110)
誤検知:スクロールビューでのActiveControlName
以下の誤検知修正の作業を積極的に進めており、修正がリリースされ次第、このリストを更新していきます。
In Scroll View
バナー動作をする要素内のテキストに対して問題を報告する場合があります。これらの要素を大きなテキストを必要とするユーザーが利用できるようにするには、 UILargeContentViewer。(#622)
ActiveControlName
UIImageViewに`accessibilityIdentifier`が設定されているがVoiceOverによってフォーカスされない場合、内部にフォーカス可能なコントロールがネストされている場合、UIImageViewに対してActiveControlNameが誤検知を報告するかもしれません。`accessibilityIdentifier`を削除すると問題が解決されます。Appleにバグが報告されています。(#1226)
誤検出(否定):iOS 13からiOS 14.8.1のImageViewName、フォーカステキスト
以下の誤検出修正の作業を積極的に進めており、修正がリリースされ次第、このリストを更新していきます。
Image View Name
UIImageViewに`accessibilityIdentifier`が設定されているがVoiceOverによってフォーカスされない場合、ImageViewNameがUIImageViewに対して誤検出を報告するかもしれません。`accessibilityIdentifier`を削除すると問題が解決されます。Appleにバグが報告されています。(#1226)
Focusable Text
アクセシビリティ要素としてマークされていない要素が、Appleのフレームワークのバグにより不適切な結果を報告する場合があります。
Axe DevTools Mobile for Android
Proguardを使用している際のクラッシュ
デバッグまたはテストビルドにProguardを使用している場合、 Proguard設定でDequeを無視する手順に従ってください。
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)
`Expected exactly '1' node but found '2' nodes that satisfy: (isRoot)` のようなエラーに遭遇した場合は、次のアドレスまでご連絡ください。 helpdesk@deque.com または support.deque.com にお問い合わせください。特定の条件下では、同時に2つのComposeルートノードが存在する場合があります。
Axe DevTools Mobile ダッシュボード
スクリーンショットがありません
スキャン詳細ページにスクリーンショットが表示されない場合、アプリがスクリーンショットの取得を妨げている可能性があります。これはしばしば、本番アプリケーションでのセキュリティ上の理由によるものです。テストビルドでの完全な機能が利用できるよう、この要件を解除することを検討してください。
一部のAndroidスキャン名がフォーマットされていません
画面タイトルにデフォルト設定されている一部のAndroidスキャン名が、バンドル識別子を含む完全なクラス名として表示されます。今後のリリースで、この問題が解決され、画面タイトルがより読みやすい名前にフォーマットされる予定です。対策として、ダッシュボードまたはフレームワークからスキャン名を設定することができます。(#1643)
Axe DevTools Mobile for Appium
誤検出: アクティブビュー名
Appiumプラットフォームを介して利用可能な情報の制限のため、ボタン要素のラベルを提供する際に labeledBy プロパティを使用した場合、アクティブビュー名について誤検出を確認しています。解決策を検討中で、将来的なリリースで修正が期待されます。
React Native: 名前にラベル & 前面にラベル
Appiumプラットフォームを介して利用可能な情報の制限により、React Nativeで構築されたアプリでは名前にラベル & 前面にラベルのルールを適用できないことが確認されています。解決策を検討中で、将来的なリリースで修正が期待されます。
React Native: ビューヒエラルキーが過去の画面を表示
時々、Appiumのページソースプロパティがスキャン間で更新されるのに時間がかかることがあります。この場合、ダッシュボードでインスペクト機能を使用する際に前の画面のビューヒエラルキーが表示されることがあります。これを修正するには、アクセシビリティスキャンを促すためにページソースAPIを呼び出す前に少し待機時間を追加してください。 例:
await driver.pause(1000);
const result = await driver.getPageSource();
