キーボード
物理的なキーボードは、テキストの入力、ナビゲーション、アクションの実行などに不可欠な入力デバイスになります。
Mac では、マウスやトラックパッドの代わりにキーボードを使用することを好む人々もいれば、VoiceOver ユーザーはそれを必要としています。人々は外付けキーボードを iPhone、iPad、または TV に接続することもできます。
実際のキーボードが利用できる場合、人々は多くの場合、マウスやトラックパッドを使用してメニューをナビゲートしたりボタンをクリックしたりせずにアクションを開始するための効率的な方法を提供する キーボードショートカット に依存します。
ベストプラクティス
可能な場合は、キーボードのみの操作をサポートします。 名前が示すように、フルキーボードアクセスモードでは、キーボードのみを使用して、ウィンドウ、メニュー、コントロール、およびシステム機能をナビゲートおよびアクティブ化できます。詳細については、フル キーボード アクセスを使用してアプリを操作する および iPad でオンスクリーンキーボードと外部キーボードの設定を調整する を参照してください。 iPadOS では、人々がインターフェイスをナビゲートするときに個々の項目に焦点を当てるようにする視覚効果をカスタマイズすることで、あなたのアプリで接続されたキーボードを使用する体験を向上させることができます。ガイダンスについては、iPad でのキーボードナビゲーション を参照してください。
キーボードショートカット
ほとんどのキーボードショートカットは、1 つの主キーと 1 つ以上の修飾キー (Command、Shift、Control、および Option) の組み合わせで構成されています。まれな例外は Esc (エスケープ) キーで、これは、人々はさまざまなコンテキストでキャンセルアクションを呼び出すためのショートカットとして使用できます。
人々はいくつかの方法でキーボードショートカットを見つけます。たとえば、macOS アプリでは、メニューバーのメニューにキーボード ショートカットが一覧表示されます (詳細については、メニューバー を参照してください)。
iPadOS アプリのキーボードショートカットは、接続されたキーボードで人々が Command キーを押したときに表示されるショートカットインターフェイスに表示されます。Mac のアプリのメニューバーのメニューの構成と同様に、iPad のショートカットインターフェイスには、ファイル、編集、表示などの使い慣れたシステム定義のメニューカテゴリにアプリコマンドが表示されます。メニューバーのメニューとは異なり、iPad のインターフェイスでは、関連するすべてのカテゴリが 1 つのビューに表示され、各カテゴリ内でショートカットも使用可能なコマンドだけが一覧表示されます。
標準のキーボードショートカットを尊重します。 人々は、使用しているアプリに関係なく、標準のキーボードショートカットが機能することを期待しています。あなたのアプリで意味のある、システム定義のキーボードショートカット をサポートすることで、人々があなたのアプリをすばやく学習できるようにしましょう。
通常、標準のキーボードショートカットをカスタムアクションに転用しないでください。 人々の知っているショートカットがあなたのアプリで異なる働きをすると、ユーザーは混乱します。あなたのアプリでそのアクションが意味をなさない場合にのみ、標準のショートカットを再定義することを検討してください。たとえば、テキスト編集をサポートしていないアプリでは、イタリック体のようなテキストスタイリングコマンドは必要ないため、Get Info など、アプリとの関連性がより高いアクションに Command-I を使用する場合があります。
あなたのアプリで最も一般的なアクションのみのカスタムキーボードショートカットを定義して下さい。 人々は、頻繁に実行するアプリ固有のアクションにキーボードショートカットを使用することを高く評価しますが、新しいショートカットを定義しすぎると、あなたのアプリの習得が難しくなり、iPadOS アプリのショートカットインターフェイスが乱雑になる可能性があります。アプリ固有のキーボードショートカットを最小限に抑えることで、配置されているシステム定義のショートカットとの潜在的な競合を回避することもできます。
人々が修飾キーやその他のキーを使用して、一部の操作の動作を調整できるようにします。 たとえば、Command キーを押しながらドラッグすると項目がグループとして移動し、Shift キーを押しながらドラッグしてサイズ変更すると、サイズ変更が項目の縦横比に制限されます。さらに、矢印キーを押し続けると、人々がキーを放すまで、アプリで定義された最小の距離単位で選択した項目が移動します。
カスタムキーボードショートカット
カスタムキーボードショートカットでは、人々が期待する方法で修飾キーを使用することが重要です。
修飾キーとそれらを表すシンボルを以下に示します。
修飾キー | シンボル |
Control (コントロール) | |
Option (オプション) | |
Shift (シフト) | |
Command (コマンド) |
カスタムキーボードショートカットでは、Command キーをメインの修飾キーとして優先します。 ほとんどの標準的なキーボードショートカットは Command キーを使用するため、人々は慣れ親しんでいます。
ショートカットが別のショートカットを補完する場合は、Shift キーを 2 番目の修飾子として優先します。 たとえば、Command-P は、ほとんどのアプリで印刷ダイアログを表示します。印刷を補完する [ページ設定] ダイアログの標準的なショートカットは、通常は Shift-Command-P です。
Option 修飾子は控えめに使用してください。 たとえば、あまり一般的ではないコマンドや、便利な機能や強力な機能のショートカットで Option を使用できます。たとえば、Finder では Option-Command-W を使用してすべてのウィンドウを閉じ、Option-Command-M を使用してすべてのウィンドウを最小化します。
Control キーを修飾キーとして使用することはできる限り避けてください。 システムは、焦点の移動やスクリーンショットのキャプチャなど、多くのシステム全体の機能で Control を使用しています。
関連性のないコマンドの既存のショートカットに修飾子を追加して、新しいショートカットを作成することは避けてください。 たとえば、人々はアクションを取り消すために Command-Z を使用することに慣れているため、取り消しおよびやり直しとは関係のないコマンドのショートカットとして Shift-Command-Z を使用すると混乱します。
修飾キーを正しい順序でリストします。 カスタムショートカットで複数の修飾キーを使用する場合は、必ず Control、Option、Shift、Command の順序でリストします。
Shift がショートカットの一部でない限り、2 文字のキーは小文字で識別します。 たとえば、ステータスバーを非表示にするためのキーボードショートカットは、Command-スラッシュ (/) です。Shift キーがキーボード ショートカットの一部である場合は、2 つの文字の上位を使用してキーを識別します。たとえば、ヘルプのキーボードショートカットは、Shift-Command-スラッシュ ではなく、Command-疑問符 (?) です。
ヒント
一部の言語では、特定の文字を生成するために修飾キーが必要です。たとえば、フランス語のキーボードでは、Option-5 は「{」文字を生成します。Command キーを修飾子として使用することは通常安全ですが、すべてのキーボードで使用できない文字で追加の修飾子を使用することは避けてください。コマンド以外の修飾子を使用しなければならない場合は、アルファベット文字のみを使用することをお勧めします。
必要に応じて、システムがキーボードショートカットをローカライズおよびミラーリングします。 たとえば、iPadOS は、現在接続されているキーボードをサポートするために、ショートカットの主キーと修飾キーを自動的にローカライズします。また、あなたのアプリが右から左のレイアウトに切り替わると、システムは自動的にショートカットをミラーリングします。ガイダンスについては、右から左へ を参照してください。
プラットフォームの考慮事項
iOS、macOS、または tvOS に関する追加の考慮事項はありません。watchOS ではサポートされていません。
iPadOS
あなたの iPadOS アプリで利用可能なアクションを人々が見つけられるようにします。 iPad のショートカットインターフェイスには、各カテゴリのすべてのアイテムのフラットなリストが表示されるため、サブメニュータイトルを使用して子アイテムのコンテキストを提供することはできません。たとえば、アイテムタイトルの 名前 と 追加日 は、サブメニュータイトルの [ブックマークの並べ替え] のコンテキストがなければ意味がありません。[ブックマークを名前で並べ替える]、[ブックマークを追加日で並べ替える] など、必要なコンテキストを含めることで、各アイテムのタイトルを強化できます。開発者向けガイダンスについては、discoverabilityTitle (discoverabilityTitle) を参照してください。
iPad でのキーボードナビゲーション
デフォルトでは、iPadOS 15 以降では、テキストフィールド、テキストビュー、サイドバーでのキーボードナビゲーションが有効になり、あなたのアプリのさまざまな種類のコレクションビューやその他のカスタムビューでそれを有効にするために使用できる API が提供されます。開発者向けガイダンスについては、フォーカスベースのナビゲーション (Focus-based navigation) を参照してください。
重要
ボタン、セグメントコントロール、スイッチなどのコントロールのキーボード ナビゲーションを有効にしないでください。フルキーボードアクセスモードは、人々がコントロールを有効にしたり、スクリーン上のすべてのコンポーネントに移動したり、ドラッグアンドドロップなどのジェスチャベースの操作を実行したりするのに役立ちます。
iPadOS と tvOS の焦点のシステムは似ています。人々は、焦点インジケータを項目に移動してから選択することでアクションを実行します (ガイダンスについては、焦点と選択 を参照してください)。基盤となるシステムは同じですが、ユーザー体験は少し異なります。tvOS は 方向的焦点 を使用しますが、人々は同じ操作 (つまり、Siri Remote をスワイプするか、接続されたキーボードの矢印キーのみを使用) を使用して、スクリーン上のすべてのコンポーネントに移動できます。対照的に、iPadOS は、サイドバー、グリッド、リストなど、アプリ内の特定の領域を表す 焦点のグループ を定義します。焦点のグループを使用すると、iPadOS は 2 つの異なるキーボード操作をサポートできます。
スクリーン上のコンポーネントは、ハロー効果または強調表示された外観を使用して、焦点を示すことができます。
ハロー 焦点効果 (フォーカスリング とも呼ばれる) は、コンポーネントの周囲にカスタマイズ可能なアウトラインを表示します。カスタムビューや、イメージなどのコレクションまたはリストセル内の完全に不透明なコンテンツにハロー効果を適用できます。
必要に応じて、ハロー焦点効果をカスタマイズします。 デフォルトでは、システムはアイテムの形状を使用してハローの形状を推測します。システム提供のハローが希望する外観にならない場合は、角を丸くしたり、ベジエパスで定義された形状などの輪郭に合わせてハローを調整できます。別のコンポーネントがハローを遮ったりクリップしたりする場合は、ハローの位置を調整することもできます。たとえば、ハローの上にバッジを表示したり、親ビューがハローをクリップしないようにする必要があります。開発者向けガイダンスについては、UIFocusHaloEffect (UIFocusHaloEffect) を参照してください。
コンポーネントの背景がアプリのアクセントカラーを使用する 強調表示された 外観も焦点を示しますが、これは焦点効果ではありません。背景とコンテンツの構成を設定したコレクションビューセルを人々が選択すると、ハイライト表示が自動的に行われます (開発者向けガイダンスについては、UICollectionViewCell (UICollectionViewCell) を参照してください)。
意味のある方法で焦点がカスタムビューを移動するようにします。 人々が Tab キーを押し続けると、焦点のグループが読み上げ順 (先頭から末尾に、上から下に。)に移動します。焦点は、人々が期待する方法でシステム提供のビューを移動しますが、焦点のシステムがカスタムビューにアクセスする順序を調整する必要がある場合があります。たとえば、カスタムビューの垂直方向のスタックを下に移動してから、次のビューに末尾の方向に移動する場合は、スタックコンテナを単一の焦点のグループとして識別する必要があります。開発者向けガイダンスについては、focusGroupIdentifier を参照してください。
項目の優先度を調整して、焦点のグループ内での重要性を反映させます。 グループが焦点を当てられると、その 主な項目 も自動的に焦点を当てられるため、人々は最も必要とする可能性が高い項目を簡単に選択できます。項目の優先度を上げることで、その項目を主要な物にすることができます。開発者向けガイダンスについては、UIFocusGroupPriority (UIFocusGroupPriority) を参照してください。
仕様
予約済みのキーボードショートカット
以下のキーボードショートカットは、システムによって予約されているか、人々によく知られています。
主なキー | キーボードショートカット | システム使用 | アクション |
スペース | Command-スペース |
| Spotlight の検索フィールドを表示または非表示にします。 |
Shift-Command-スペース |
| 不定。アップル予約済み。 | |
Option-Command-スペース |
| Spotlight 検索結果ウィンドウを表示します。 | |
Control-Command-スペース |
| 特殊文字ウィンドウを表示します。 | |
Tab | Shift-Tab |
| コントロールを逆方向にナビゲートします。 |
Command-Tab |
| 開いているアプリのリストで、最近使用した次のアプリに進みます。 | |
Shift-Command-Tab |
| 開いているアプリのリストを逆方向に移動します(最近使用した順に並べ替えます)。 | |
Control-Tab |
| ダイアログまたは次の表内の次のコントロールグループに焦点を移動します(Tab が次のセルに移動した場合)。 | |
Control-Shift-Tab |
| コントロールの前のグループに焦点を移動します。 | |
Esc | Option-Command-Esc |
| 強制終了ダイアログを開きます。 |
Eject | Control-Command-Eject |
| すべてのアプリを終了し(開いている文書の変更を保存した後)、コンピュータを再起動します。 |
Control-Option-Command-Eject |
| すべてのアプリを終了し(開いている文書の変更を保存した後)、コンピュータをシャットダウンします。 | |
F1 | Control-F1 |
| フルキーボードアクセスのオンとオフを切り替えます。 |
F2 | Control-F2 |
| 焦点をメニューバーに移動します。 |
F3 | Control-F3 |
| 焦点を Dock に移動します。 |
F4 | Control-F4 |
| アクティブな(または次の)ウィンドウに焦点を移動します。 |
Control-Shift-F4 |
| 前にアクティブだったウィンドウに焦点を移動します。 | |
F5 | Control-F5 |
| 焦点をツールバーに移動します。 |
Command-F5 |
| VoiceOver をオンまたはオフにします。 | |
F6 | Control-F6 |
| 焦点を最初(または次)のパネルに移動します。 |
Control-Shift-F6 |
| 焦点を前のパネルに移動します。 | |
F7 | Control-F7 |
| ウィンドウとダイアログで現在のキーボードアクセスモードを一時的にオーバーライドします。 |
F8 |
| 不定。アップル予約済み。 | |
F9 |
| 不定。アップル予約済み。 | |
F10 |
| 不定。アップル予約済み。 | |
F11 |
| デスクトップを表示します。 | |
F12 |
| ダッシュボードを非表示または表示します。 | |
グレイブアクセント(`) | Command-グレイブアクセント |
| 一番手前のアプリで次に開いているウィンドウをアクティブにします。 |
Shift-Command-グレイブアクセント |
| 一番手前のアプリで以前開いていたウィンドウをアクティブにします。 | |
Option-Command-グレイブアクセント |
| 焦点をウィンドウドロワーに移動します。 | |
ハイフン(-) | Command-ハイフン |
| 選択範囲のサイズを小さくします。 |
Option-Command-ハイフン |
| スクリーンのズームがオンのときにズームアウトします。 | |
左かっこ({) | Command-左かっこ | 選択範囲を左揃えにします。 | |
右かっこ(}) | Command-右かっこ | 選択範囲を右揃えにします。 | |
パイプ(|) | Command-パイプ | 選択範囲を中央揃えにします。 | |
コロン(:) | Command-コロン | [スペル チェック] ウィンドウを表示します。 | |
セミコロン(;) | Command-セミコロン | 文書内のスペルミスのある単語を検索します。 | |
コンマ(,) | Command-コンマ | アプリの設定ウィンドウを開きます。 | |
Control-Option-Command-コンマ |
| スクリーンのコントラストを下げます。 | |
ピリオド(.) | Control-Option-Command-ピリオド |
| 画面のコントラストを上げます。 |
疑問符(?) | Command-疑問符 | アプリの [ヘルプ] メニューを開きます。 | |
スラッシュ(/) | Option-Command-スラッシュ |
| フォントスムージングをオンまたはオフにします。 |
等号(=) | Shift-Command-等号 |
| 選択範囲のサイズを大きくします。 |
Option-Command-等号 |
| 画面のズームがオンのときにズームインします。 | |
3 | Shift-Command-3 |
| 画面をファイルにキャプチャします。 |
Control-Shift-Command-3 |
| 画面をクリップボードにキャプチャします。 | |
4 | Shift-Command-4 |
| 選択範囲をファイルにキャプチャします。 |
Control-Shift-Command-4 |
| 選択範囲をクリップボードにキャプチャします。 | |
8 | Option-Command-8 |
| 画面のズームをオンまたはオフにします。 |
Control-Option-Command-8 |
| 画面の色を反転します。 | |
A | Command-A | 文書またはウィンドウ内のすべての項目、またはテキストフィールド内のすべての文字を選択します。 | |
Shift-Command-A | すべての選択または文字の選択を解除します。 | ||
B | Command-B | 選択したテキストを太字にするか、太字テキストのオンとオフを切り替えます。 | |
C | Command-C | 選択範囲をクリップボードにコピーします。 | |
Shift-Command-C | [色] ウィンドウを表示します。 | ||
Option-Command-C | 選択したテキストのスタイルをコピーします。 | ||
Control-Command-C | 選択範囲の書式設定をコピーし、クリップボードに保存します。 | ||
D | Option-Command-D |
| Dock を表示または非表示にします。 |
Control-Command-D | 辞書アプリで選択した単語の定義を表示します。 | ||
E | Command-E | 検索操作に選択範囲を使用します。 | |
F | Command-F | 検索ウィンドウを開きます。 | |
Option-Command-F | 検索フィールドコントロールにジャンプします。 | ||
Control-Command-F | フルスクリーンに入ります。 | ||
G | Command-G | 選択範囲の次の発生を検索します。 | |
Shift-Command-G | 選択範囲の前の発生を検索します。 | ||
H | Command-H | 現在実行中のアプリのウィンドウを非表示にします。 | |
Option-Command-H | 実行中の他のすべてのアプリのウィンドウを非表示にします。 | ||
I | Command-I | 選択したテキストを斜体にするか、斜体テキストのオンとオフを切り替えます。 | |
Command-I | 情報ウィンドウを表示します。 | ||
Option-Command-I | インスペクタウィンドウを表示します。 | ||
J | Command-J | 選択範囲までスクロールします。 | |
M | Command-M | アクティブなウィンドウを Dock に最小化します。 | |
Option-Command-M | アクティブなアプリのすべてのウィンドウを Dock に最小化します。 | ||
N | Command-N | 新しい文書を開きます。 | |
O | Command-O | 開くべき文書を選択するためのダイアログを表示します。 | |
P | Command-P | 印刷ダイアログを表示します。 | |
Shift-Command-P | [ページ設定] ダイアログを表示します。 | ||
Q | Command-Q | アプリを終了します。 | |
Shift-Command-Q |
| 現在のユーザーをログアウトします。 | |
Option-Shift-Command-Q |
| 確認なしで現在のユーザーをログアウトします。 | |
S | Command-S | 新しい文書を保存するか、文書のバージョンを保存します。 | |
Shift-Command-S | アクティブな文書を複製するか、「名前を付けて保存」を開始します。 | ||
T | Command-T | フォントウィンドウを表示します。 | |
Option-Command-T | ツールバーを表示または非表示にします。 | ||
U | Command-U | 選択したテキストに下線を引くか、下線のオンとオフを切り替えます。 | |
V | Command-V | クリップボードの内容を挿入ポイントにペーストします。 | |
Shift-Command-V | 名前を付けてペースト(たとえば引用としてペースト)。 | ||
Option-Command-V | 1 つのオブジェクトのスタイルを選択範囲に適用します。 | ||
Option-Shift-Command-V | クリップボードの内容を挿入ポイントにペーストし、周囲のテキストのスタイルを挿入されたオブジェクトに適用します。 | ||
Control-Command-V | 書式設定を選択範囲に適用します。 | ||
W | Command-W | アクティブなウィンドウを閉じます。 | |
Shift-Command-W | ファイルと関連するウィンドウを閉じます。 | ||
Option-Command-W | アプリ内のすべてのウィンドウを閉じます。 | ||
X | Command-X | 選択範囲を削除してクリップボードに保存します。 | |
Z | Command-Z | 前の操作を取り消します。 | |
Shift-Command-Z | やり直し(Command-Z を使用して切り替えるのではなく、取り消しとやり直しが別のコマンドの場合)。 | ||
右矢印 | Command-右矢印 |
| キーボードレイアウトをローマ字体の現在のレイアウトに変更します。 |
Shift-Command-右矢印 |
| 選択範囲を次の意味単位(通常は現在の行の終わり)まで拡張します。 | |
Shift-右矢印 |
| 選択範囲を 1 文字右に拡張します。 | |
Option-Shift-右矢印 |
| 選択範囲を現在の単語の末尾まで拡張し、そして次の単語の末尾まで拡張します。 | |
Control-右矢印 |
| 表など、ビュー内の別の値またはセルに焦点を移動します。 | |
左矢印 | Command-左矢印 |
| キーボードレイアウトをシステムスクリプトの現在のレイアウトに変更します。 |
Shift-Command-左矢印 |
| 選択範囲を前の意味単位(通常は現在の行の先頭)まで拡張します。 | |
Shift-左矢印 |
| 選択範囲を 1 文字左に拡張します。 | |
Option-Shift-左矢印 |
| 選択範囲を現在の単語の先頭に拡張し、次に前の単語の先頭に拡張します。 | |
Control-左矢印 |
| 表など、ビュー内の別の値またはセルに焦点を移動します。 | |
上矢印 | Shift-Command-上矢印 |
| 次の意味単位(通常は書類の先頭)で選択範囲を上方向に拡張します。 |
Shift-上矢印 |
| 選択範囲を上の行まで拡張し、水平方向の同じ位置にある最も近い文字境界まで拡張します。 | |
Option-Shift-上矢印 |
| 選択範囲を現在の段落の先頭まで拡張し、そして次の段落の先頭まで拡張します。 | |
Control-上矢印 |
| 表など、ビュー内の別の値またはセルに焦点を移動します。 | |
下矢印 | Shift-Command-下矢印 |
| 次の意味単位(通常は文章の末尾)で選択範囲を下方向に拡張します。 |
Shift-下矢印 |
| 選択範囲を下の行まで拡張し、同じ水平方向の位置にある最も近い文字境界まで拡張します。 | |
Option-Shift-下矢印 |
| 選択範囲を現在の段落の末尾まで拡張し、そして次の段落の末尾まで拡張します(カット、コピー、およびペースト操作では、Return などの段落終末を含みます)。 | |
Control-下矢印 |
| 表など、ビュー内の別の値またはセルに焦点を移動します。 |
予約済みの国際キーボードショートカット
システムは、ローカライズされたバージョンのシステム、ローカライズされたキーボード、キーボードレイアウト、および入力方法で使用するために、いくつかのキーの組み合わせを予約しています。これらのショートカットは、メニューコマンドに直接対応していません。
キーボードショートカット | アクション |
Control-Space | 現在の入力ソースと最後の入力ソースを切り替えます。 |
Control-Option-Space | リスト内の次の入力ソースに切り替えます。 |
[修飾キー]-Command-Space | 不定。アップル予約済み。 |
Command-右矢印 | キーボードレイアウトをローマ字体の現在のレイアウトに変更します。 |
Command-左矢印 | キーボードレイアウトをシステムスクリプトの現在のレイアウトに変更します。 |
リソース
関連
開発者用文書
KeyboardShortcut — SwiftUI (KeyboardShortcut)
User Input — SwiftUI (Input events)
物理キーボードでのキー押下の処理 — UIKit (Handling key presses made on a physical keyboard)
マウス、キーボード、およびトラックパッド — AppKit (Mouse, Keyboard, and Trackpad)