웹 바로 가기를위한 최고의 수정 자 키 조합


14

내 웹 사이트의 많은 사용자가 자주 보는 페이지에 액세스하기 위해 키보드 단축키를 요청했습니다. 링크가있을 수 accesskey있지만 링크 에 액세스하는 것은 브라우저간에 일관성 이 없다는 것을 알고 있습니다 . JavaScript를 사용하여 바로 가기를 감지하고 수정 자 키에 대한 입력을 원합니다. Ctrl+ 쪽으로 기울고 Shift있습니다.

답변:


12

두 가지 예는 아마도 "확립 된 관행"이라고하기에는 충분하지 않지만 적어도 두 가지 큰 예입니다. Google과 Twitter는 모두 사용하지 않습니다. 또는 이런 식으로 보려면 탐색을위한 수정 자 키는 G입니다.

Twitter "즐겨 찾기"페이지로 이동하려면을 G누른 다음 을 누르십시오 F. 귀하의 Gmail 초안 폴더로 이동하려면, 충돌 GD.

비 탐색 바로 가기도 간단한 문자를 사용합니다. 예 : J목록 (앞으로 트윗, 이메일 등)에서 K뒤로 이동하는 경우. *

* 내 책에서 이것은 절대적으로 잘못입니다. 나에게, "K"의 왼쪽에있는 "J"는 "J"가 "이전"이어야하고 "K"가 "다음"이어야 함을 의미합니다. 그러나 다른 방법으로 수행하는 것이 표준 인 것 같습니다.

둘 다 "실제"수정 자 키를 전혀 사용하지 않습니다. 또한 Stack Exchange 사이트의 바로 가기 키를 살펴보기 시작했으며 동일한 작업을 수행 할 것입니다. 수정 자 키를 전혀 사용하지 않는 이유가 두 가지 더 있습니다.

  • 이미 사용중인 것을 넘어 뜨릴 가능성이 적습니다. Ctrl, Alt, Meta, Command, Shift와 문자의 조합은 아마도 일부 운영 체제, 창 관리자, 브라우저, 브라우저 플러그인 또는 Greasemonkey 스크립트에 의해 이미 사용되었을 것입니다. 문자 만? 별로.
  • 사용하기 쉽습니다. "Ctrl-Alt-Q를 눌러 Foo 탭을 연 다음 Meta-Shift-F12를 눌러 Bar 작업을 실행하십시오."-키보드 단축키의 목적인 내 인생을 더 쉽고 빠르게 만들 수는 없습니다.

반면에 고려해야 할 두 가지 경고가 있습니다.

  • 사용자가 텍스트 상자에 입력하는 동안 키 입력이 발생하면 무시해야합니다. 이것은 기술적 인 문제는 아니지만 사용자가 바로 가기를 사용할 수 없음을 의미합니다.

    예를 들어, 페이지가 검색 창에 자동으로 초점을 맞추거나 웹 앱이 텍스트를 많이 입력하는 경우 문제가 될 수 있습니다.

  • 활성화 / 비활성화에 대해 생각할 수 있습니다. 키보드 단축키는 고급 사용자 기능입니다. "일반적인"사용자는 실수로 키보드 단축키를 트리거 할 때 놀라게 될 수 있습니다 (분명히 수정 자 키는이를 덜 가능하게합니다).

    예를 들어 Gmail은 키보드 단축키가 기본적으로 꺼져 있지만 ?단축키 를 활성화 / 비활성화하는 링크를 포함 하여 키보드 단축키 도움말을 자연스럽게 표시하는 경우는 예외입니다 . 키보드 단축키는 설정을해도 괜찮다고 말할 수있는 영역이라고 생각합니다 (사용자 환경 설정은 일반적으로 Stack Exchange 사이트에서 피하려고 시도하는 것입니다).

    그러나 "기본적으로 해제되어 있음"은 발견 가능성을 숨기고 있으며 이는 문제가 될 수도 있고 아닐 수도 있습니다.

– "모디파이어 키 없음"으로 간주되는 모든 것들은 나에게 좋은 해결책 인 것 같습니다.


3
컴파운드 수정 자 콤보의 또 다른 점은 Ctrl-Alt-Q를 눌러 Foo 탭을 연 다음 Meta-Shift-F12를 누르는 것입니다. 실제로 접근성 측면에서 상당히 어색합니다. 또는 이상한 키보드 (기침) 만 있어도 일부 조합에는 손가락 체조가 필요할 수 있습니다. 단일 키 : 손쉬운 기능.
Marc Gravell

2
그것은 훌륭한 게시물 @balpha입니다. J는 "down"이고 K는 "up"입니다. VIM 텍스트 편집기는 동일한 논리를 사용합니다
Mikhail

@ Mikhail : 나는 그것을 알고 있지만 그 논리에 동의하지 않습니다. 결국 J는 K의 왼쪽에 있습니다 .J가 "아래로"이면 U는 "위로"있어야합니다. . 그러나 나는 그것에 익숙해 질 것이라고 생각합니다 :)
balpha

1
rollmops.wordpress.com/2006/05/01/vintage-computer HJKL 키는 웹이 존재하기 전부터 이런 식으로 사용되었습니다. 이 시점에서 그것은 전통입니다!
Kevin Panko

8

'최고'또는 범용 키 수정 자 선택이 없습니다

가장 좋은 옵션은 다음과 같습니다.

  1. 수정 자 키를 사용하지 않고 (단일 키 누르기 만 해당) 사용자가 커서를 입력 필드 나 텍스트 영역에 놓으면 Google이 Gmail 바로 가기를 사용하는 것처럼 키 누르기를 감지하지 않습니다 .

    -또는-

  2. 웹 로그 분석 데이터에서 운영 체제 통계를 기반으로 방문자의 대다수에게 적합한 기본값을 선택하십시오. 바로 가기를 원하는 고급 사용자가 바로 가기 소프트웨어를 활성화하고 데스크톱 소프트웨어와 동일한 방식으로 사용자 설정에서 수정 자 키를 재정의 할 수 있습니다.

    -또는-

  3. 수정 자 키 대신 '트리거'키를 사용하십시오. 고려 ,2하여 탭 탐색 영역에서 두 번째 탭으로 이동하고 ,3, 예를 들어, 세 번째로 이동합니다. 쉼표와 숫자가 바로 뒤 따르면 충돌이나 실수로 인한 프레스 가능성을 줄일 수있을 정도로 비정상적입니다.

모든 경우에, 바로 가기 키를 신경 쓰지 않는 대부분의 사용자에게 예기치 않은 동작을 방지하기 위해 기본적 으로 바로 가기 키를 비활성화하는 것을 고려할 수 있습니다 .

왜 수정 자 콤보를 선택하지 않습니까?

이 방법을 제안하는 이유는 브라우저 환경에서 JavaScript와 함께 안전하게 사용할 수있는 표준화 된 크로스 플랫폼 수정 자 키가 없기 때문입니다. 아무것도 포함 Ctrl, Shift, Alt, 또는 Cmd가능성이 특정 플랫폼에서 일부 브라우저 바로 가기를 중단합니다.

예를 들어 Ctrl+ 사용을 제안하면 ShiftWindows에서 Firefox 단축키가 중단됩니다.이 단축키 중 많은 조합은 열려있는 모든 탭을 북마크하는 + + 와 같은 특수 기능 을 수행하기 위해 해당 조합을 사용 합니다.CtrlShiftD

크로스 플랫폼 표준이 없기 때문에 브라우저 제조업체는 서로 다른 바로 가기를 사용하여 각기 다른 플랫폼에서 액세스 키를 정확하게 트리거합니다. 예를 들어 Apple은 CtrlMac 및 AltWindows의 Safari에서 사용합니다.

또한 각 브라우저는 바로 가기 충돌을 다르게 해결하므로 사용자에게 예기치 않은 결과가 발생합니다. 기본 브라우저 바로 가기로 바인딩되는 JavaScript의 함수에 키 누르기를 바인딩 할 때 ...

  • Firefox는 사용자가 직접 JavaScript 단축키를 return false;실행하지만 JavaScript 기능을 실행 한 다음 Firefox 브라우저 단축키를 return true;실행 합니다 (예 : 기본적으로 둘 다 실행).
  • IE는 JavaScript 기능 다음에 IE 브라우저 단축키를 실행합니다.
  • Safari / Chrome / Opera는 브라우저 단축키를 처리하지만 JavaScript 단축키는 처리하지 않습니다.

[출처 : John Resig의 jquery.hotkeys 추가 정보 페이지 의 부록에있는 부록 ]


나는 비 동시 접근 방식을 좋아합니다. 아마 아마; 열쇠
Mikhail
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.