axe DevTools Mobile 2024年5月15日リリースノート
2024年5月15日
コンポーネントバージョン
- axeDevToolsMobile Appiumプラグイン v2.1.0 更新方法: Appiumプラグイン
新機能
Appium
- Appiumプラグインに新しいルールを4つ追加しました: フォーカス可能なテキスト、アクセスできないアクション、意味のあるアクセシブル名、In 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から一部の結果を得ることができますが、Webのための包括的なアクセシビリティテストを行うためには、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 ダッシュボード
スクリーンショットが欠落しています
スキャン詳細ページからスクリーンショットが表示されない場合、アプリがスクリーンショットの撮影を防止している可能性があります。これは通常、本番環境のアプリケーションのセキュリティ上の理由によります。テストビルドでこの要件を削除し、axe DevTools Mobile ダッシュボードの完全な機能を許可することを検討してください。
一部のAndroidスキャン名がフォーマットされていない
Androidスキャン名の一部は、画面タイトルにデフォルト設定されており、バンドル識別子を含むフルクラス名として表示されます。将来のリリースでは、この問題が解決し、画面タイトルがより読みやすい名前にフォーマットされる予定です。回避策として、ダッシュボードやフレームワークからスキャン名を設定できます。(#1643)
axe DevTools Mobile for Appium
誤検出: アクティブビュー名
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();
