Axe DevTools Mobile 2026年11月11日 リリースノート

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

2026年11月11日

Not for use with personal data

コンポーネントバージョン

iOS

  • iOS SDK (axeDevToolsXCUI v5.0.0)

更新方法:iOS SDK、iOS アナライザ デスクトップアプリ

Android

  • Android SDK (axe-devtools-android v10.0.0)
  • Android Gradle Plugin (axe-devtools-android-plugin v2.0.0)
  • Android アナライザ (Axe Accessibility Analyzer v4.2.0)

更新方法:Android Gradle Plugin、Android アナライザ

新機能

SDK

モバイルダッシュボードの廃止が近づいているため、グローバルルール設定はAxeアカウントで行われるようになりました。管理者は、どのルールが自動テストで実行されるかの設定を行い、さらにユーザーがグローバル設定を上書きし、テストで個々のルールを無視できるようにする許可を与えることができます。上書きが許可されていない場合、無視コールは何も行わず、SDKはその理由をログに記録します。 組織の設定を読み込むことができない場合でも、スキャンは実行されます。すべてのルールが実行され、コードレベルの無視が許可されます。上書きを明示的にオフにした組織のみがこれを阻止します。

iOS

  • アップロード後に結果へのリンクを見つける。スキャンのアップロード後、ログは現在View your results in Axe Developer Hub: <link>を出力します。ターゲットスキャンはプロジェクトページへのリンクを提供し、オートスキャンはそのセッションへのリンクを提供します。
  • ルールは現在AxeDevTools自体で無視されます。例えば、axe.ignoreRules(.colorContrast, .screenTitle)、またはignoreRules(onElementWithId:) / ignoreRules(onElementOfClass:)で要素ごとに無視します。誤ったルールのスペルがある場合、ビルドを失敗させ、静かに実行されません。(重大な変更 — 以下参照)

Android

  • アップロード後に結果へのリンクを見つける。スキャンのアップロード後、ログはAxe Developer Hubへのリンクを出力します。ターゲットスキャンはプロジェクトページへのリンクを提供し、オートスキャンはそのセッションへのリンクを提供します。
  • 今後はAxeRuleName列挙型でルールを無視できます。例えばaxeDevTools.ignoreRules(AxeRuleName.COLOR_CONTRAST, AxeRuleName.SCREEN_TITLE)。一つの要素でルールをスキップするにはignoreRulesOnElementWithId("resource_id", AxeRuleName.TOUCH_TARGET_SIZE)を使用します。誤ったルール名は、静かに無視されるのではなく、ビルド自体を失敗させます。(重大な変更、以下参照)
  • ターゲットテストを行うときに、セッションごとに一度だけルール無視を設定してください。ignoreRulesおよびignoreRulesOnElementIdsをmobile: axeStartSession関数に渡します。これはセッションが終了するまで、すべてのターゲットスキャンに適用されます。(ご注意:オートスキャンでは個別のルール無視は許可されていません。組織のルール設定のみを従います。)

修正

iOS

  • 以下のルールの精度の向上:Nameにラベルを含む、前にラベルを付ける、タッチターゲットサイズ、タッチターゲット間隔
  • テストランナーがXcode 16.2または16.4より古いバージョンで構築された場合、スキャンがクラッシュしなくなりました
  • 静かなテストログ - SDKは、分析を送信するたびにテストログに出力しなくなりました

Android

  • Nameにラベルを含むルールの精度向上
  • オートスキャンのパフォーマンス改善 - テストランナーがサインインする前にネットワークを最大10秒待機するようになりました
  • TalkBack使用時のAxe Accessibility Analyzerのフローティングスキャンボタンのパフォーマンスが向上しました - スワイプでアクセスできるようになり、スキャン後またはメニューを開いた後にフォーカスを保ちます (スワイプフォーカスにはTalkBackバージョン16.2以降が必要)

更新

Android

  • SDK、アナライザおよびサンプルターゲットは現在Android SDK 37(compileSdk / targetSdk 37)に基づいてビルドされます。minSdkは26のままです。アプリには何も変更する必要はありません。
  • JavaテストはAxeAutoScan.skipScan(...)を直接呼び出すことができ、.Companionは必要ありません
  • resetIgnoredRules()はもはや非推奨ではなく、引き続き使用できます

非推奨および削除

iOS

  • アクセス不能なアクションルールが削除されました。スキャンは実行されず、AxeRuleId.InaccessibleActionはもはやコンパイルされません。テストコードからこのルールへの参照を削除してください - このルールを無効化または無視するために追加したコードは削除できます。
  • 実験的なルールAPIが削除されました。experimentalキーはエクスポートされたJSONからも削除されています。
  • optInToSupportsDynamicTypeキーが削除されました。まだコードにある場合は、設定行を削除してください。
  • 以下のモバイルダッシュボードAPIが削除されました。これらは以前のリリースで非推奨化されていました。残っているのはAxe Developer Hubパスのみです:
    • getResult、tagResult、deleteResult、updateScanName、AxeDevToolsResultKey、AxeResult.tags — 削除され、置き換えはありません。
    • login(withAPIKey:toServer:)とstartSession(apiKey:url:projectId:) — 代わりにstartScanSession(...)またはauthenticate(...)を使用してください。
    • postResult(_:withTags:withScanName:) — postResult(_:withScanName:)を使用してください。それは現在何も返しません。
    • axeServiceUrl / axeServerUrl(オートスキャン用) — axeAccountUrlを使用してください。
    • AxeStatus.IGNORED - 削除されました。無視されたルールはもはや結果を生じないため、エクスポートされたJSONに"status":"IGNORED"が表示されることはありません。

Android

  • 実験的なルールが削除されました:
    • NestedElementNameとNestedActiveControlはもはや存在しません。
    • ignoreExperimental()とAxeRule上のexperimentalフラグはなくなりました。
  • AxeRuleViewHierarchyは2025年3月に非推奨化され、現在削除されました。カスタムルールはAxeRuleを拡張し、AxeViewを使用してisApplicable / runRuleをオーバーライドする必要があります。
  • モバイルダッシュボードAPIが削除されました。 Axe Developer Hub は現在、唯一のアップロード経路です:
    • loginWithApiKey(...) および startSession(apiKey, projectId, serverUrl) — startScanSession(apiKey, projectId, axeAccountUrl) を使用してください。
    • tagScanAs、getResult、deleteResult、AxeDevToolsResultKey、TagsSet — 廃止され、代替はありません。
  • ScanResultHandler.uploadToDashboard(uploadOnly) — 引数なしで uploadToDashboard() を使用してください。ご注意:これにより、結果が Axe Developer Hub に送信されます。
  • Gradle プラグイン axeServerUrl — axeAccountUrl を使用してください。
  • AxeStatus.IGNORED - 削除されました。無視されたルールは現在何も結果を生まないため、"status":"IGNORED" はエクスポートされた JSON に現れることはありません。

変更点の概要

iOS

  • 必要な最低 iOS バージョンは現在 17 です。UI テストターゲットが iOS 16 をターゲットにしている場合、デプロイメントターゲットを引き上げる必要があります。iOS 16 デバイスでの実行はサポートされなくなりました。
  • ルールの無視が axe.configuration から移動され、axe.configuration が削除されました。古い呼び出しは、新しい呼び出しの名前を示すメッセージと共にコンパイルに失敗します:
    • axe.configuration.ignore(rules:) - axe.ignoreRules(...) を使用してください
    • axe.configuration.ignore(rulesFor:) - axe.ignoreRules(onElementWithId:_:) または ignoreRules(onElementOfClass:_:) を使用してください
    • axe.configuration.customRules.insert(rule) - axe.addCustomRule(rule) を使用してください
    • カスタムルールの無視やルールの再有効化はサポートされなくなりました
  • AxeRuleId の値は現在 lowerCamelCase になっています(例えば .ColorContrast は .colorContrast になります)。旧スペルを使用した Swift コードはもはやコンパイルされません。Objective-C、エクスポートされた JSON、Axe Developer Hub、Appium ignoreRules の設定は変更されていません。
  • API キーでサインインする際、http:// アカウント URL は拒否されます。アカウント URL が http:// で始まるオンプレミスのお客様は https:// に切り替える必要があります。
  • 非推奨および削除 にリストされた削除された API はコンパイルに失敗します。

Android

  • ルール無視 API が変更されました。古い呼び出しはもはやコンパイルされません:
    • ignoreRules(listOf("ColorContrast")) - ignoreRules(AxeRuleName.COLOR_CONTRAST) を使用してください
    • ignoreByViewIdResourceName(id, listOf(...)) - ignoreRulesOnElementWithId(id, AxeRuleName.X, ...) を使用してください
    • ignoreExperimental() - 呼び出しを削除してください。
  • TouchSizeWcag は現在 TouchTargetSize となり、iOS および Axe Developer Hub と一致しました。古い名前を探しているコード、フィルター、ダッシュボードを更新してください。
  • AxeRuleViewHierarchy を拡張するカスタムルール、または experimental フラグを AxeRule に渡すものは、もはやコンパイルされません。
  • Gradle プラグイン: axeDevTools { } ブロックでまだ axeServerUrl をセットしているビルドは axeAccountUrl に切り替える必要があります。
  • 非推奨および削除 にリストされた削除された API はコンパイルに失敗します。

既知の問題

important
  • Axe DevTools Mobile の自動化テストは、ネイティブ iOS、ネイティブ Android、React Native アプリケーション、そして Appium で構築されたアプリで動作します。お使いの技術スタックでのアクセシビリティテストソリューションについては、Deque の担当者にお問い合わせください。
  • これらは 2026 年 10 月のリリース以来の既知の問題に対する変更です。すべての現在の問題については、既知の問題 をご覧ください。
  • Web ビューやレンダリングされた PDF からいくつかの結果を得ることができるかもしれませんが、Web に対する最も包括的なアクセシビリティテストには、Axe DevTools for Web または Axe Monitor を使用することを強くお勧めします。

新しい問題

以下の問題が発生した場合は、helpdesk@deque.comまたはsupport.deque.comまでご連絡ください。問題が解決した際、または回避策が特定された際にお知らせいたします(記載されていない場合)。

iOS

動的なタイプとテキストのクリップルールに関する誤検知

動的なタイプとテキストのクリップルール(iOS 17以降)は、Appleのアクセシビリティ監査の結果を使用します。監査では、正しくスケールするまたは完全に表示されるテキストを時折フラグしますが、これらのルールはAppleが返すものを報告します。これらのルールからのほとんどの失敗は実際の問題であるため、グループとして無視することはお勧めしません。この問題はAppleに報告されており、これらの誤検知を減らすために取り組んでいます。

失敗を確認するには、大きなアクセシビリティサイズを以下で有効にしてください。 Settings > Accessibility > Display & Text Size > Larger Text。デフォルトから最大までのすべてのテキストサイズをステップし、フラグが立てられたテキストがスケールし完全に表示されたままであることを確認してください。テキストは最大サイズで正常に見えるかもしれませんが、中間のサイズで崩れることがあります。

もし失敗が誤検知である場合は、 その要素のアクセシビリティ識別子によってルールを無視し てください。スキャン全体やクラス名でルールを無視することは推奨しません。これは、実際の失敗を隠す可能性があるためです。

Android

地図のスキャン時の誤検知

画面上の要素が地図内に含まれているかどうかを正確に判断することは現在できません。そのため、ルールが意図せず地図のピンをスキャンし、誤ったポジティブ結果を出す可能性があります。これは、Android システムが地図をアクセシビリティサービスに報告する方法の問題です。

無視ルール API を使用して、ID を使用して地図や地図のピンのスキャンを免除してください。

詳細については、 ルールを無視する方法を学んでください。

Unity で構築されたアプリはスキャンできない

Axe DevTools Mobile は、Unity ゲームエンジンで構築されたアプリの画面上のコンテンツをスキャンできません。これは、Android ライブラリを使用した自動スキャンだけでなく、アクセシビリティアナライザーアプリからのスキャンにも影響します。結果は画面レベルのチェック(画面の向きや画面のタイトルなどのルール)だけを表示し、アプリのボタン、テキスト、スイッチについては何も表示されません。

現時点では回避策はありません。

解決された問題

iOS

削除済み:古いイメージビュー名とアクティブコントロール名の誤検知

アクティブコントロール名の誤検知に関する古いエントリを削除しました。 UIImageView が accessibilityIdentifierを持つ。 この問題はバージョン 2.11.0 のみに影響し、2024 年 6 月のリリースで修正されました。アクティブコントロール名は UIKit アプリのこれらのイメージで実行されなくなりました。イメージビュー名は、( UIKitアプリのImageView名規則のレビュー結果)。