Axe DevTools Mobile 2024年2月28日リリースノート

This page is not available in the language you requested. You have been redirected to the English version of the page.
Link to this page copied to clipboard

2024年2月28日

Not for use with personal data

コンポーネントのバージョン

  • axeDevToolsXCUI v2.9.1
  • axe-devtools-android v5.2.0

新機能

Appiumソリューションの改善

  • Appiumを使用するための改善されたソリューションが2月14日にリリースされました。リリースノートをご覧ください。

Android

  • Axe DevTools Mobileサーバーへの認証のためのconnect()メソッドは、loginWithUsername()またはloginWithApiKey()を推奨する形で廃止されます。APIリファレンス
  • 新しいAPIが利用可能になり、テストタグを使用してJetpack Composeレイアウトの中で特定のコンポーザブルを見つけてスキャンすることができます。画面にJetpack ComposeとXMLレイアウトが混在している場合に便利です。

バグ修正

iOS

  • Active Control Nameルールに関する誤ったネガティブを修正しました。アクセス可能なラベルのないsearchBarTextFieldが誤ってルールを通過していた問題です。
  • テキストフィールドのカーソルが存在する場合のカラコントラストルールでの誤検出を修正しました。テキストフィールドが編集されているように見える場合、「失敗」ではなく「レビューが必要」ステータスに設定されるようにします。

Android

  • モバイルアナライザーがクロスプラットフォームアプリをスキャン中にクラッシュすることがあった問題を修正しました。
  • ユーザーに見えないビューに対して実行されていた、フォーカステキストおよびネストされた要素名ルールの誤検出を修正しました。ビューが画面上に見えていない限り、ルールは実行されなくなります。

既知の問題

以下の問題が発生している場合は、helpdesk@deque.comまたはsupport.deque.comまでご連絡ください。問題が解決した際や、掲載されていない回避策が特定された場合に通知いたします。

important
  • Axe DevTools Mobileの自動テストは、ネイティブiOS、ネイティブAndroid、およびReact Nativeアプリケーションで動作します。あなたの技術スタック上でアクセシビリティテストソリューションが必要な場合は、Dequeの担当者にお問い合わせください。
  • Webビューや表示されたPDFからいくつかの結果を得ることはできますが、Web用の包括的なアクセシビリティテストには、Axe DevTools for WebまたはAxe Monitorを強くお勧めします。

Axe DevTools Mobile for iOS

アナライザプロジェクトとバンドル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でフォーカスできず、フォーカス可能なコントロールがその中にネストされている場合、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()?

`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: 名前にラベル & 前面のラベル

Appiumプラットフォームを通じて利用可能な情報の制約により、React Nativeで構築されたアプリでは名前にラベル & 前面のラベルのルールが実行できないことが判明しました。解決策を検討しており、将来のリリースでの修正を期待しています。

React Native: 過去の画面を表示するビュー階層を検査する

Appiumのページソースプロパティは、スキャン間で更新されるのに時間がかかることがあります。このような場合、ダッシュボードの検査機能を使用するときに前の画面のビュー階層を表示します。修正するには、アクセシビリティスキャンを促すために、ページソースAPIを呼び出す前に短いタイムアウトを追加してください。 例:

			await driver.pause(1000);
    		const result = await driver.getPageSource();