ASP.NET 웹 서버 컨트롤의 탭 순서, 포커스 및 선택키

Visual Studio 2010

업데이트: 2007년 11월

ASP.NET 웹 페이지에서 사용자의 컨트롤 사용 환경을 향상시키기 위해 사용자가 ASP.NET 웹 서버 컨트롤 간에 이동할 수 있는 탭 순서 및 페이지를 처음 열 때 해당 페이지에서 포커스를 가지는 컨트롤을 지정할 수 있습니다.

브라우저에 페이지가 표시되는 경우 사용자는 Tab 키(Windows의 Tab 키 및 Shift+Tab)를 사용하여 페이지에서 컨트롤 간에 포커스/선택을 이동할 수 있습니다. 기본적으로 대부분의 브라우저에서 컨트롤의 탭 순서는 해당 페이지의 왼쪽 위에서부터 오른쪽 아래까지를 범위로 하고 여기서 컨트롤이 나타나는 순서입니다.

컨트롤의 TabIndex 속성을 설정하여 탭 순서를 제어할 수 있습니다. 컨트롤이 렌더링되면 TabIndex 값은 탭 이동을 지원하는 데 필요한 브라우저 특성으로 렌더링됩니다. 예를 들어 Internet Explorer에서는 TabIndex 값이 페이지에 있는 요소의 tabindex 특성으로 렌더링됩니다.

탭 순서는 순차적으로 올라가므로 사용자가 TabIndex 속성이 3으로 설정된 컨트롤에서 이동하는 경우 포커스는 TabIndex 값이 4 이상인 컨트롤로 이동합니다. Internet Explorer를 포함한 대부분의 브라우저에서 탭 순서에는 브라우저 도구 모음에 있는 컨트롤이 포함되어 있습니다.

일부 컨트롤에서 Tab 키를 누르면 다시 게시가 수행될 수 있습니다. 예를 들어 TextBox 컨트롤의 AutoPostBack 속성을 true로 설정하는 경우 변경된 텍스트가 포함된 텍스트 상자에서 이동하면 페이지가 게시됩니다.

페이지가 브라우저에 렌더링되는 경우 브라우저에서는 포커스를 둘 컨트롤을 결정합니다. 대부분의 경우 브라우저에서는 처음에 브라우저 창 자체 또는 페이지의 첫 번째 컨트롤에 포커스를 둡니다. 페이지가 서버에서 다시 만들어지고 브라우저에서는 이 페이지를 새 페이지로 간주하므로 다시 게시 후에도 마찬가지입니다. 그러나 이 항목의 앞부분에 나오는 "탭 순서" 단원에서 설명했듯이 Tab 키를 사용하여 다시 게시를 수행한 경우는 예외입니다.

응용 프로그램에서 특정 컨트롤에 포커스를 두는 것이 중요한 경우에는 서버 코드에서 컨트롤에 포커스를 설정할 수 있습니다. 자세한 내용은 방법: ASP.NET 웹 서버 컨트롤에 포커스 설정을 참조하십시오.

일부 컨트롤은 포커스를 받을 수 없습니다. 다음과 같은 컨트롤에 포커스를 설정할 수 있습니다.

숨겨진 컨트롤은 포커스를 받을 수 없습니다. 포커스를 직접 받을 수는 없지만 포커스를 받을 수 있는 자식 컨트롤이 포함된 컨트롤에 포커스를 설정하면 첫 번째 자식 컨트롤에서 포커스를 받게 됩니다. 예를 들어 Login 컨트롤에 포커스를 설정하면 Login 컨트롤 내에 있는 첫 번째 텍스트 상자에서 포커스를 받습니다.

ASP.NET 웹 페이지에서 탭 순서 외에도 선택키(바로 가기 키라고도 함)에 대한 지원을 추가할 수 있습니다. 선택키를 통해 사용자는 Alt 키와 다른 키(예: Alt+S)를 함께 눌러 마우스를 사용하지 않고도 페이지의 특정 컨트롤로 이동할 수 있습니다.

자세한 내용은 방법: ASP.NET 웹 서버 컨트롤에 대한 선택키 설정을 참조하십시오.

표시: