Axe DevTools Mobile 2024年5月15日リリースノート
2024年5月15日
コンポーネントバージョン
- axeDevToolsMobile Appiumプラグイン v2.1.0 更新方法: Appiumプラグイン
新機能
Appium
- Appiumプラグインに次の4つの新しいルールを追加しました: フォーカス可能なテキスト、アクセス不能なアクション、有意義なアクセシブルネーム、そしてScrollView内。Appiumルール
- アクセシビリティスキャンを開始する前にスキャン名とタグを設定するオプションを追加しました。Appiumセットアップ Appium自動化例
- Androidでは、ルールはボタンだけでなく全てのクリック可能なビューで実行されるようになり、Jetpack Composeで構築されたアプリのテストサポートも導入しました。
修正
Appium
- React NativeアプリのLabel in NameおよびLabel at Frontルールをスキャンする際の誤検出を修正しました。
既知の問題
以下の問題が発生した場合は、helpdesk@deque.comまたはsupport.deque.comにご連絡ください。問題が解決した際や、記載されていない回避方法が発見された際にお知らせいたします。
- Axe DevTools Mobileの自動テストは、ネイティブiOS、ネイティブAndroid、そしてReact Nativeアプリケーションで実行されます。ご使用の技術スタックでのアクセシビリティテストソリューションについては、Dequeの担当者にお問い合わせください。
- WebビューやレンダリングされたPDFからもいくつかの結果を得ることができますが、ウェブの包括的なアクセシビリティテストを行うために、Axe DevTools for Web または Axe Monitorを使用することを強くお勧めします。
iOS用Axe DevTools Mobile
アナライザープロジェクトのエラー & バンドルIDによるテストでの障害(2.8.1)
バンドル識別子でアプリケーションをテストする機能がバージョン2.8.1で壊れており、"No target application path specified via test configuration: ..."というタイトルのエラーが発生しました。2.8.2または最新バージョンに更新してエラーを解決してください。 iOSアナライザープロジェクト内で最新のバージョンに更新する。
オフスクリーンのビューがiOS 17でテストされたSwiftUIアプリに対して結果を表示することがある
バージョン 2.8.0 (リリースノートを見る)では、オフスクリーンまたは別のビューによって非表示になっているビューを含む、表示されていないビューの結果は報告されなくなりました。iOS 17でテストされたSwiftUIアプリケーションでは、いくつかの結果が依然として表示されることが確認されています。 (#1383)
iOS 15 Proシミュレータで動作しないダイナミックタイプルールのサポート
iPhone 15 Proシミュレータに影響を与える問題があり、ダイナミックタイプルールのサポートを実行できません。ダイナミックタイプルールのサポートにオプトインしている場合、iPhone 15 Proシミュレータを使用してテストすることはできません。Appleにバグが報告されています。
ネストされたコントロールに対するルール
ルールの改善を検討している中で、XCTestでネストされたコントロールがアクセシビリティツリーに返却されないことが判明しました。Appleにバグが報告されています。 (#1110)
偽陽性: スクロールビュー内、ActiveControlName
次の偽陽性に対する修正に積極的に取り組んでおり、修正がリリースされ次第このリストを更新します。
In Scroll View
バナーのように振る舞う要素内のテキストに関する問題を報告することがあります。これらの要素をより大きいテキストを必要とする者に提供するために、 UILargeContentViewerを使用してください。 (#622)
ActiveControlName
UIImageViewが`accessibilityIdentifier`を設定されているがVoiceOverでフォーカスできない場合、ImageViewNameがUIImageViewに対して偽陽性を報告することがあります。`accessibilityIdentifier`を削除すると問題が解決されます。Appleにバグが報告されています。 (#1226)
偽陰性: 画像ビュー名、iOS 13からiOS 14.8.1でのフォーカス可能なテキスト
次の偽陰性に対する修正に積極的に取り組んでおり、修正がリリースされ次第このリストを更新します。
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)
または: No View initialized, did you call AxeDevToolsCompose.setComposeTestRule()?
`Expected exactly '1' node but found '2' nodes that satisfy: (isRoot)` または `No View initialized, did you call AxeDevToolsCompose.setComposeTestRule()?` といったエラーに遭遇した場合、 Compose setTestTag APIを参照してください。
Axe DevTools Mobile ダッシュボード
スクリーンショットが欠落しています
スキャン詳細ページにスクリーンショットが欠落している場合、アプリがスクリーンショットを撮るのを防いでいる可能性があります。これは通常、製品版アプリケーションでのセキュリティ理由によるものです。テストビルドでの完全な機能を許可するために、この要件を削除することを検討してください。
一部のAndroidスキャン名がフォーマットされていない
Androidスキャン名の一部は、画面タイトルにデフォルト設定されており、バンドル識別子を含むフルクラス名として表示されます。将来のリリースでは、この問題が解決し、画面タイトルがより読みやすい名前にフォーマットされる予定です。回避策として、ダッシュボードやフレームワークからスキャン名を設定できます。(#1643)
Appium用Axe DevTools Mobile
誤検出: アクティブビュー名
Appiumプラットフォームで利用可能な情報の制限により、アクティブビュー名が誤って検出されることを確認しました。 labeledBy ボタン要素にラベルを提供するプロパティです。解決策を模索しており、将来のリリースで修正を期待しています。
React Native & .NET MAUI: Label In Name & Label At Front
Appiumプラットフォームで利用可能な情報の制限により、React Nativeで構築されたアプリに対してLabel In Name & Label At Frontルールを実行できないことが判明しました。解決策を模索しており、将来のリリースで修正を期待しています。
React Native: ビュー階層に過去の画面が表示される
Appiumのページソースプロパティがスキャン間で情報が更新されるのに時間がかかることがあります。この場合、ダッシュボードでインスペクト機能を使用すると、以前の画面のビュー階層が表示されます。これを修正するには、アクセシビリティスキャンを促進するために、ページソースAPIを呼び出す前に短いタイムアウトを追加してください。 例:
await driver.pause(1000);
const result = await driver.getPageSource();
