2008-10-28 4 views
0

<button>에 액세스 키가 있습니다. 단추가 보이면 액세스 키가 제대로 작동하지만 display: none 또는 visibility: hidden을 설정하면 액세스 키가 더 이상 작동하지 않습니다.보이지 않는 HTML 요소에 대한 액세스 키를 정의하는 방법

  • 이용 다른 요소 타입 : A, 입력 (다양한 유형에도 관대)

    또한 성공없이 시도.
  • 보이지 않는 컨트롤을 래핑하는 레이블에 액세스 키를 할당하십시오.

참고로 표준 동작인지는 모르겠지만 Firefox 3 이전 버전에서는 표시 여부에 관계없이 액세스 키가 작동하는 것처럼 보였습니다.

답변

5

표시되는 동작이 정확합니다. 표시되지 않은 요소에 "액세스"할 수 없습니다. 샐의 제안은 거의 틀림없이 작동 할 것입니다. 그러나 이것을하기 위해 당신의 목적이 무엇인지 물어봐도 될까요? 달성하려는 목표를 달성하는 데 더 좋은 방법이있을 것입니다. keypress 핸들러 사용을 고려 했습니까?

키 누르기 처리기를 원하지 않는다면 다른 제안을 원할 수도 있습니다. 시도 위치 : 절대; 왼쪽 : -9999px; 귀하의 콘텐츠를 페이지 밖으로 끌어 올 수 있습니다. 또는 절대 위치를 사용하고 불투명도를 0으로, z- 인덱스를 -1로 변경하십시오. position 절대 값을 사용하면 요소가 페이지의 다른 내용의 배치에 영향을주지 않으므로 불투명도를 설정하면 내용이 보이지 않습니다. 불투명도가 0으로 설정되어 있어도 요소를 계속 클릭 할 수는 있지만 볼 수는 없지만 페이지의 다른 요소를 클릭 할 수 없으므로 음수의 Z- 색인을 사용하여 다른 콘텐츠 뒤로 가져갈 수 있습니다. 대신 가시성 또는 디스플레이 속성

+0

기본 설정에 따라 사용자는 버튼을 보지 않고 (다른 콘텐츠를 오버레이 함) 대화 상자에 계속 액세스 할 수 있습니다. 최후의 수단으로 이벤트 훅을 고려할 것입니다 :) 스크립트는 다음과 같습니다. http://userscripts.org/scripts/show/35942 –

+0

키 누르기 핸들러를 원하지 않으면 다른 제안을 원합니다. . 시도 위치 : 절대; 왼쪽 : -9999px; 귀하의 콘텐츠를 페이지 밖으로 끌어 올 수 있습니다. 또는 절대 위치를 사용하고 불투명도를 0으로, z- 인덱스를 -1로 변경하십시오. – Prestaul

+0

불투명도 0은 Z- 인덱스 -1없이 트릭을 수행합니다. 크로스 브라우저에 모두 필요합니까? 그리고 감사합니다! 이것을 답으로 가져 오면이 대답을 받아 들일 것입니다. –

2

음수 여백을 적용하여 표시된 페이지의 outsite 요소를 푸시 (push) 할 수 있습니다. 나는 많은 브라우저와 텍스트 리더가 display:none과 아마도 visibility:hidden을 가진 요소를 무시한다고 생각한다.

0

페이지의 외부

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

경고 버튼을 위치 : 당신의 CSS에 height: 0px; margin: 0px; padding: 0px; : 대신 상단의 왼쪽 사용은 IE7

1

가장 쉬운 솔루션에 이상한 표시 버그의 원인 .

관련 문제