Axe DevTools Mobile 2024年6月17日リリースノート
2024年6月17日
コンポーネントのバージョン
- iOS SDK & アナライザー(axeDevToolsXCUI v2.11.0)
- Android SDK(axe-devtools-android v5.5.0)
- Androidアナライザー(Axeアクセシビリティアナライザーv1.8.0)
更新方法:iOS SDK、iOS アナライザー、Android SDK、Android アナライザー
修正
Android
- 次のルールの精度向上と誤検出の削減を目的とした改善: 色のコントラスト、フォーカス可能なテキスト、ラベル名に含まれるラベル、ラベルの先頭、タッチターゲットのサイズ、タッチターゲットの間隔、編集テキスト名、アクティブビュー名
axeVersionは、アナライザーアプリからのスキャンでの『0.0』ではなく、正確にAndroid SDKのバージョンを反映するようになりました- サーバー構成URLが受け付けられない問題を修正し、アナライザーアプリでより詳細なデバッグ情報が提供されるようになりました
iOS
- 次のルールの精度向上と誤検出の削減を目的とした改善: 色のコントラスト、フォーカス可能なテキスト、ラベル名に含まれるラベル
既知の問題
以下の問題のいずれかが発生した場合は、helpdesk@deque.comまたはsupport.deque.comにご連絡ください。問題が解決された際や、記載されていない回避策が特定された場合にお知らせいたします。
- Axe DevTools Mobileの自動テストは、ネイティブiOS、ネイティブAndroid、およびReact Nativeアプリケーションで実行されます。技術スタックにおけるアクセシビリティテストソリューションについては、お客様のDeque担当者にお問い合わせください。
- Webビューや表示されたPDFからいくつかの結果が得られるかもしれませんが、Webの最も包括的なアクセシビリティテストには、Axe DevTools for WebまたはAxe Monitorを使用することを強くお勧めします。
Axe DevTools Mobile for iOS
アナライザープロジェクトとバンドルIDでのテストでのエラー(2.8.1)
バンドル識別子でのアプリケーションのテスト機能がバージョン2.8.1で破損し、「テスト構成で指定されたターゲットアプリケーションパスがありません...」というエラーメッセージが表示されました。エラーを解決するには2.8.2または最新バージョンに更新してください。 iOS アナライザープロジェクト内で最新バージョンに更新してください。
オフスクリーンのビューがiOS 17でテストされたSwiftUIアプリで結果を表示することがあります
バージョン 2.8.0(リリースノートを見る)では、画面外や他のビューに隠されているなどの表示されていないビューの結果は報告されなくなりました。ただし、iOS 17でテストされているSwiftUIアプリでは、まだ一部の結果が表示されることが判明しました。(#1383)
iOS 15 Proシミュレーターでサポートするダイナミックタイプのルールが機能しない
iPhone 15 Proシミュレーターに影響を与える問題があり、サポートするダイナミックタイプのルールを実行できません。サポートするダイナミックタイプのルールに登録している場合、iPhone 15 Proシミュレーターを使用してテストすることはできません。この問題についてAppleにバグを報告しました。
ネストされたコントロールに対するルール
ルールの改善を検討する中で、XCTestではネストされたコントロールがアクセシビリティツリーで返されないことが判明しました。この問題についてAppleにバグを報告しました。(#1110)
スクロールビューでの誤検出: アクティブコントロール名、ラベル名に含まれるラベル、ラベルの先頭
We are actively working on fixes for the following false positives and will update this list as fixes are released.
In Scroll View
May report issues for text within banner-behaving elements. To make these elements available to those that require larger text, use
UILargeContentViewer. (#622)
Active Control Name
If an UIImageView has an `accessibilityIdentifier` set but is not focusable by VoiceOver, and it has focusable controls nested within it, ActiveControlName may report a false positive on the UIImageView. Removing the `accessibilityIdentifier` resolves the issue. A bug has been filed with Apple. (#1226)
Label In Name and Label At Front
These two rules look for a control's visible label amongst nearby elements to help determine rule status. In some view hierarchies, the incorrect nearby text may be detected causing these rules to fail. (#1622)
誤検知: 画像ビュー名、フォーカス可能なテキスト(iOS 13からiOS 14.8.1まで)
We are actively working on fixes for the following false negatives and will update this list as fixes are released.
Image View Name
If an UIImageView has an `accessibilityIdentifier` set but is not focusable by VoiceOver, ImageViewName may report a false negative on the UIImageView. Removing the `accessibilityIdentifier` resolves the issue. A bug has been filed with Apple. (#1226)
Focusable Text
Elements marked as non-accessibility elements may report improper results due to a bug in Apple's framework.
Axe DevTools Mobile for Android
`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()?
「`Expected exactly '1' node but found '2' nodes that satisfy: (isRoot)`」や「`No View initialized, did you call AxeDevToolsCompose.setComposeTestRule()?`」のようなエラーが発生した場合は、 Compose setTestTag APIを参照してください。
Axe DevTools Mobileダッシュボード
スクリーンショットなし
スキャン詳細ページからスクリーンショットが欠落している場合、アプリがスクリーンショットの撮影を防いでいる可能性があります。通常、これは本番アプリケーションでのセキュリティ上の理由によるものです。Axe DevTools Mobileダッシュボードの完全な機能を許可するために、テストビルドからこの要件を削除することを検討してください。
一部のAndroidスキャン名が未整形
画面タイトルにデフォルト設定されている一部のAndroidスキャン名は、バンドル識別子を含む完全なクラス名として表示されます。将来のリリースでは、画面タイトルがより読みやすい名前に整形されるようになります。暫定対応として、ダッシュボードまたはフレームワークからスキャン名を設定することができます。(#1643)
Axe DevTools Mobile for Appium
誤検知: アクティブビュー名
Appiumプラットフォームによる情報の制約のため、ボタン要素にラベルを提供する labeledBy プロパティを使用した場合、アクティブビュー名の誤検知が確認されています。解決策を検討しており、今後のリリースで修正を見込んでいます。
React Native: ラベルインネーム & ラベルアットフロント
Appiumプラットフォームによる情報の制約のため、React Nativeで構築されたアプリではラベルインネーム & ラベルアットフロントのルールが実行できないことが確認されています。解決策を検討しており、今後のリリースで修正を見込んでいます。
React Native & .NET MAUI: インスペクトビューヒエラルキーが過去の画面を表示
Appiumのページソースプロパティがスキャン間で更新されるのに余分な時間が必要な場合があります。この場合、ダッシュボードのインスペクト機能を使用すると、前の画面のビューヒエラルキーが表示されます。修正するには、ページソースAPIを呼び出す前に小さなタイムアウトを追加してアクセシビリティスキャンを促してください。 例:
await driver.pause(1000);
const result = await driver.getPageSource();
制約: Androidの装飾画像に対する画像ビュー名
Appiumプラットフォームによる情報の制約のため、Androidで装飾画像の成功基準を正確にテストすることができないことが確認されています。アクセシブルな名前のない画像の結果は、ダッシュボードで「レビューが必要」と表示され、さらなる分析が必要です。
