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からいくつかの結果を得ることができますが、Webの包括的なアクセシビリティテストを行うために、axe DevTools for Webまたはaxe Monitorを使用することを強くお勧めします。
iOS向けaxe DevTools Mobile
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のフレームワークのバグにより不適切な結果を報告する場合があります。
Android向けaxe DevTools Mobile
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モバイルダッシュボード
スクリーンショットがありません
スキャン詳細ページにスクリーンショットが表示されない場合、アプリがスクリーンショットの撮影を防いでいる可能性があります。これは主に、本番アプリケーションのセキュリティ上の理由で行われることが多いです。この要件をテストビルドでは削除し、axe DevToolsモバイルダッシュボードでの完全な機能を有効にすることを検討してください。
一部のAndroidスキャン名がフォーマットされていません
画面タイトルにデフォルト設定されている一部のAndroidスキャン名が、バンドル識別子を含む完全なクラス名として表示されます。今後のリリースで、この問題が解決され、画面タイトルがより読みやすい名前にフォーマットされる予定です。対策として、ダッシュボードまたはフレームワークからスキャン名を設定することができます。(#1643)
axe DevToolsモバイル for Appium
誤検出: アクティブビュー名
Appiumプラットフォームを介して利用可能な情報の制限のため、ボタン要素のラベルを提供する際に labeledBy プロパティを使用した場合、アクティブビュー名について誤検出を確認しています。解決策を検討中で、将来的なリリースで修正が期待されます。
React Native: 名前にラベル & 前面にラベル
Appiumプラットフォームを介して利用可能な情報の制限により、React Nativeで構築されたアプリでは名前にラベル & 前面にラベルのルールを適用できないことが確認されています。解決策を検討中で、将来的なリリースで修正が期待されます。
React Native: ビューヒエラルキーが過去の画面を表示
時々、Appiumのページソースプロパティがスキャン間で更新されるのに時間がかかることがあります。この場合、ダッシュボードでインスペクト機能を使用する際に前の画面のビューヒエラルキーが表示されることがあります。これを修正するには、アクセシビリティスキャンを促すためにページソースAPIを呼び出す前に少し待機時間を追加してください。 例:
await driver.pause(1000);
const result = await driver.getPageSource();
