axe DevTools Mobile 2025年1月21日リリースノート
2025年1月21日
新機能
アクセシビリティスコア
axe DevTools Mobileのアクセシビリティスコアリングアルゴリズムを、ウェブ製品に合わせて変更しました。ダッシュボードが新しい外観になり、チャートグラフィック、総問題数、またはアクセシビリティスコアが表示されなくなりました。このスコアは以前、 すべての 問題とそのそれぞれの深刻度を見ていました。現在は、各 スキャンごとにスコアを取得できます。その画面で最も深刻な問題がスコアを決定します。グループスキャン機能では、含まれる各スキャンのスコアの平均から算出されたアクセシビリティスコアが含まれます。個別のスキャンをクリックして、各スキャンで発見されたすべての問題を確認することもできます。
修正
- axe DevTools Mobile ダッシュボードのアクセシビリティに対する複数の改善
- グループスキャン機能で間違ったスキャンが表示される問題を修正しました
既知の問題
以下の問題が発生した場合は、 helpdesk@deque.com にご連絡ください。または、 support.deque.comでお問い合わせください。問題が解決した際または記載されていない場合の代替策をお知らせします。
- axe DevTools Mobileの自動テストは、ネイティブiOS、ネイティブAndroid、およびReact Nativeアプリケーションで動作します。技術スタックに合わせたアクセシビリティテストソリューションについては、Dequeの担当者にお問い合わせください。
- WebビューまたはレンダリングされたPDFからいくつかの結果を得ることができるかもしれませんが、webの最も包括的なアクセシビリティテストには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アナライザーアプリを利用するには、この設定がオンになっていないことを確認してください。この機能をセキュリティ向上のために利用している場合、セキュリティの心配のない内部テストビルドでこの機能をオフにして、テストデータを安全に利用できるようにすることをお勧めします。 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)
