Axe DevTools Mobile 2023年8月30日リリースノート

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

2023年8月30日

Not for use with personal data

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

  • axeDevToolsXCUI v2.7.0
  • axe-devtools-android v4.1.0
  • Axe DevTools Reporter CLI v4.7.0

新機能

WCAG 2.2は現在、提案勧告のステータスです。WCAG 2.2ルール「Touch Target Spacing」の結果は、WCAG 2.2が勧告ステータスに達するまで実験的とマークされます。つまり、このルールの結果は、今後、実験的なヘッディングの下でFail、Pass、Needs Reviewの結果数に表示されます。(このルールは以前、Ignoredカウントに表示されていました。)実験的なルールを無効にすることもできます。実験的なルールについて詳しく学んでください。

Android

  • 自動化UIテスト(EspressoやUI Automator)で、ビューIDリソース名を使用してルールを無視できるようになりました。Instrumentation Registryに渡す際に、ルールを無視するために使用します。

iOS

Reporter CLI

  • レポートをHTMLに加えて、CSVおよびJUnit XMLで保存できるようになりました。Axe DevTools Reporter CLIについて詳しく学んでください。

バグ修正

iOS

  • コントロールが無効化されている場合の結果の精度を向上しました。
  • 「色のコントラスト」ルールを更新し、モーダルの背後の薄暗いビューで実行されないことを保証しました。
  • スキャン名とタグの更新呼び出しを1つのネットワークリクエストに統合し、パフォーマンスを向上しました。

Android

  • UI Automatorテストでは、スクリーンショットが古くならないように、スキャン前にウィンドウアップデートが完了するのを待つようになりました。
  • Composeの「Edit Text Name」ルールの誤判定を修正しました。Compose TextFieldにラベルが含まれる場合、このルールは失敗を報告しなくなります。
  • 「Edit Text Value」ルールをすべてのCompose TextFieldエレメントで実行されるように修正しました。
  • 「タッチターゲット間隔」ルールの計算問題を修正しました。

ダッシュボード

  • 前回のリリースで、スキャン内の問題の順序が変更される原因となった問題を解決しました。

更新

リマインダー:2023年8月16日より、iOSアプリの自動テスト用のUIKitフレームワークの更新を停止しました。当面の間、このフレームワークを提供し続けますが、バグ修正や更新は行いません。今後、新しいルールや改善を含む更新が行われるXCUIフレームワークへの切り替えをお勧めします。現在UIKitフレームワークを使用して自動ユニットテストやUIテストを行っており、XCUIフレームワークへの移行のサポートを希望する場合はお知らせください。support.deque.comにリクエストを提出するか、helpdesk@deque.comにメールを送信してください。

既知の問題

以下の問題のいずれかに直面している場合は、helpdesk@deque.comまたはsupport.deque.comにご連絡ください。解決次第または記載されていない場合の代替策を特定次第、お知らせできるようになります。

important
  • Axe DevTools Mobileの自動テストは、ネイティブiOS、ネイティブAndroid、およびReact Nativeアプリで実行されます。技術スタックに合わせたアクセシビリティテストソリューションについては、お使いのDeque担当者にお問い合わせください。
  • 正確な結果と適用可能な修正アドバイスを得られるようにするために、Axe DevTools Mobileのルールは、ウェブビューやレンダリングされたPDFでは実行されません。HTMLコンテンツをテストするには、Axe DevTools for Webをご利用ください。Axe Monitorは、PDFのアクセシビリティをスキャンをサポートしています。

iOS用Axe DevTools Mobile

axeDevToolsUIKit.xcframework

SwiftUIで構築されたビューは、このフレームワークを使用して自動テストを行うことはできません。

SwiftUIビューのUITestingにはaxeDevToolsXCUIフレームワークを使用してください。

カスタムルールのサポートはSwiftでのみ利用可能です

カスタムルールAPIはObjective-Cには公開されていません。

誤検出: InScrollView、SupportsDynamicType、Colliding Views

次の誤検出に対する修正に積極的に取り組んでおり、修正がリリースされるたびにこのリストを更新します。

InScrollView
InScrollViewはバナーのように振る舞う要素内のテキストに対して問題を報告する可能性があります。これらの要素を大きなテキストが必要な人々に利用可能にするには、 UILargeContentViewerを使用してください。

SupportsDynamicType
次のシナリオでは誤検出が発生する可能性があります:

  • UIContentSizeCategoryDidChange 通知を使用している場合、フレームワークはUITestsでテキストがDynamic Typeに対応していないと誤って報告することがあります。
  • NotificationCenter.default.addObserver(forName:.., object:.., queue:.., using:..) に対応する場合には, UIContentSizeCategoryDidChange 通知を用いてください。
  • traitCollectionDidChange 在テキストの親ビューまたはビューコントローラで使用してDynamic Typeに対応します。
Colliding Views
When a scrollable subview contains text, and that subview does not span to the edge of the screen's bounds, you will see failures for text located within the view's bounds.

axeDevToolsXCUI.xcframework

SwiftUI PickerとUIKit Picker

SwiftUIとUIKitのピッカービューは、シミュレータまたはデバイス上でフレームワークがハングする原因になることがあります。(#636)

ネストされたコントロールに対するルール

ルールを改善するために調査しているとき、XCTestではネストされたコントロールがアクセシビリティツリーに返されていないことが判明しました。Appleにバグが報告されました。(#1110)

誤検出: In Scroll View, ActiveControlName

次の誤検出に対する修正に積極的に取り組んでおり、修正がリリースされるたびにこのリストを更新します。

In Scroll View
バナーのように振る舞う要素内のテキストに対して問題を報告する可能性があります。これらの要素を大きなテキストが必要な人々に利用可能にするには、 UILargeContentViewerを使用してください。(#622) ActiveControlName
UIImageViewに`accessibilityIdentifier`が設定されているがVoiceOverでフォーカス可能でない場合、かつその中にフォーカス可能なコントロールがネストされている場合、ActiveControlNameがUIImageViewに対して誤検出を報告する可能性があります。`accessibilityIdentifier`を削除すると、この問題が解決されます。(#1178)

未検出: イメージビュー名、iOS 13からiOS 14.8.1までのフォーカス可能なテキスト

次の未検出に対する修正に積極的に取り組んでおり、修正がリリースされるたびにこのリストを更新します。

Image View Name
UIImageViewに`accessibilityIdentifier`が設定されているがVoiceOverでフォーカス可能でない場合、ImageViewNameがUIImageViewに対して未検出を報告する可能性があります。`accessibilityIdentifier`を削除すると、この問題が解決されます。(#1188) Focusable Text
非アクセシビリティ要素としてマークされた要素は、Appleのフレームワークのバグにより不適切な結果を報告する可能性があります。

Android用Axe DevTools Mobile

Proguard使用時のクラッシュ

デバッグまたはテストビルドでProguardを利用している場合、次の手順に従って Proguardの設定でDequeを無視してください。

`minifiedEnabled`がtrueに設定されたときのクラッシュ

ビルドを最小化する場合、Axe DevToolsライブラリへのログインを試みたときにアダプタが見つからないというエラーログのクラッシュが発生します。Axe DevToolsを実装しているデバッグビルドではminifyを無効にしてください。(#729)

Java8プロジェクトとAxe DevTools Android 3.1.0のコンパイルエラー

次のインポートを試してください:

implementation 'androidx.core:core-ktx:1.9.0'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4'
	
After importing the above library, if you see errors related to minSDK version for core-ktx library try the following in your project’s Android Manifest:
<uses-sdk tools:overrideLibrary="androidx.core" />

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 Mobile ダッシュボード

一部のAndroidスキャン名が形式化されていません

デフォルトで画面のタイトルに設定されている一部のAndroidスキャン名が、バンドル識別子を含む完全なクラス名として表示されます。将来のリリースでは、このタイトルがより読みやすい名前にフォーマットされるように解決されます。暫定的な対応として、ダッシュボードまたはフレームワークからスキャン名を設定できます。(#1643)