ios-hig について
ios-higは、AppleのHuman Interface Guidelinesに基づく、iOSアプリ開発者向けのデザイン参照スキルです。関連資料の選び方を示し、操作性、アクセシビリティ、ビジュアルデザインなどの注意点を扱います。
主な機能
- 01デザイン資料の選び方
- 02タッチ領域とレイアウトの考慮点
- 03Dynamic TypeとVoiceOverへの対応
- 04コントラストとReduce Motionの確認
- 05触覚・状態フィードバックの指針
活用シーン
- 01iOS画面のアクセシビリティ確認
- 02操作パターンとナビゲーションの見直し
- 03アニメーション、フィードバック、配色の計画
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ johnrogers/ claude-swift-engineering --skill ios-higインストール後、Claude Code で/ios-higを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/accessibility.mdcontent.mdfeedback.mdinteraction.mdperformance-platform.mdprivacy-permissions.mdvisual-design.md詳細
iOS ヒューマンインターフェイスガイドライン
Appleのヒューマンインターフェイスガイドラインは、iOSアプリをネイティブで直感的に感じさせるためのビジュアル言語、インタラクションパターン、アクセシビリティ基準を定めています。核となる原則は、思慮深いデザインによる明快さと一貫性です。
リファレンスの読み込みガイド
内容が必要になる可能性が少しでもある場合は、必ずリファレンスファイルを読み込んでください。 パターンを見落としたり間違いを犯したりするより、背景情報を把握しておくほうが適切です。
| リファレンス | 読み込むタイミング |
|---|---|
| インタラクション | タッチターゲット、ナビゲーション、レイアウト、階層、ジェスチャーパターンを扱う場合 |
| コンテンツ | 空の状態、コピーの作成、タイポグラフィ、プレースホルダーテキストを扱う場合 |
| ビジュアルデザイン | 色、マテリアル、コントラスト、ダークモード、SF Symbolsを扱う場合 |
| アクセシビリティ | VoiceOver、Dynamic Type、Reduce Motion、アクセシビリティラベルを扱う場合 |
| フィードバック | アニメーション、触覚フィードバック、読み込み状態、エラーメッセージを扱う場合 |
| パフォーマンス | 応答性、システムコンポーネント、アプリの起動を扱う場合 |
| プライバシー | アクセス許可のリクエスト、データの取り扱い、プライバシーに関わるAPIを扱う場合 |
よくある間違い
-
44x44ポイント未満のタッチターゲット — 親指で操作できるよう、ボタンやインタラクティブな要素はiOSで少なくとも44x44ポイント必要です。ターゲットが小さいと、ユーザーの不満やアクセシビリティ上の問題につながります。
-
Dynamic Typeの制約を無視する — サイズが固定されたテキストは、ユーザーのアクセシビリティ設定を反映しません。Dynamic Typeのサイズを使い、「大」または「特大」の設定でテストし、フォントサイズをハードコードしないでください。
-
ダークモードで色のコントラストが不十分 — ライトモードで問題なく使える色でも、ダークモードではアクセシビリティ上の問題が生じることがあります。両方のモードで「コントラストを下げる」アクセシビリティ設定を有効にしてテストしてください。
-
トランジションのアニメーションを過剰に使う — 60fpsで滑らかに感じられるアニメーションでも、前庭に問題のあるユーザーに乗り物酔いを引き起こすことがあります。「視差効果を減らす」設定を尊重し、アニメーションは300ms未満にしてください。
-
カスタムコントロールにVoiceOverラベルがない — カスタムボタン、トグル、インタラクティブなビューには
.accessibilityLabel()と.accessibilityHint()が必要です。これらがないと、スクリーンリーダーを使うユーザーはまったく操作できません。 -
触覚フィードバックの過剰な使用 — すべての操作に触覚フィードバックが必要なわけではありません。触覚フィードバックは、購入や重要な操作の確認、エラーに限って使用してください。過剰な触覚フィードバックは不快で、バッテリーの消耗にもつながります。