ASP.NET Web サーバー コントロールのタブ オーダー、フォーカス、およびアクセス キー
更新 : 2007 年 11 月
ASP.NET Web ページのコントロールを使用する際のユーザーの操作性を向上させるために、ユーザーが ASP.NET Web サーバー コントロール間をタブ移動できる順序を指定したり、ページを最初に開いたときにページ上のどのコントロールにフォーカスを置くかを指定したりできます。
タブ オーダー
ブラウザにページが表示されると、ユーザーは Tab キー (Windows の Tab および Shift + Tab) を使用して、ページ上のあるコントロールから別のコントロールへフォーカスまたは選択状態を移動できます。ほとんどのブラウザでは、既定でコントロールのタブ オーダーはそれをページに表示する順番を表し、ページの左上から始まりページの右下まで続きます。
コントロールの TabIndex プロパティを設定すると、そのタブ オーダーを制御できます。コントロールを表示するときに、タブ移動をサポートする必要のあるブラウザの属性に TabIndex 値が格納されます。たとえば Internet Explorer では、TabIndex 値はページ上の要素の tabindex 属性として格納されます。
タブ オーダーは値の大きい方向に順次移動するため、ユーザーが 3 に設定された TabIndex プロパティのコントロールから移動すると、フォーカスは 4 (またはそれより上) の TabIndex 値を持つコントロールに移動します。Internet Explorer を含む大部分のブラウザで、タブ オーダーにはブラウザのツール バー上に配置されたコントロールが含まれます。
一部のコントロールでは、Tab キーを押すとそのコントロールでポストバックを実行できます。たとえば、TextBox コントロールの AutoPostBack プロパティを true に設定した場合、変更されたテキストが含まれるテキスト ボックスから移動するとページがポストされます。
フォーカス
ブラウザにページが表示されると、ブラウザはどのコントロールにフォーカスを置くかを決定します。ほとんどの場合、ブラウザは最初に、ブラウザ ウィンドウ自体またはページ上の先頭にあるコントロールにフォーカスを置きます。このことはポストバック後の場合にも当てはまります。ポストバックするとサーバー上でページが再作成され、ブラウザはそれを新しいページと解釈するためです (ただし、このトピックの前の「タブ オーダー」セクションで説明した、Tab キーでポストバックが発生した後については除きます)。
アプリケーションで特定のコントロールにフォーカスを置く必要がある場合は、サーバー コードからコントロールのフォーカスを設定できます。詳細については、「方法 : ASP.NET Web サーバー コントロールにフォーカスを設定する」を参照してください。
フォーカスを受け取ることができないコントロールもあります。次に示すコントロールにはフォーカスを設定できます。
非表示のコントロールはフォーカスを受け取ることができません。直接フォーカスを受け取ることができなくても、フォーカスを受け取ることができる子コントロールを持っているコントロールにフォーカスを設定すると、最初の子コントロールがフォーカスを受け取ります。たとえば、Login コントロールにフォーカスを設定すると、Login コントロール内に配置された最初のテキスト ボックスがフォーカスを受け取ります。
アクセス キー
ASP.NET Web ページでのタブ オーダーのサポートに加え、アクセス キー (ホット キーとも呼ばれます) のサポートを追加できます。アクセス キーでは、ユーザーが Alt キーと別のキー (たとえば、Alt + S) を押すと、マウスを使用しないでページ上の特定のコントロールにジャンプできます。
詳細については、「方法 : ASP.NET Web サーバー コントロールにアクセス キーを設定する」を参照してください。