axe DevTools Mobile 2024年4月17日リリースノート
2024年4月17日
コンポーネントバージョン
- iOS SDK & アナライザー (axeDevToolsXCUI v2.10.0)
- Android SDK (axe-devtools-android v5.4.0)
- Android アナライザー (axe Accessibility Analyzer v1.7.0)
アップデート方法: iOS SDK、 iOS アナライザー、 Android SDK、 Android アナライザー
新機能
利用状況のトラッキング
axe DevTools Mobile の利用状況のトラッキングをチームで有効化するのが簡単になりました。axe アカウントポータルのグローバル設定で「利用サービス」を「有効」に設定し、URL と組織IDを入力してください。もうコードに追加する必要はありません。(注: 自動化されたテストのためにコードで既に設定済みの利用トラッキングは引き続き動作します。)組織IDについては、 helpdesk@deque.com までお問い合わせください。 利用サービスを有効にする方法 | 利用サービスについて
axe ユニバーサルフォーマットでスキャンをエクスポート
axe DevTools Mobile ダッシュボードからスキャンを、すべてのaxe製品で使用される標準形式であるaxeユニバーサルJSON形式でエクスポートできるようになりました。この形式を使用すれば、axe Auditorなどの別のDeque製品にモバイルアクセシビリティの結果をインポートしたり、複数のaxe製品からのアクセシビリティ結果を一貫した出力でプログラム的に集約したい場合に便利です。 ダッシュボードからスキャンをエクスポートする方法 | モバイル形式とユニバーサル形式
Android
- 「 非アクティブなアクセシブルビュー 」および「 フォーカス可能なテキスト 」ルールを実験的ステータスから昇格しました。厳密な評価の結果、その結果に自信を持っています。ダッシュボード設定で実験的ルールをオフにしている場合、これらのルールの結果が表示され始めます。そうでない場合でも、これらのルールからの結果が引き続き表示されますが、「実験的な結果」セクションにはもう表示されません。 実験的ルールについて | ダッシュボードの設定
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の担当者にお問い合わせください。
- WebビューやレンダリングされたPDFからも結果を得られることがありますが、Webの最も包括的なアクセシビリティテストには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 モバイルダッシュボード
スクリーンショットが見つかりません
スキャン詳細ページにスクリーンショットがない場合、アプリがスクリーンショットの撮影を阻止している可能性があります。これは、通常、製品版アプリケーションのセキュリティ上の理由です。テストビルドのフル機能を許可するため、この要求を削除することを検討してください。
一部の 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();
