Axe DevTools Mobile 2024年4月17日リリースノート
2024年4月17日
コンポーネントバージョン
- iOS SDK & アナライザー (axeDevToolsXCUI v2.10.0)
- Android SDK (axe-devtools-android v5.4.0)
- Android Analyzer (Axe Accessibility Analyzer v1.7.0)
更新方法: iOS SDK、iOS アナライザー、Android SDK、Android アナライザー
新機能
利用状況のトラッキング
Axe DevTools Mobileの利用をチームで追跡する設定を簡単にしました。Axeアカウントポータルのグローバル設定で「Usage Service」を「Enable」に設定し、URLと組織IDを入力してください。コードに何も追加する必要はありません。(注: 自動テストでコードにより既に設定されている利用追跡は引き続き機能します。)組織IDについてはhelpdesk@deque.comにお問い合わせください。利用サービスを有効にする方法 | 利用サービスについて
Axeユニバーサルフォーマットでスキャンをエクスポート
Axe DevTools Mobile DashboardからスキャンをAxeユニバーサルJSONフォーマットでエクスポートできるようになりました—これはすべてのAxe製品で使用される標準フォーマットです。このフォーマットを使用して、モバイルのアクセシビリティ結果を他のDeque製品(例: Axe Auditor)にインポートしたり、各製品からの一貫した出力を使用して複数のAxe製品からアクセシビリティ結果をプログラム的に集約したりするときに役立ちます。ダッシュボードからスキャンをエクスポートする方法 | モバイル形式とユニバーサル形式
Android
- 非アクティブなアクセシブルビューとフォーカス可能なテキストのルールを実験的ステータスから昇格させました。厳格な評価を経て、その結果に自信を持っています。Dashboard設定で実験的ルールを無効にしている場合、これらのルールの結果が表示され始めます。そうでない場合、これらのルールの結果は引き続き表示されますが、「実験的な結果」セクションには表示されなくなります。実験的ルールについて | ダッシュボードの設定
iOS
- 衝突するコントロールルールを廃止します。衝突するコントロールは、WCAGに準拠したタッチターゲットの間隔ルールでカバーされるようになりました。衝突するコントロールの結果は「無視」に表示されるようになります。今後のリリースで結果を完全に削除します。
バグ修正
Android
- モバイルアナライザーアプリを、Androidバージョン11以下でのセットアップ時にクラッシュを防ぐために更新しました。
- プライベートクラウドまたはオンプレミスの顧客にのみ適用されるバックエンドサーバーURLが正しくないために、アプリのセットアップが失敗する問題を修正しました。
- 名前にラベルルールで、可視テキストがアクセシブルネームの一部である場合に誤って失敗と判断されるバグを修正しました。
- 誤検知を防ぐため、スクリーンに完全に表示されていないコンポーネントは、タッチターゲットサイズ、タッチターゲットの間隔、または色のコントラストルールで分析されなくなります。
- 名前にラベル、ネストされた要素名、およびフォーカス可能なテキストルールにおける誤検知を防ぐため、100%の確信が持てない場合は、「失敗」ではなく「要レビュー」として特定のシナリオをフラグすることにしました。これらの問題を確認し、TalkBackやVoice Accessなどの支援技術にアクセス可能なテキストが提供されていることを確認してください。
iOS
- 誤検知を防ぐため、衝突するビュールールではすべての場合に「失敗」ではなく「要レビュー」を返します。
- 使用状況サービスは以前は「ログイン」イベントのみを追跡していましたが、現在は「ログイン」と「スキャン」イベントの両方を追跡します。
ダッシュボード
- アプリ名にUnicode文字が含まれている場合、スキャンをエクスポートできないバグを修正しました。
既知の問題
以下の問題が発生している場合は、helpdesk@deque.comまたはsupport.deque.comまでご連絡ください。解決次第、または列挙された回避策が存在しない場合には確認済みの回避策をお知らせします。
- Axe DevTools Mobileの自動テストは、ネイティブiOS、ネイティブAndroid、React Nativeアプリケーションで実行されます。お使いの技術スタックでのアクセシビリティテストソリューションについては、Deque担当者にお問い合わせください。
- ウェブビューやレンダリングされたPDFからの結果が得られることもありますが、ウェブに対して最も包括的なアクセシビリティテストを行うために、Axe DevTools for WebまたはAxe Monitorを使用することを強くお勧めします。
Axe DevTools Mobile for iOS
アナライザープロジェクトと2.8.1のバンドルIDによるテストにおけるエラー
バンドル識別子でアプリケーションをテストする機能はバージョン2.8.1で破損し、「No target application path specified via test configuration: ...」というエラーが発生しました。このエラーを解決するには、2.8.2または最新バージョンに更新してください。 iOS アナライザー プロジェクトの最新バージョンに更新してください。
オフスクリーンのビューがiOS 17でテストされたSwiftUIアプリに結果を表示する場合がある
バージョン 2.8.0 (リリースノートを参照)では、別のビューで隠されている場合やオフスクリーン含め、目に見えないビューの結果は報告されなくなりました。しかし、SwiftUIアプリケーションがiOS 17でテストされると、いくつかの結果がまだ表示されることがあることが判明しています。(#1383)
Supports Dynamic TypeルールがiOS 15 Proシミュレーターで動作しない
iPhone 15 Proシミュレーターに影響する問題があり、Supports Dynamic Typeルールを実行できません。Supports Dynamic Typeルールにオプトインしている場合、iPhone 15 Proシミュレーターでテストすることはできません。Appleにバグが報告されています。
ネストされたコントロールに対するルール
ルールの改善を検討している間に、XCTestでは、ネストされたコントロールがアクセシビリティツリーに返されないことが判明しました。Appleにバグが報告されています。(#1110)
False Positive:スクロールビューにおけるActiveControlName
以下の誤検出に対する修正を現在積極的に行っており、修正がリリースされ次第、このリストを更新します。
In Scroll View
バナーとして動作する要素内のテキストに問題を報告する場合があります。これらの要素を大きなテキストが必要な人に利用可能にするには、 UILargeContentViewerを使用してください。(#622)
ActiveControlName
UIImageViewに`accessibilityIdentifier`が設定されているが、VoiceOverでフォーカス可能ではなく、それにネストされたフォーカス可能なコントロールがある場合、ActiveControlNameはUIImageViewに対して誤検出を報告することがあります。`accessibilityIdentifier`を削除すると問題が解決します。Appleにバグが報告されています。(#1226)
False Negative: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のフレームワークのバグにより不適正な結果を報告することがあります。
Axe DevTools Mobile for Android
Proguard 使用時のクラッシュ
デバッグまたはテストビルドで Proguard を使用している場合は、次の手順に従ってください: Proguard 設定で Deque を無視
`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()?
`(isRoot)` に一致するノードが '1' 個であると期待されたが、'2' 個のノードが見つかりました」というエラーや「ビューが初期化されていません。AxeDevToolsCompose.setComposeTestRule() を呼び出しましたか?」というエラーに遭遇した場合は、 Compose setTestTag APIを参照してください。
Axe DevTools Mobile Dashboard
スクリーンショットが見つかりません
スキャン詳細ページでスクリーンショットが表示されない場合、アプリがスクリーンショットの撮影を防いでいる可能性があります。これはしばしば本番アプリケーションのセキュリティ理由によるものです。Axe DevTools Mobile Dashboardの全機能を利用できるように、テストビルドではこの要件を削除することを検討してください。
一部の Android スキャン名が未整形
デフォルトで画面タイトルに設定されている一部の Android スキャン名は、バンドル識別子を含む完全なクラス名として表示されます。今後のリリースでは、画面タイトルをより読みやすい名前にフォーマットすることを解決する予定です。一時的な対策として、ダッシュボードやフレームワークからスキャン名を設定できます。(#1643)
Axe DevTools Mobile for Appium
誤検知: アクティブビュー名
Appium プラットフォームを介して利用可能な情報の制限のため、 labeledBy プロパティでボタン要素のラベルを提供するときにアクティブビュー名の誤検知が確認されています。解決策を模索しており、今後のリリースでの修正を期待しています。
React Native & .NET MAUI: 名前にラベル、前にラベル
Appium プラットフォームを介して利用可能な情報の制限のため、React Native で構築されたアプリについて、名前にラベルおよび前にラベルのルールが実行できないことが確認されています。解決策を模索しており、今後のリリースでの修正を期待しています。
React Native: 閲覧ビュー階層に過去の画面が表示される
スキャンの間に Appium ページソースのプロパティの更新には追加の時間が必要な場合があります。これが発生すると、ダッシュボードで検査機能を使用する際に前の画面のビュー階層が表示されます。修正するには、ページソース API を呼び出す前に少しのタイムアウトを追加して、アクセシビリティスキャンを促します。 例:
await driver.pause(1000);
const result = await driver.getPageSource();
