Axe DevTools Mobile 2025年1月21日リリースノート

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

2025年1月21日

Not for use with personal data

新機能

アクセシビリティスコア

Axe DevTools Mobileのアクセシビリティスコアリングアルゴリズムをウェブ製品に合わせる形で変更しました。ダッシュボードは新しい外観になり、チャートグラフィック、総問題数、アクセシビリティスコアは表示されなくなりました。そのスコアは以前、すべての問題とその相応の深刻度を参照していました。現在、ユーザーは各スキャンのスコアを取得できます。最も深刻な問題がその画面のスコアを決定します。グループスキャン機能には、グループ内の各スキャンのスコアの平均から計算されたアクセシビリティスコアが含まれます。個別のスキャンをクリックして、それぞれのスキャンで見つかったすべての問題を確認することができます。

修正

  • Axe DevTools Mobileダッシュボードのアクセシビリティに関する複数の改善
  • グループスキャン機能で間違ったスキャンが表示される問題を修正しました

既知の問題

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

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

iOS

バンドルIDでのアナライザープロジェクトとテストでのエラー(2.8.1)

バンドル識別子によるアプリケーションのテスト機能はバージョン2.8.1で壊れており、「テスト構成によって指定されたターゲットアプリケーションパスがありません: …」というエラーが発生していました。エラーを解決するには2.8.2または最新バージョンに更新してください。 iOSアナライザープロジェクトを最新バージョンに更新してください。

アナライザープロジェクトv1.2.0およびSDK v2.12.3での「AxeResultをシリアル化できません」エラー

このバージョンのアナライザーとSDKで一部のアプリケーションをスキャンすると、「AxeResultをシリアル化できません」というエラーが発生します。エラーを解決するには最新バージョンに更新してください。 最新のiOSアナライザープロジェクトに更新してください。最新のiOS SDKに更新してください。

SwiftUI & クロスプラットフォームアプリでの誤検知: LabelInName と LabelAtFront

一部の画面で、誤ってLabelInNameおよびLabelAtFrontが報告されることがあり、間違ったassociatedTextプロパティが見つかるためです (#1622)

iOS 15 ProシミュレータでのSupports Dynamic Typeルールが機能しない

iPhone 15 Proシミュレーターに影響を与える問題があり、Supports Dynamic Typeルールの実行を妨げています。Supports Dynamic Typeルールにオプトインしている場合、iPhone 15 Proシミュレーターを使用してテストを行うことができません。この問題についてはAppleにバグが報告されています。

入れ子コントロールに対するルール

ルールの改善を検討する中で、XCTestでは入れ子のコントロールがアクセシビリティツリーに戻らないことがわかりました。この問題についてはAppleにバグが報告されています。(#1110)

UIKitアプリのImageView Nameルールにはレビューレポートが必要です

UIKitアプリでは、`accessibilityLabel`のない画像はデフォルトで支援技術によってフォーカス可能ではありません。
Appleから使用されるフォーカス可能性を確認するためのプロパティは、画像に`accessibilityIdentifier`が設定されている場合、不正確な可能性があります。この予期しない動作により、UIKitアプリでのImageView Nameの問題はレビューレポートとして報告されます。この問題についてはAppleにバグが報告されています。(#1633)

誤検知: スクロールビュー内でのLabel In Name, Label at Front, v2.11.0でのImage View Name & ActiveControlName

次の誤検知に対する修正を積極的に進めており、修正が公開され次第、リストを更新します。

In Scroll View
バナーの動作をする要素内のテキストについて問題を報告することがあります。これらの要素を大きなテキストを必要とする人に利用可能にするには、 UILargeContentViewerを使用してください。(#622)

v2.11.0 Image View Name & Active Control Name
UIImageViewに`accessibilityIdentifier`が設定されているが、VoiceOverでフォーカス可能ではない場合、内部にフォーカス可能なコントロールを含んでいると、ActiveControlNameがUIImageViewに誤検知を報告する可能性があります。`accessibilityIdentifier`を削除すると、問題が解決します。この問題についてはAppleにバグが報告されています。(#1633)

Label In Name and Label At Front
これらの2つのルールは、近くの要素間でコントロールの見えるラベルを探してルールの状態を判断します。ビュー階層によっては、誤った近くのテキストが検出され、これらのルールが失敗することがあります。(#1622)

Android

API 30でローカルに結果を保存する際のエラー

Android API 30では、ローカルに結果を保存する際に試みる場所の1つに権限のエラーがあります。このエラーが表示されるにもかかわらず、結果はJSONファイルとして保存されます。このエラーは次のブロック内のコードをコメントアウトすることで抑制できます。

def clearDirectoryTask = task('clearDirectoryTask', type: Exec, group: 'reporting') {
    executable "${android.getAdbExecutable().toString()}"
    args 'shell', 'rm', '-r', '/storage/emulated/0/Documents/AxeTestCases'
//    finalizedBy {
//        fetchAndroidFolderAxeReportsTask
//    }
}

Please note that this code should only be commented out for API 30 as it will cause problems when saving locally for other API levels.

ハイブリッドアプリおよびクロスプラットフォームアプリでのスクロール検出

一部のハイブリッドおよびクロスプラットフォームアプリでは、スクロールビュー内の項目が画面外に部分的にあるときに予期しない結果が返されることがあります。アクセシビリティのために要素をテストするには、スキャンを実行する前にその要素が完全に画面に表示されることを確認してください。

アナライザーアプリ: 浮動アクションボタンが消える

API 31(Android 12)で導入された機能として、非システムオーバーレイを隠すことができます。Axe Analyzerアプリを利用するためには、この設定がオンになっていないことを確認してください。この機能をセキュリティ強化のために利用することを選択した場合、テスト用データを安全に利用できる内部テストビルドではオフにしておくことをお勧めします。 Note: this setting does not affect Google's accessibility scanner app as it's considered a system overlay.

Axe Accessibility Analyzerアプリを利用するには、メソッドへの呼び出しを更新してください。 setHideOverlayWindows(true)setHideOverlayWindows(false)

ダッシュボードでのスクリーンショットが欠落(黒いボックス)

Axe DevTools for Mobileのすべての機能をアンロックするには、スクリーンショットを有効にしてください。セキュリティの懸念を避けるため、モックデータを使用したアプリのデバッグまたはテストバージョンでスクリーンショットを有効にすることをお勧めします。当社のガイドをチェックしてください。 スクリーンショットを有効にする方法

「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()?

Compose APIは非推奨であるため、引き続き更新を受け取るには レイアウト非依存API を使用してください。Compose APIを使用し続け、`1`つのノードが期待されるべきところで`2`つのノードが存在する、または「Viewが初期化されていない、AxeDevToolsCompose.setComposeTestRule()を呼び出しましたか?」といったエラーが発生した場合、 Compose setTestTag APIを参照してください。

ログメッセージ:MlKitContext has not been initialized

このメッセージが表示された場合、その規則が人工知能を使用しているときに、一部の規則結果が予想通りに返されないことがあります。影響を受ける規則には、カラコントラスト、フォーカシブルテキスト、ネストされた要素名が含まれます。(#841)

MAUI: テキスト名編集規則

AndroidエコシステムでのMAUIアプリアーキテクチャの制約のため、SDKバージョン5.5.0以降では失敗が疑われる場合、ダッシュボードに「要確認」と表示されます。このケースについては手動で正しい動作を確認してください。

ネイティブアンドロイド: カスタムダイアログ / モーダル

ネイティブコントロールを拡張しないカスタムダイアログやモーダルを実装する際、モーダルの背後にあるビューの結果が表示される場合があります。この場合、これらのカスタムモーダルやダイアログに対して私たちのツールを実行せず、代わりにアシスティブテクノロジーに期待される動作を確認するために手動でチェックすることをお勧めします。

Webダッシュボード

スクリーンショットが欠落

スキャン詳細ページにスクリーンショットが表示されない場合、アプリがスクリーンショットの撮影を妨げている可能性があります。これは多くの場合、本番アプリケーションにおけるセキュリティの理由によるものです。Axe DevTools Mobile Dashboardの全機能を利用するために、テストビルドではこの要件を削除することを検討してください。

いくつかのAndroidスキャン名がフォーマットされていない

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