2016-09-14 1 views
1

부트 스트랩 드롭 다운 구성 요소가있는 머리글이 있는데 tabindex를 사용하여 해당 요소로 키보드 탐색을 사용하려고합니다. 다음은 HTML과 간단한 CSS입니다 :드롭 다운에 대해 탭 인덱스 작업을 수행하는 방법은 무엇입니까?

HTML: 
<span class="pull-right"> 
    <span class="help-menu dropdown"> 
     <span class="dropdown-toggle" data-toggle="dropdown" role="button"> 
      <span class="help-header" tab-index="0">Help</span> 
     </span> 
      <ul class="dropdown-menu pull-right" tabindex="-1" role="menu"> 
      <li tabindex="-1"><a [href]="/help.html" target="_blank">Docs</a></li> 
      </ul> 
    </span> 
</span> 

CSS : 나는 탭을 수행 할 때

다음
.help-header{ 
    &:after{ 
     content: "\25BE"; //caret should be displayed! 
    } 
} 
.help-menu{ 
    display: inline-block; 
    cursor: pointer; 
    background: aqua; 
    margin-top: 10px; 
    margin-right: 20px; 
} 

는 지금 바이올린을 link

입니다 도움말이 포커스를 취득하지 않습니다. 그러나 help-header 클래스에서 tabindex를 제거하고 클래스 pull-right가있는 스팬 또는 클래스 help-menu 및 드롭 다운이있는 스팬에 적용하면 도움말 텍스트가 탭에 포커스를 갖게됩니다. 초점이 맞추어지기는하지만 타격하는 칸이나 공백 또는 아래쪽 화살표에서 드롭 다운을 볼 수 없습니다.

이 작업을 수행하는 방법을 잘 모르겠습니다. 나는 잠시 동안 그것을 알아 내려고 노력했지만 실패했습니다.

여기에 tabindex의 핵심 개념이 누락되었습니다. 누구든지 나를 도와 주거나 올바른 방향으로 나를 가리킬 수 있습니까?

고마워요.

건배.

답변

1

tabindex 특성은 페이지 내에서 포커스 가능 요소 (일반적으로 링크 및 양식 컨트롤)의 탐색 순서를 명시 적으로 정의합니다. 요소를 포커스 가능해야하는지 또는 이 아닌지 정의하는 데에도 사용할 수 있습니다.

[모두] tabindex = "0"및 tabindex = "-1"은 특별한 의미가 있으며 HTML에 고유 한 기능을 제공합니다. 0 값은 요소가 기본 탐색 순서로 배치되어야 함을 나타냅니다. 이렇게하면 기본적으로 포커스를 지정할 수없는 요소 인 (예 : <div>, <span><p>)이 키보드 포커스를받을 수 있습니다. 물론 모든 상호 작용하는 요소에 대해 일반적으로 링크와 양식 컨트롤을 사용해야하지만, 은 다른 요소에 초점을 맞춰 상호 작용을 유발할 수 있습니다.

의 tabindex = "- 1"값은 기본 탐색 흐름 (즉, 사용자 수없는 탭 그것에)로부터 요소를 제거하지만 의미 포커스 그것으로 설정 될 수 있고, 그것은 프로그래밍 포커스를 수신 할 수 있습니다 ** 으로 탭하면 안되는 요소에는 매우 유용하지만 포커스가 설정되어야 할 수도 있습니다.

좋은 예가 모달 대화 상자 창입니다. 대화 상자를 열면 포커스가 으로 설정되어 화면 판독기가 읽기 시작하고 키보드가 대화 상자 내에서 탐색을 시작합니다. (아마도 <div> 요소) 대화 상자는 기본적으로 포커스를 부여 할 수 없기 때문에 tabindex = "- 1"로 지정하면 이 표시 될 때 스크립트를 사용하여 포커스를 설정할 수 있습니다.

값 -1도 위젯 내에 하나만 요소가 탭 키 가항되도록 화살표 키 또는 다른 단축키를 이용 복잡한 위젯 메뉴에서 유용 할 수 있지만, 여전히 가 포커스를 허용 위젯 내의 다른 구성 요소에 설정할 수 있습니다. 특정 요소를 설정하려면

그래서 요약, 당신은 0에 값을 변경해야 키보드 탭으로 활성화 될 수있다.

관련 문제