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ルール「タッチターゲット間隔」の結果は、WCAG 2.2が勧告になるまで実験的とマークされます。これにより、このルールの結果が「失敗」、「合格」、「再評価が必要」の結果数に実験的な見出しの下で表示されるようになります。(以前は無視されるカウントに挙がっていました。) お好みに応じて実験的なルールを無効にすることもできます。詳しくはこちらをご覧ください: 実験的なルール

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ルールはWebビューや表示されたPDFでは実行されません。 HTMLコンテンツをテストするには、axe DevTools for Webをご利用ください。axe MonitorではPDFのアクセシビリティスキャンをサポートしています。

axe DevTools Mobile for iOS

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のフレームワークのバグにより不適切な結果を報告する可能性があります。

axe DevTools Mobile for Android

Proguard使用時のクラッシュ

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

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

ビルドを縮小している場合、axe DevToolsライブラリへのログインを試みると、アダプターが見つからなかったと報告するエラーログが表示されるクラッシュが発生します。axe DevToolsが実装されたデバッグビルドで縮小を無効にしてください。(#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 Dashboard

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

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