axe DevTools Mobile 2024年3月27日リリースノート
2024年3月27日
コンポーネントバージョン
- axe-devtools-android v5.3.0
- axeDevToolsMobile Appiumプラグイン v2.0.0
新機能について
Appium
- 重大な変更 - ユーザーからのフィードバックに基づき、Appiumプラグインをより使いやすくするために以下の変更を行いました。
- Appiumドライバーの
page sourceメソッドを使用してアクセシビリティスキャンを開始する必要がなくなりました。代わりに、ドライバーのexecute script機能を使用してください。これにより、Appiumテストでpage sourceメソッドを他の目的で自由に使用することができます。ご注意: 私たちのスクリプトを実行すると、ページソースは自動的に取得されます。テスト中にすでにページソースを取得している場合は、スクリプトを実行する際に渡すことで二重に取得することを避けてください。 - のための能力を設定する必要がなくなりました。
key代わりに、APIキーをスクリプトに渡してください。 - こちらをご覧ください: v1.0.0からv2.0.0への移行ガイド
- 始め方は? セットアップ手順と例についてはAppiumのドキュメントをご覧ください。
- Appiumドライバーの
バグ修正
Android
- 自動テストの結果をローカルに保存する際、Gradleバージョン8以上で動作しない問題を修正しました。
既知の問題
以下の問題が発生している場合は、次のメールアドレスにご連絡ください: 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
アナライザープロジェクトとバンドルIDによるテストのエラー 2.8.1
バージョン2.8.1では、バンドル識別子によるアプリケーションのテスト機能が壊れており、「テストの設定で指定されたターゲットアプリケーションパスがありません: ...」というエラーが発生します。2.8.2または最新バージョンにアップデートしてエラーを解決してください。 iOSアナライザープロジェクト内で最新のものに更新
オフスクリーンのビューがiOS 17でテストしたSwiftUIアプリに対して結果を表示する可能性
バージョン 2.8.0(リリースノートを見る)では、オフスクリーンや他のビューに隠されたビューを含め、視覚に見えないビューでは結果が報告されなくなりました。ただし、iOS 17でテストしているSwiftUIアプリケーションでは、一部の結果がまだ表示されることが判明しました。(#1383)
iOS 15 ProシミュレーターでDynamic Typeのルールが機能しない
iPhone 15 Proシミュレーターに影響する問題があり、Dynamic Typeのルールが実行されません。Dynamic Typeのルールにオプトインしている場合は、iPhone 15 Proシミュレーターを使用してテストすることができません。Appleにはバグが報告されています。
ネストされたコントロールに対するルール
ルールの改善を検討する中で、XCTestではネストされたコントロールがアクセシビリティツリーに返されないことが判明しました。Appleにはバグが報告されています。(#1110)
誤検知: スクロールビュー内、ActiveControlName
以下の誤検知に対する修正に積極的に取り組んでおり、修正がリリースされ次第、このリストを更新します。
In Scroll View
バナーとして振る舞う要素内のテキストに対して問題を報告することがあります。これらの要素をより大きなテキストが必要な方に利用可能にするには、次を使用してください UILargeContentViewer。(#622)
ActiveControlName
UIImageViewが`accessibilityIdentifier`を設定されているがVoiceOverでフォーカス不可能であり、かつその中にフォーカス可能なコントロールがネストされている場合、ActiveControlNameがUIImageViewに対して誤検知を報告する可能性があります。`accessibilityIdentifier`を削除すると問題が解決されます。Appleにはバグが報告されています。(#1226)
誤否定: イメージビューの名前、iOS 13からiOS 14.8.1のフォーカステキスト
以下の誤否定に対する修正に積極的に取り組んでおり、修正がリリースされ次第、このリストを更新します。
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)
または: No View initialized, did you call AxeDevToolsCompose.setComposeTestRule()?
`1`ノードが期待される場所で`2`ノードが見つかったか、または`AxeDevToolsCompose.setComposeTestRule()`を呼び出しましたか?という内容のエラーが発生した場合は、 Compose setTestTag APIを参照してください。
axe DevTools Mobile Dashboard
スクリーンショットが欠落している
スキャン詳細ページにスクリーンショットが表示されない場合、アプリがスクリーンショットの撮影を防いでいる可能性があります。これは、通常、プロダクションアプリケーションのセキュリティ上の理由によるものです。axe DevTools Mobile Dashboardでの完全な機能を許可するために、テストビルドでこの要件を削除することを検討してください。
一部のAndroidスキャン名が未フォーマット
画面タイトルがデフォルトに設定されている一部のAndroidスキャン名は、バンドル識別子を含むクラス名全体として表示されます。次期リリースで、画面タイトルがより読みやすい名前にフォーマットされるように解決される予定です。代替策として、ダッシュボードやフレームワークからスキャン名を設定できます。(#1643)
axe DevTools Mobile for Appium
誤検出: アクティブビュー名
Appiumプラットフォーム経由で利用可能な情報の限界から、ボタン要素にラベルを提供するための labeledBy プロパティを使用する際にアクティブビュー名の誤検出を特定しました。解決策を検討しており、次期リリースでの修正を期待しています。
React Native & .NET MAUI: 名前にラベルと先頭にラベル
Appiumプラットフォーム経由で取得可能な情報の限界から、React Nativeで構築されたアプリのラベル名にラベルと先頭にラベルのルールが実行できません。解決策を検討しており、次期リリースでの修正を期待しています。
React Native: ビューヒエラルキーに過去画面が表示
時々、Appiumのページソースプロパティがスキャン間で更新されるのに余分な時間を要することがあります。これが発生すると、ダッシュボードのインスペクト機能を使用した際に前の画面のビューヒエラルキーが表示されます。解決するには、ページソースAPIを呼び出す前に小さなタイムアウトを追加して、アクセシビリティスキャンを促してください。 例:
await driver.pause(1000);
const result = await driver.getPageSource();
