보이지 않는 HTML 요소에 대한 Accesskey를 어떻게 정의 할 수 있습니까?

StackOverflow https://stackoverflow.com/questions/244063

  •  04-07-2019
  •  | 
  •  

문제

나는있다 <button> 액세스키가 엉망이되었습니다. 액세스 키는 버튼이 보이는 한 잘 작동하지만 설정할 때 display: none 또는 visibility: hidden, Accesskey는 더 이상 작동하지 않습니다.

또한 성공하지 않고 시도했습니다.

  • 다른 요소 유형을 사용하십시오 : a, 입력 (다양한 유형, 심지어 유형이 없음).
  • 보이지 않는 컨트롤을 감싸는 레이블에 액세스키를 할당하십시오.

이것이 표준 동작인지 확실하지 않지만 Firefox 3 이전에는 Accesskey가 가시성에 관계없이 작동하는 것처럼 보였습니다.

도움이 되었습니까?

해결책

당신이보고있는 행동은 정확합니다. 표시되지 않은 요소에 "액세스"할 수 없습니다. Sal의 제안은 거의 확실하게 효과가 있지만, 당신의 목적이 무엇을하는지 물어볼 수 있습니까? 당신이 달성하려는 것을 달성하는 더 좋은 방법이있을 것입니다. Keypress 핸들러 사용을 고려해 보셨습니까?

Keypress 핸들러를 원하지 않으면 다른 제안과 함께 가고 싶을 것입니다. 시도 위치 : 절대; 왼쪽 : -9999px; 콘텐츠를 페이지에서 꺼내려면 또는 절대 위치를 사용하고 불투명도를 0으로, z -index를 -1로 변경하십시오. 위치 절대를 사용하면 요소가 페이지에서 다른 컨텐츠의 위치에 영향을 미치지 않으면 불투명도를 설정하면 표시되지 않습니다. 불투명도가 0으로 설정되어 있더라도 요소를 클릭 할 수 있지만 볼 수는 없지만 페이지의 다른 요소를 클릭 할 수 없으므로 음의 z-index를 사용하여 다른 콘텐츠 뒤에 가져 오십시오.

다른 팁

가시 페이지의 요소를 외부로 밀기 위해 음수 마진을 적용 할 수 있습니다. 많은 브라우저와 텍스트 독자가 요소를 무시한다고 생각합니다. display:none 그리고 아마도 visibility:hidden.

가장 쉬운 해결책 : height: 0px; margin: 0px; padding: 0px; CSS에서.

가시성 또는 디스플레이 속성 대신 페이지 외부에 버튼을 배치합니다.

<button accesskey="a" style="position: absolute; top: -9999px">button</button>

경고 : 상단 대신 왼쪽을 사용하면 IE7의 이상한 디스플레이 버그가 발생합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top