Axe DevTools Mobile 2023年10月18日リリースノート

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年10月18日

Not for use with personal data

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

  • axeDevToolsXCUI v2.8.0
  • axe-devtools-android v4.2.0

新機能

WCAG 2.2のサポート

WCAG 2.2は10月5日に公式にリリースされました。私たちの「タッチターゲットの間隔」ルールが実験的ステータスから昇格しました。このルールはWCAG 2.2. 2.5.8に準拠しており、ターゲットが最小サイズを満たしているか、十分な間隔があることを保証します。これは、小さなボタンを押すことが難しい身体的障害を持つ人々にとって重要です。WCAG 2.2. リリースについて詳しく学べます。「タッチターゲット間隔ルール」および「Android用のタッチターゲット間隔ルール」のドキュメントをご覧ください。

知っていましたか?タッチターゲット間隔ルール(WCAG 2.2, 2.5.8)はAA基準を満たしており、タッチターゲットサイズルール(WCAG 2.1, 2.5.5)はAAA基準を満たしています。重要なコントロールに対しては、WCAGはより厳しいタッチターゲットサイズルールを目指してAAA基準を満たすことを推奨しています。Dequeもまた、モバイルでのより厳しいルールを目指すことを推奨しており、それはAppleの44ptx44ptガイドラインに従い、Googleの48dpx48dpガイドラインにより近く一致し、アプリをストアに提出する際に問題が発生しないことを保証します。

重要な変更 - 表示されているビューのみをスキャン

Axe DevTools Mobileは、スキャン時にユーザーに表示されるビューのみをスキャンするようになりました。以前は、画面外や他のビューによって隠されたビューも含めてすべてのビューをデフォルトでスキャンしていました。

どのように結果が改善されるのか?

  • ユーザーに表示されているものだけをスキャンすることで、障害を持つ人や支援技術を使っている人のユーザー体験をより正確に反映します。ユーザーや支援技術でアクセスできないダイアログやモーダルの背後にあるものはスキャンされません。
  • コンピュータービジョンルール、たとえばカラコントラストはオフスクリーンのビューでは実行されないため、以前は制限されたルールセットからのみ結果が得られていました。画面の範囲内のビューのみをスキャンすることで、スキャンされたビューは完全なルールセットから利益を得られます。

これがチームに意味することは?

ダッシュボードでのダッシュボード上のボックスを未チェックにしている場合、ダッシュボードの結果に違いはありません。ユーザーに表示されないビューはすでに結果から除外されています。のチェックボックスをオフにしている場合、ダッシュボードの結果には何の変化も見られません。ユーザーに見えないビューはすでに結果から除外されています。

他のビューの背後に隠れているビュー(モーダルやポップアップなど)は、アクセシビリティ結果がありません。

  • オフスクリーンのビュー(現在のスクロール位置の上や下にあるものなど)は、アクセシビリティ結果がありません。
  • ヒント:長い画面の各スクロール位置でスキャンを行い、すべてのアクセシビリティ問題をキャプチャしてください。たとえば、アプリのホーム画面が3画面にわたる場合、以下のように3回スキャンを行います。
    • ヒント: 長い画面の各スクロール位置でスキャンを行い、すべてのアクセシビリティ問題を把握することをお勧めします。例えば、アプリのホーム画面が3つの画面にまたがっている場合、以下のように3回スキャンを行います:
      Screenshot of the Dashboard with 3 scans for the home screen. One at the top scroll position, named Home - Scroll 1. One at the middle scroll position, named Home - Scroll 2. One at the bottom scroll position, named Home - Scroll 3.
    • iOS

iOS

Android

  • カスタムルールにおける重大な変更 - Androidでのカスタムルールの実行インターフェースが更新され、String型の代わりにRunRuleResultオブジェクトを返すようになりました。変更の完全な例やCompose APIは現在、に関する詳細情報をご覧ください。
  • を使用して
  • ActivityScenario
  • Compose APIは現在、ComposeEmptyTestRuleを受け入れ、ActivityScenarioを使用してアクティビティを起動します。特にXMLとComposeビューの両方を使用する場合、AndroidComposeTestRuleを使用するよりも簡単です。Compose Empty Test Ruleの使用方法について詳しく知る
  • このリリースでは、Kotlinバージョンを1.7から1.9にアップグレードし、ライブラリがJetpack Composeの最新バージョンと互換性を持つようにしました。Kotlinバージョン1.9は、Kotlin 1.8以降との互換性があります。アプリがKotlin 1.8未満に依存している場合は、axe-devtools-android v4.1.0以下を使用し続けてください。
  • Moshiを1.12.0から1.15.0に、Jetpack Composeを1.4.3から1.5.1にアップグレードしました。

バグ修正

iOS

  • Tough Target Spacingは、隠れたコントロールや完全に重なる要素のエッジケースを処理するための更新を受けました。
  • エッジケースでのアクセシビリティ要素の検出に関する改善が行われ、さまざまなルールでコントロールをテストする際の結果精度が向上します。
  • Supports Dynamic Typeルールは、可視テキストのないコントロールには適用されません。
  • フレームワークは、Picker要素でフリーズしなくなりました。現在、Picker要素を対象にするルールはないため、結果に変更は予想されません。今後の機会を探します。

Android

  • 分析された値に画面の向きルールの理解しやすい画面向きのプロパティを追加しました。以前は、結果を確認する人には理解しにくい整数値でした。
  • レイアウトに依存しないスキャンを使用する際、Instrumentation Registryを介してカスタムルールリストを更新できるようになりました。

ダッシュボード

  • 「インスペクト」機能のツリービューに対するアクセシビリティの改善。現在、ツリービューはキーボードや支援技術を使用して正常にナビゲートできます。

既知の問題

以下の問題のいずれかに直面している場合は、helpdesk@deque.comまたはsupport.deque.comまでご連絡ください。問題が解決した際や既にリストされていない回避策がある場合、お知らせします。

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

iOS用Axe DevTools Mobile

Supports Dynamic TypeルールがiOS 15 Proシミュレータで動作しない

Supports Dynamic Typeルールの実行を妨げる問題がiPhone 15 Proシミュレータにあります。Supports Dynamic Typeルールに参加している場合、iPhone 15 Proシミュレータを使用してテストすることはできません。Appleにバグを報告しました。

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

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

偽陽性: Scroll View内のActiveControlName

以下の偽陽性の修正に積極的に取り組んでおり、修正がリリースされ次第、このリストを更新します。

In Scroll View
バナーとして動作する要素内のテキストに対して問題が報告されることがあります。これらの要素を大きなテキストを必要とする人々に利用可能にするためには、 UILargeContentViewer。(#622) ActiveControlName
UIImageViewが`accessibilityIdentifier`を設定されているが、VoiceOverでフォーカスできず、その中にフォーカス可能なコントロールがネストされている場合、ActiveControlNameはUIImageViewで偽陽性を報告することがあります。`accessibilityIdentifier`を削除すると問題が解決します。Appleにバグを報告しました。(#1226)

偽陰性: iOS 13からiOS 14.8.1までのImage View Name、Focusable Text

以下の偽陰性の修正に積極的に取り組んでおり、修正がリリースされ次第、このリストを更新します。

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)

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)

「isRoot」が条件のノードが「2」個あると報告するようなエラーに遭遇した場合、次のアドレスで私たちにご連絡ください helpdesk@deque.com または support.deque.com にお問い合わせください。特定の条件下では、同時に2つのComposeルートノードが存在する場合があります。

Axe DevTools Mobileダッシュボード

一部のAndroidスキャン名がフォーマットされていません

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