言語: HTML | XAML

キーボード操作への反応 (XAML)

アプリでハードウェア キーボードやタッチ キーボードからのキーボード操作に応答するには、キーボード イベント ハンドラーとクラス イベント ハンドラーの両方を使います。

重要  

一部の Windows ランタイム コントロールでは、入力イベントが内部で処理されます。このような場合は、イベント リスナーに関連付けられているハンドラーが呼び出されないため、入力イベントが発生しないように見えることがあります。通常、これらのキーのサブセットはクラス ハンドラーで処理され、基本的なキーボード アクセシビリティのビルトイン サポートが提供されます。たとえば、Button クラスでは、Space キーと Enter キーの OnKeyDown イベント (および OnPointerPressed) がオーバーライドされ、コントロールの Click イベントにルーティングされます。キーの押下がコントロール クラスで処理された場合、KeyDown イベントと KeyUp イベントは発生しません。

これでボタンを実行するキーボード操作が組み込まれ、ボタンを指でタップした場合やマウスでクリックした場合と同様の動作がサポートされます。Space キーと Enter キー以外のキーについては、通常どおり KeyDown and KeyUp イベントが発生します。クラス ベースのイベント処理の動作については、「イベントとルーティング イベントの概要」 (特に「コントロールの入力イベント ハンドラー」) をご覧ください。

ヒント  このトピックの情報は、C++、C#、Visual Basic を使ったアプリ開発にのみ適用されます。

JavaScript を使ったアプリについては、「キーボード操作への反応 (HTML)」をご覧ください。

前提条件:  以下のトピックに目を通して、ここで説明されているテクノロジをよく理解できるようにしてください。

C# または Visual Basic を使った初めての Windows ストア アプリの作成

C++ を使った初めての Windows ストア アプリの作成

C# または Visual Basic を使った Windows ストア アプリのためのロードマップ

C++ を使った Windows ストア アプリのためのロードマップ

イベントについては、「イベントとルーティング イベントの概要」をご覧ください。

アプリの機能の概要:  この機能について詳しくは、「アプリの機能の概要」シリーズをご覧ください。

ユーザー操作の概要 (XAML)

ユーザー操作のカスタマイズの概要 (XAML)

ユーザー エクスペリエンス ガイドライン:  

プラットフォーム コントロール ライブラリ (HTMLXAML) は、標準的な対話式操作、アニメーション化された物理的効果、視覚的フィードバックなど、完全なユーザー操作エクスペリエンスを提供しています。 操作のサポートをカスタマイズする必要がない場合は、これらのビルトイン コントロールを使います。

プラットフォーム コントロールでは十分に対応できない場合は、以下のユーザー操作ガイドラインに従うと、どの入力モードでも一貫性のある、魅力的でイマーシブな対話式操作エクスペリエンスを実現できます。これらのガイドラインは、主にタッチ入力を対象として説明していますが、タッチパッド、マウス、キーボード、スタイラスでの入力にも当てはまります。

サンプル:  アプリのサンプルで、この機能の動作を実際に確かめることができます。

入力サンプル

入力: デバイス機能のサンプルに関するページ

入力: タッチ キーボードのサンプルに関するページ

スクリーン キーボードを表示したときの対応のサンプルのページ

概要

キーボード入力は、アプリのユーザー操作エクスペリエンスの中でも重要な部分です。キーボードは、特定の障碍のあるユーザーや、キーボードを使った方がアプリを効率よく操作できると考えるユーザーにとって欠かせません。たとえば、Tab キーと方向キーを使ってアプリ内を移動し、Space キーと Enter キーを使って UI 要素をアクティブ化し、キーボード ショートカットを使ってコマンドにアクセスできるようにする必要があります。

適切に設計されたキーボード UI はソフトウェアのアクセシビリティの重要な要素であり、視覚に障碍のあるユーザーや、特定の運動障碍のあるユーザーがアプリ内を移動したり、その機能を操作したりするのに使います。このようなユーザーはマウスを操作できないため、代わりにさまざまな支援技術 (キーボード強化ツール、スクリーン キーボード、スクリーン拡大機能、スクリーン リーダー、音声入力ユーティリティなど) が不可欠である可能性があります。

最も一般的な種類のキーボードは、デバイスに物理的に接続されている外付けのハードウェア キーボードです。ハードウェア キーボードに加えて、Windows 8 には 2 種類のソフトウェア キーボードが用意されています。

  •   Windows:

    スクリーン キーボードは、物理的なキーボードの代わりに使うことができる視覚的なソフトウェア キーボードです。タッチ、マウス、ペン/スタイラス、またはその他のポインティング デバイスを通じてデータを入力します (タッチ スクリーンは必須ではありません)。スクリーン キーボードは、物理的なキーボードが存在しないシステムや、運動障碍により一般的な物理入力デバイスを使うことができないユーザーのために用意されています。スクリーン キーボードは、ハードウェア キーボードの機能のすべて、または少なくともほとんどをエミュレートします。

    スクリーン キーボード

  •   Windows:

    タッチ キーボードは、タッチ入力でのテキスト入力に使われる、視覚的なソフトウェア キーボードです。タッチ キーボードはテキスト入力専用であり (ハードウェア キーボードをエミュレートしません)、テキスト フィールドや編集可能なテキスト コントロールにフォーカスがあるときにだけ表示されるので、スクリーン キーボードの代わりになるものではありません。
      スクリーン キーボードの方がタッチ キーボードより優先され、スクリーン キーボードが表示されている場合はタッチ キーボードは表示されません。

    次に、タッチ キーボードの例を示します。最初の画像は既定のレイアウトであり、2 つ目の画像は親指レイアウトです (一部の言語では利用できません)。

    既定のレイアウトのタッチ キーボード

    親指レイアウトのタッチ キーボード

キーボード イベント

次のキーボード イベントは、ハードウェア キーボードとタッチ キーボードの両方で発生します。

イベント説明
KeyDown キーが押されると発生します。
KeyUp キーが離されると発生します。

 

キーボード イベントとフォーカス

UI のコントロールに入力フォーカスがあるときにだけ、キーボード イベントが生成されます。個々のコントロールは、ユーザーがレイアウト上でコントロールを直接クリックまたはタップするか、Tab キーを使ってコンテンツ領域内のタブ順に入ると、フォーカスを取得します。

コントロールの Focus メソッドを呼び出して、フォーカスを適用することもできます。これは、UI が読み込まれたときに既定ではキーボード フォーカスが設定されないため、ショートカット キーを実装する場合に必要です。詳しくは、このトピックの「ショートカット キーの例」をご覧ください。

コントロールが入力フォーカスを受け取るには、有効にされ、表示されている必要があります。また、IsTabStop プロパティ値と HitTestVisible プロパティ値が true に設定されている必要もあります。これは、ほとんどのコントロールの既定の状態です。コントロールに入力フォーカスがあると、このトピックで後ほど説明するように、キーボード入力イベントを発生させ、応答することもできます。また、GotFocus イベントと LostFocus イベントを処理して、フォーカスを受け取るコントロールやフォーカスを失うコントロールに応答することもできます。

既定では、コントロールのタブ順は、XAML 内の出現順になっています。ただし、TabIndex プロパティを使って、この順序を変更できます。詳しくは、「キーボード アクセシビリティの実装」をご覧ください。

キーボード イベント ハンドラー

入力イベント ハンドラーは、次の情報を提供するデリゲートを実装します。

  • イベントのセンダー。センダーは、イベント ハンドラーがアタッチされているオブジェクトを報告します。
  • イベント データ。キーボード イベントの場合、イベント データは KeyRoutedEventArgs のインスタンスです。ハンドラーのデリゲートは KeyEventHandler です。ハンドラーに関するほとんどのシナリオで、最もよく使われる KeyRoutedEventArgs のプロパティは、Key です。場合によっては、KeyStatus も使われます。
  • OriginalSource。キーボード イベントはルーティング イベントであるため、イベント データには OriginalSource があります。イベントがオブジェクト ツリーをバブルアップするように意図的に設定した場合、OriginalSource がセンダーではなく対象のオブジェクトとなる場合があります。ただし、この動作は設計によって異なります。センダーではなく OriginalSource を使う方法について詳しくは、このトピックの「キーボード ルーティング イベント」または「イベントとルーティング イベントの概要」をご覧ください。

キーボード イベント ハンドラーのアタッチ

イベントがメンバーに含まれるオブジェクトに対して、キーボード イベント ハンドラー関数をアタッチできます。UIElement 派生クラスにもアタッチできます。XAML で GridKeyUp イベントのハンドラーをアタッチする方法を次の例に示します。



<Grid KeyUp="Grid_KeyUp">
  ...
</Grid>


コードを使ってイベント ハンドラーをアタッチすることもできます。詳しくは、「イベントとルーティング イベントの概要」をご覧ください。

キーボード イベント ハンドラーの定義

次の例は、前の例でアタッチした KeyUp イベント ハンドラーの定義の一部です。



void Grid_KeyUp(object sender, KeyRoutedEventArgs e)
{
    //handling code here
}


KeyRoutedEventArgs の使用

キーボード イベントはいずれもイベント データに KeyRoutedEventArgs を使います。KeyRoutedEventArgs には次のプロパティがあります。

キー

キーが押されると、KeyDown イベントが発生します。同様に、キーが離されると、KeyUp イベントが発生します。通常、特定のキー値を処理するにはイベントをリッスンします。押されたキーまたは離されたキーを特定するには、イベント データの Key 値を調べます。KeyVirtualKey 値を返します。VirtualKey 列挙体には、サポートされているすべてのキーが含まれています。enumeration

修飾キー

  Windows:

修飾キーは、Ctrl、Shift など、一般的に他のキーと組み合わせて押されるキーです。アプリでは、これらのキーの組み合わせをキーボード ショートカットとして使って、アプリ コマンドを呼び出すことができます。

ショートカット キーの組み合わせを検出するには、KeyDown イベント ハンドラーや KeyUp イベント ハンドラーでコードを使います。目的とする修飾キーが押された状態を追跡することができます。修飾キー以外のキーのキーボード イベントが発生した場合は、同時に修飾キーが押された状態になっていないかどうかを調べることができます。

  Alt キーは VirtualKey.Menu 値で表されます。

ショートカット キーの例

  Windows:

ショートカット キーを実装する方法を次の例で示します。この例では、ユーザーは [Play]、[Pause]、[Stop] の各ボタンまたは Ctrl + P、Ctrl + A、Ctrl + S の各キーボード ショートカットを使って、メディアの再生を制御できます。ボタンの XAML では、ボタン ラベルのヒントや AutomationProperties プロパティを使って、ショートカット キーを示します。このアプリ内の説明は、アプリの操作性とアクセシビリティを向上させるために重要です。詳しくは、「キーボード アクセシビリティの実装」をご覧ください。

ページが読み込まれるときに、入力フォーカスをページそのものに設定していることにも注目してください。この手順を実行しなければ、最初の入力フォーカスがどのコントロールにも設定されず、ユーザーが手動で入力フォーカスを設定する (Tab キーを使ってコントロールを選ぶ、コントロールをクリックするなど) までアプリで入力イベントが発生しません。


<Grid KeyDown="Grid_KeyDown">

  <Grid.RowDefinitions>
    <RowDefinition Height="Auto" />
    <RowDefinition Height="Auto" />
  </Grid.RowDefinitions>

  <MediaElement x:Name="DemoMovie" Source="xbox.wmv" 
    Width="500" Height="500" Margin="20" HorizontalAlignment="Center" />

  <StackPanel Grid.Row="1" Margin="10"
    Orientation="Horizontal" HorizontalAlignment="Center">

    <Button x:Name="PlayButton" Click="MediaButton_Click"
      ToolTipService.ToolTip="Shortcut key: Ctrl+P"
      AutomationProperties.AcceleratorKey="Control P">
      <TextBlock>Play</TextBlock>
    </Button>

    <Button x:Name="PauseButton" Click="MediaButton_Click"
      ToolTipService.ToolTip="Shortcut key: Ctrl+A" 
      AutomationProperties.AcceleratorKey="Control A">
      <TextBlock>Pause</TextBlock>
    </Button>

    <Button x:Name="StopButton" Click="MediaButton_Click"
      ToolTipService.ToolTip="Shortcut key: Ctrl+S" 
      AutomationProperties.AcceleratorKey="Control S">
      <TextBlock>Stop</TextBlock>
    </Button>

  </StackPanel>

</Grid>



protected override void OnNavigatedTo(NavigationEventArgs e)
{
    // Set the input focus to ensure that keyboard events are raised.
    this.Loaded += delegate { this.Focus(FocusState.Programmatic); };
}

private void Grid_KeyUp(object sender, KeyRoutedEventArgs e)
{
    if (e.Key == VirtualKey.Control) isCtrlKeyPressed = false;
}

private void Grid_KeyDown(object sender, KeyRoutedEventArgs e)
{
    if (e.Key == VirtualKey.Control) isCtrlKeyPressed = true;
    else if (isCtrlKeyPressed)
    {
        switch (e.Key)
        {
            case VirtualKey.P: DemoMovie.Play(); break;
            case VirtualKey.A: DemoMovie.Pause(); break;
            case VirtualKey.S: DemoMovie.Stop(); break;
        }
    }
}

private void MediaButton_Click(object sender, RoutedEventArgs e)
{
    switch ((sender as Button).Name)
    {
        case "PlayButton": DemoMovie.Play(); break;
        case "PauseButton": DemoMovie.Pause(); break;
        case "StopButton": DemoMovie.Stop(); break;
    }
}


  XAML で AutomationProperties.AcceleratorKey または AutomationProperties.AccessKey を設定すると、(その特定の操作を呼び出すためのショートカット キーを説明する) 文字列情報が提供されます。この情報は、ナレーターなどの Microsoft UI オートメーション クライアントによってキャプチャされ、通常は、直接ユーザーに提供されます。AutomationProperties.AcceleratorKey または AutomationProperties.AccessKey を設定しても、それだけでは操作は実行されません。実際にアプリにキーボード ショートカットの動作を実装するには、KeyDown イベントまたは KeyUp イベントのハンドラーをアタッチする必要があります。また、アクセス キーの下線も自動的には追加されません。UI で下線付きのテキストを表示する場合は、インラインの Underline 書式設定として、ニーモニックの特定のキーのテキストに明示的に下線を表示する必要があります。

キーボード ルーティング イベント

KeyDownKeyUp などの特定のイベントがルーティング イベントです。ルーティング イベントでは、バブル ルーティング方式が採用されています。バブル ルーティング方式では、子オブジェクトで発生したイベントが、オブジェクト ツリー内で上位にある親オブジェクトに順にルーティング (バブルアップ) されます。つまり、同じイベントを処理し、同じイベント データを操作する機会が増えることを意味します。

次の XAML の例では、1 つの Canvas と 2 つの Button オブジェクトについて、KeyUp イベントを処理します。この場合、どちらかの Button オブジェクトにフォーカスがある間にキーを離すと、KeyUp イベントが発生します。イベントはその後、親 Canvas までバブルアップされます。


<StackPanel KeyUp="StackPanel_KeyUp">
  <Button Name="ButtonA" Content="Button A"/>
  <Button Name="ButtonB" Content="Button B"/>
  <TextBlock Name="statusTextBlock"/>
</StackPanel>


次の例は、前に示した XAML コンテンツに対応する KeyUp イベント ハンドラーの実装方法を示しています。


void StackPanel_KeyUp(object sender, KeyRoutedEventArgs e)
{
    statusTextBlock.Text = String.Format(
        "The key {0} was pressed while focus was on {1}",
        e.Key.ToString(), (e.OriginalSource as FrameworkElement).Name);
}


このハンドラーで OriginalSource プロパティが使われていることに注意してください。この例では、OriginalSource がイベントの発生元のオブジェクトを報告します。StackPanel はコントロールではなく、フォーカスを受け取ることもできないため、StackPanel がこのオブジェクトになることはありません。StackPanel 内の 2 つのボタンのどちらか 1 つのみがイベントの発生元である可能性がありますが、発生元を調べるにはどうすればよいでしょうか。親オブジェクトのイベントを処理する場合は、OriginalSource を使って、実際のイベント ソース オブジェクトを判別します。

イベント データ内の Handled プロパティ

イベント処理の方針によっては、1 つのイベント ハンドラーだけがバブル イベントに応答するようにした方がよい場合もあります。たとえば、Button コントロールの 1 つに固有の KeyUp ハンドラーをアタッチすると、最初にそのイベントを処理するのはそのコントロールになります。このとき、親パネルではイベントが処理されないようにします。このようなシナリオでは、イベント データ内の Handled プロパティを使います。

ルーティング イベント データ クラスの Handled プロパティは、イベント ルート上で先に登録された別のハンドラーが既に処理を実行したことを示すためのプロパティで、ルーティング イベント システムの動作に影響します。イベント ハンドラー内で Handledtrue に設定すると、そのイベントのルーティングはそこで終了し、上位の親要素に伝達されません。

AddHandler イベントと処理済みキーボード イベント

特殊な方法で、既に処理済みとしてマークされているイベントに対して処理を実行できるハンドラーをアタッチすることができます。この方法では、XAML 属性や各言語のハンドラー追加構文 (C# の場合は +=) を使わずに、AddHandler メソッドを使ってハンドラーを登録します。一般的に、この方法には、AddHandler API が RoutedEvent 型のパラメーターを受け取るという制限があります。このパラメーターで対象のルーティング イベントを識別します。一部のルーティング イベントには RoutedEvent 識別子がないため、Handled の状態でも処理できるルーティング イベントを識別する場合に考慮する必要があります。UIElementKeyDown イベントと KeyUp イベントには、ルーティング イベント識別子 (KeyDownEventKeyUpEvent) があります。これに対し、TextBox.TextChanged などのイベントにはルーティング イベント識別子がないため、AddHandler を使う方法は利用できません。

コマンド実行

ごく一部の UI 要素では、コマンド実行が組み込みでサポートされています。コマンド実行の基になる実装では、入力に関連するルーティング イベントを使います。この方法では、1 つのコマンド ハンドラーを呼び出して、特定のポインター操作、特定のショートカット キーなどの関連する UI 入力を処理できます。

UI 要素でコマンド実行を使うことができる場合は、個々の入力イベントではなく、コマンド実行 API を使うことを検討してください。詳しくは、「ButtonBase.Command」をご覧ください。

ICommand を実装して、通常のイベント ハンドラーから呼び出すコマンド機能をカプセル化することもできます。この方法では、使うことができる Command プロパティがない場合でも、コマンド実行を使うことができます。

テキスト入力とコントロール

キーボード イベントに固有の処理で対応するコントロールもあります。たとえば、TextBox は、キーボードを使って入力されたテキストをキャプチャし、表示するためのコントロールです。このコントロールでは、キーボード操作をキャプチャするために、固有のロジックで KeyUpKeyDown が使われます。また、テキストが実際に変化した場合には、固有の TextChanged イベントを発生させます。

TextBox などのテキスト入力系のコントロールに KeyUpKeyDown のハンドラーを追加できないわけではありません。通常は、これらのハンドラーを追加することもできます。ただし、コントロールは、その設計上、キー イベントを通じて伝達されたすべてのキー値に対応するわけではありません。動作はコントロールによって異なります。

たとえば、ButtonBase (Button の基底クラス) では、Space キーまたは Enter キーの操作を確認するために KeyUp が処理されます。ButtonBaseKeyUp を、Click イベントを生成するためにマウスの左ボタンを押す操作と同等と見なします。このイベント処理は、ButtonBase が仮想メソッド OnKeyUp をオーバーライドすることで実現されています。この実装では、Handledtrue に設定されます。このため、あるボタンの親がキー イベント (たとえば Space バー) をリッスンしていても、既に処理されたイベントをハンドラーで受け取ることはありません。

別の例としては、TextBox があります。方向キーなどの一部のキーは TextBox によってテキストと見なされず、コントロール UI 動作に固有のキーと見なされます。 TextBox は、これらのイベント ケースを処理済みとしてマークします。

カスタム コントロールで OnKeyDown または OnKeyUp をオーバーライドすると、キー イベントに対する同様のオーバーライド動作を独自に実装できます。カスタム コントロールで特定のショートカット キーを処理する場合、または TextBox の説明で示したシナリオのようなコントロールの動作またはフォーカスの動作を使う場合、OnKeyDown または OnKeyUp のオーバーライドにこのロジックを組み込む必要があります。

タッチ キーボード

テキスト入力コントロールでは、タッチ キーボードが自動的にサポートされます。ユーザーがタッチ入力を使って、テキスト コントロールに入力フォーカスを設定すると、タッチ キーボードが自動的に表示されます。入力フォーカスがテキスト コントロールにないときには、タッチ キーボードが表示されません。

タッチ キーボードが表示されると、フォーカスがある要素をユーザーが見ることができるように、UI が自動的に再配置されます。この場合、他の重要な UI 領域が画面の表示領域外に移動することがあります。ただし、タッチ キーボードが表示されたときの既定の動作を無効にして、独自に UI を調整することができます。詳しくは、スクリーン キーボードを表示したときの対応のサンプルのページをご覧ください。

テキスト入力を必要とするカスタム コントロールを、標準のテキスト入力コントロールからの派生コントロールとして作成しない場合は、適切な UI オートメーション コントロール パターンを実装してタッチ キーボードを追加し、サポートできます。詳しくは、タッチ キーボードのサンプルのページをご覧ください。

タッチ キーボードのキーが押されると、ハードウェア キーボードのキーが押されたときとまったく同じように、KeyDown イベントと KeyUp イベントが発生します。ただし、タッチ キーボードでは、Ctrl + A、Ctrl + Z、Ctrl + X、Ctrl + C、Ctrl + V に対応する入力イベントは発生しません。これらは、入力コントロールでテキストを操作するために予約されています。

キーボード操作のサポートのユーザー エクスペリエンス ガイドラインに関するページ

ここでは、キーボード操作をサポートするためのガイドラインを示します。

全般

  •   Windows:

    ユーザーが、アプリでサポートされているすべてのタスクをハードウェア キーボードまたはスクリーン キーボードだけで実行できるようにしてください。
      タッチ キーボードはテキスト入力にのみ使い、アプリ コマンドやシステム コマンドの入力には使いません。
  • アプリの起動時に、ユーザーが最初に直感的に操作する (または、その可能性が最も高い) 要素に、最初のキーボード フォーカスを設定します。通常は、アプリのメイン コンテンツ ビューが最適な場所です。ユーザーはすぐに方向キーを使ってコンテンツをスクロールできます。特定のコントロールにフォーカスを設定する方法について詳しくは、「Focus」をご覧ください。
  •   Windows:

    Tab キーと方向キーを押したときに、論理的な順序でコンテンツ内を移動するようにします。
  • 既定でタブ オーダーに含まれない対話型 UI 要素の TabIndex プロパティは、すべて 0 以上の値に設定します。スクリーン リーダー ユーザーは Tab キーを使って対話型の UI 要素間を移動するので、TabIndex プロパティの設定は重要です。
  •   Windows:

    コンポジット要素の子要素間で正しい内部ナビゲーションを実行するために、キーボード ショートカットとして方向キーを使います。ツリー ビュー ノードに、展開折りたたみとノードのアクティブ化を処理するための別の子要素がある場合は、左右の方向キーを使って、キーボードの展開折りたたみ機能を提供します。
  • クリックできる各 UI 要素をキーボードでも呼び出すことができるようにします。
  •   Windows:

    アプリの主な機能にキーボード ショートカットを実装します (ショートカットは、ユーザーが効率的にアプリの機能にアクセスできるようにして、生産性を向上させるためのキーの組み合わせです)。

    アクセス キーは、アプリ内の UI 要素へのショートカットです。アクセス キーは、Alt キーと文字キーで構成されます。

    ショートカット キーは、アプリ コマンドへのショートカットです。アプリには、コマンドに正確に対応する UI を実装できます。ショートカット キーは、Ctrl キーと文字キーで構成されます。

    スクリーン リーダーやその他の支援技術を使うユーザーがアプリのショートカット キーを簡単に見つけられるようにする必要があります。アプリの HTML マークアップで AccessKey プロパティを使ってショートカット キーを宣言します。さらに、ヒント、アクセシビリティ対応の名前、アクセシビリティ対応の説明など、画面上の伝達形式を使ってショートカット キーを伝えます。ショートカット キーについてアプリのヘルプ コンテンツで十分に説明する必要があります。

    ショートカット キーの実装について詳しくは、Windows ユーザー エクスペリエンス ガイドラインのショートカット キーに関する説明をご覧ください。

    ユーザーが Windows ストア アプリで使い慣れている既定のキーボード ショートカットを定義し直さないください。完全な一覧については、「キーボード ショートカット」をご覧ください。

ハードウェア

キーボードが接続されているかどうかを判断し、アプリ UI のどの部分にキーボード ハードウェアが直接アクセスできるかを特定するために、キーボード デバイス機能 (KeyboardCapabilities) を照会します。デバイス機能の照会について詳しくは、「クイック スタート: ポインター デバイスの識別」をご覧ください。

キーボード ボタンを、アプリの適切な UI ("戻る" ボタンと "進む" ボタン) に関連付けてください。

視覚的なフィードバック

  • キーボード操作でのみフォーカス用の四角形を使います。ユーザーがタッチ操作を始めたら、キーボードの UI を徐々にフェード アウトします。 これにより、UI の簡潔さが保たれます。
  • 静的テキストなど、要素で対話式操作がサポートされていない場合は、視覚的なフィードバックを返さないでください。
  • 同じ入力対象を表すすべての要素に対して視覚的なフィードバックを同時に表示します。
  • パン、回転、ズームなど、タッチ ベースの操作をエミュレートするためのヒントとして画面ボタンを提供します (+、- など)。

視覚的なフィードバックに関する一般的なガイダンスについては、「視覚的なフィードバックのガイドライン」をご覧ください。

関連トピック

概念
ユーザー操作への応答
クイック スタート: HTML コントロールの追加とイベントの処理
キーボード アクセシビリティの実装
C++、C#、または Visual Basic を使った Windows ストア アプリのアクセシビリティ
テキストの表示と編集
Input Hosting Manager とタッチ キーボード

 

 

表示:
© 2015 Microsoft