App Store Connect: Accessibility Nutrition Labels 一覧まとめ


App Store Connect の製品ページに「Supports 〇〇」として表示されるアクセシビリティ ラベルは、ユーザーがダウンロード前に機能対応状況を把握しやすくする重要な情報です。本記事では全9種類のラベルについて、**サポート表示条件**と**テスト・検証方法**を整理しました。

:::note info
将来的には新規アプリ提出やアップデート時の必須項目となる予定です。
:::

---

## 1. VoiceOver

| 項目                   | 内容                                                                                                                                           |
|------------------------|------------------------------------------------------------------------------------------------------------------------------------------------|
| **サポート表示条件**   | - すべての操作要素（ボタン、アイコン、フォームコントロールなど）に適切な `accessibilityLabel` と説明を設定<br>- イメージには代替テキスト、装飾用画像は無視設定 |
| **テスト／検証方法**   | 1. 各プラットフォーム（iOS・macOS・tvOS など）で VoiceOver をオンにし、タップ／スワイプ／キーボードが同等動作<br>2. Accessibility Inspector で `traits`／ラベルを確認 |

---

## 2. Voice Control

| 項目                   | 内容                                                                                                                      |
|------------------------|---------------------------------------------------------------------------------------------------------------------------|
| **サポート表示条件**   | - “Show Numbers”／“Show Names” のコマンドで要素に番号／ラベルが表示され、音声操作が実行可能<br>- カスタムアクションや隠し UI もコマンド化対応 |
| **テスト／検証方法**   | 1. 各プラットフォームで Voice Control を有効にし、「Tap <番号>」「Click <ラベル>」で動作検証<br>2. “Show actions for <番号>” でアクション一覧を確認 |

---

## 3. Larger Text

| 項目                   | 内容                                                                                                                                   |
|------------------------|----------------------------------------------------------------------------------------------------------------------------------------|
| **サポート表示条件**   | - システム設定または独自設定で文字サイズを最低200%以上（watchOSは140%以上）まで拡大可能<br>- Dynamic Type や独自フォント切り替えを実装      |
| **テスト／検証方法**   | 1. アクセシビリティ用フォントサイズを最大（iOS:300%／watchOS:150%）に設定し、レイアウト崩れや切り捨てを確認<br>2. Small～XXXL 各サイズで UI をチェック |

---

## 4. Dark Interface

| 項目                   | 内容                                                                                                             |
|------------------------|------------------------------------------------------------------------------------------------------------------|
| **サポート表示条件**   | - システムのライト／ダークモード切り替え（`UIUserInterfaceStyle`）を即時反映<br>- `UIColor.system…` 系ダイナミックカラーやアセットバリアント活用 |
| **テスト／検証方法**   | 1. システム外観を切り替えて全画面・モーダル・ポップオーバーを確認<br>2. テンプレートイメージ（`alwaysTemplate`）でアイコンの着色を検証 |

---

## 5. Differentiate Without Color Alone

| 項目                   | 内容                                                                                                                         |
|------------------------|------------------------------------------------------------------------------------------------------------------------------|
| **サポート表示条件**   | - 色だけに頼らず、形状／パターン／テキストラベルなど別の視覚手がかりを併用<br>- `accessibilityLabel` にステータス情報を含める           |
| **テスト／検証方法**   | 1. システム設定「色だけに頼らない区別」をオンにし、色分け要素が形状／テキストでも識別可能か確認<br>2. チャートは凡例＋パターンで区別検証 |

---

## 6. Sufficient Contrast

| 項目                   | 内容                                                                                                            |
|------------------------|-----------------------------------------------------------------------------------------------------------------|
| **サポート表示条件**   | - 通常テキストはコントラスト比4.5:1以上、大きなテキストは3:1以上<br>- アイコンなどグラフィカル要素も3:1以上を維持                     |
| **テスト／検証方法**   | 1. Accessibility Inspector のコントラスト測定機能で比率チェック<br>2. 「Increase Contrast」設定をオンにし、半透明やぼかしの抑制を確認 |

---

## 7. Reduced Motion

| 項目                   | 内容                                                                                                                  |
|------------------------|-----------------------------------------------------------------------------------------------------------------------|
| **サポート表示条件**   | - システム「動きを減らす（Reduce Motion）」設定を検知し、回転／パララックス／スケーリング等を停止または代替アニメーション化    |
| **テスト／検証方法**   | 1. 設定オン時に全アニメーション（画面遷移、カルーセル自動再生など）が停止またはフェードに置換されるか確認<br>2. `UIAccessibility.isReduceMotionEnabled` の活用を検証 |

---

## 8. Captions

| 項目                   | 内容                                                                                                                              |
|------------------------|-----------------------------------------------------------------------------------------------------------------------------------|
| **サポート表示条件**   | - 動画（アニメーション含む）や純音声コンテンツに、主要言語＋代替言語の字幕を提供<br>- システム「字幕／SDH」設定に自動追従                    |
| **テスト／検証方法**   | 1. デバイス設定「字幕／SDH」をオンにし、動画プレーヤーが自動で字幕を表示するか確認<br>2. ゲーム内カットシーンなどでも同期字幕が動作するか検証 |

---

## 9. Audio Descriptions

| 項目                   | 内容                                                                                                                                       |
|------------------------|----------------------------------------------------------------------------------------------------------------------------------------------|
| **サポート表示条件**   | - プリレコーディング動画に、ビジュアル説明をナレーション化したオーディオトラックを同梱<br>- `AVPlayerItem` の descriptive トラックを選択可能に実装 |
| **テスト／検証方法**   | 1. システム設定「オーディオ・ディスクリプション」をオンにし、動画再生時に説明トラックが切り替わるか確認<br>2. HLS/DASH マニフェストに `ROLE="descriptive"` が定義されているか点検 |

---

以上のチェックをパスすると、App Store Connect の製品ページで各「Supports …」ラベルを表示できるようになります。  
アプリ更新ごとに再評価を行い、継続的なアクセシビリティ向上を目指しましょう！