Web Kısayolları için En İyi Değiştirici Tuş Kombinasyonu


14

Web sitemin birçok kullanıcısı, sık görüntülenen sayfalara erişmek için klavye kısayollarını istedi. Bağlantıların olabileceğini biliyorum accesskeyancak bunlara erişmek tarayıcılar arasında tutarsız . Kısayolu algılamak için JavaScript kullanacağım ve değiştirici anahtar (lar) ın ne olması gerektiğine dair girişinizi istiyorum. Ctrl+ ' Ya yaslanıyorum Shift.

Yanıtlar:


12

Muhtemelen "yerleşik uygulama" olarak adlandırmak için iki örnek yeterli değildir, ancak en azından iki büyük örnek vardır: Hem Google hem de Twitter hiçbirini kullanmaz. Veya bu şekilde görmek istiyorsanız, gezinme için değiştirici anahtarlarıdır G.

Twitter "sık" sayfasına gitmek için, vurmak G, sonra F. Gmail taslakları klasörünüze gitmek için Gtuşuna basın D.

Gezinme dışı kısayollar da basit harfler kullanır; örneğin Jbir listede ilerlemek için (tweetler, e-postalar, vb.), Kgeri gitmek için. *

* Kitabımda, bu kesinlikle yanlış. Bana göre, "K" nin solundaki "J", "J" nin "önceki" ve "K" nın "sonraki" olması gerektiği anlamına gelir. Ancak, bunu başka yollarla yapmak standart gibi görünüyor.

İkisi de "gerçek" değiştirici anahtar kullanmaz. Ayrıca Stack Exchange siteleri için klavye kısayollarına bakmaya başlıyoruz ve muhtemelen aynı şeyi yapacağız. Değiştirici anahtar kullanmamanın iki nedeni daha var:

  • Halihazırda kullanılmakta olan bir şeyin üzerinde gezinme olasılığı daha düşüktür. Ctrl, Alt, Meta, Command, Shift öğelerinin bir harfle herhangi bir kombinasyonu muhtemelen bazı işletim sistemi, pencere yöneticisi, tarayıcı, tarayıcı eklentisi veya Greasemonkey komut dosyası tarafından alınmıştır. Harf okunur? Çok değil.
  • Kullanımı daha kolay. "Foo sekmesini açmak için Ctrl-Alt-Q tuşlarına, ardından Çubuk eylemini yürütmek için Meta-Shift-F12 tuşlarına basın" - bu, hayatımı daha kolay / hızlı yapmaz, bu da klavye kısayollarının tüm amacıdır.

Öte yandan, dikkate alınması gereken iki uyarı:

  • Açıkçası kullanıcı bir metin kutusuna yazarken tuş vuruşlarını görmezden gelmeniz gerekecektir. Bu teknik bir sorun değildir, ancak kullanıcının kısayolları kullanamayacağı anlamına gelir.

    Örneğin, sayfanız arama kutusunu otomatik olarak odaklıyorsa veya web uygulamanız çok metin girişi ağırsa, bu bir sorun oluşturabilir.

  • Etkinleştirme / devre dışı bırakma hakkında düşünmek isteyebilirsiniz. Klavye kısayolları güçlü bir kullanıcı özelliğidir; "normal" bir kullanıcı yanlışlıkla bir klavye kısayolunu tetiklediğinde şaşırtabilir (açıkçası bir değiştirici anahtar bunu daha az olası kılacaktır).

    Örneğin Gmail'de klavye kısayolları varsayılan olarak kapalıdır, bunun dışında ?(doğal olarak) kısayolların etkinleştirilmesi / devre dışı bırakılması için bir bağlantı da dahil olmak üzere klavye kısayolu yardımını gösterir . Klavye kısayollarının bir ayar yapmanın uygun olduğunu söyleyebileceğiniz bir alan olduğunu düşünüyorum (kullanıcı tercihleri ​​genellikle Stack Exchange sitelerinde kaçınmaya çalıştığımız bir şeydir) ve Google'ın bunun için çözümü bunun için iyi görünüyor.

    Ancak "varsayılan olarak kapalı" açıkçası bir sorun olabilir veya olmayabilir, keşfedilebilirliği gizler.

- ama her şey göz önüne alındığında, "değiştirici anahtar yok" benim için iyi bir çözüm gibi görünüyor.


3
Bileşik değiştirici kombinasyonlarındaki başka bir nokta (Foo sekmesini açmak için Ctrl-Alt-Q tuşlarına, ardından Meta-Shift-F12'ye basın) - böyle bir erişilebilirlik perspektifinden oldukça garip. Veya sadece garip bir klavyeniz olsa bile (öksürük), bazı kombinasyonlar parmak jimnastiği gerektirebilir. Tek tuşlar: zahmetsiz.
Marc Gravell

2
Bu mükemmel bir gönderi @balpha. J'nin "aşağı" ve K'nın "yukarı" olduğunu belirtmek istiyorum. VIM metin editörü aynı mantığı kullanıyor
Mikhail

@Mikhail: Bunun farkındayım, ama bu mantığa katılmıyorum - sonuçta J, K'nın solunda. Benim için, J "aşağı" ise, U "yukarı" olmalıdır . Ama sanırım buna
alışacağım

1
rollmops.wordpress.com/2006/05/01/vintage-computer HJKL anahtarları, web var olmadan önce bu şekilde kullanılmıştır. Bu noktada, bu bir gelenek!
Kevin Panko

8

'En iyi' veya evrensel tuş değiştirici seçeneği yoktur

En iyi seçenekleriniz:

  1. Değiştirici anahtar kullanmayın (yalnızca tek tuş basma), ardından Google'ın Gmail kısayollarında yaptığı gibi kullanıcının imleci bir giriş alanında veya metin alanındayken tuş basımlarını algılamayı durdurun .

    - veya -

  2. Analytics verilerinizdeki işletim sistemi istatistiklerine göre ziyaretçilerinizin çoğuna uyan bir varsayılan seçin. Kısayollar isteyen güçlü kullanıcıların masaüstü ayarlarında olduğu gibi kullanıcı ayarlarında değiştirici anahtarı geçersiz kılmalarına izin verin.

    - veya -

  3. Değiştirici anahtar yerine 'tetik' anahtarı kullanın. Örneğin, ,2sekmeli gezinme alanınızdaki ikinci sekmeye ve üçüncü sekmeye gitmeyi düşünün ,3. Hemen ardından bir sayı gelen bir virgül kombinasyonu, çatışma veya kazara baskı olasılığını azaltacak kadar sıra dışıdır.

Her durumda, muhtemelen kısayol tuşlarını umursamayan kullanıcıların çoğunda beklenmedik davranışları önlemek için kısayol tuşlarını varsayılan olarak devre dışı bırakmayı düşünebilirsiniz .

Neden sadece bir değiştirici kombinasyonu seçmiyorsunuz?

Bu yöntemleri önermemin nedeni, bir tarayıcı ortamında JavaScript ile güvenli olarak kullanabileceğiniz standart bir platformlar arası değiştirici anahtar olmamasıdır. Her şey içeren Ctrl, Shift, Alt, veya Cmdmuhtemel bazı platformlarda bazı tarayıcı kısayolları kıracak.

Örneğin Ctrl+ kullanma öneriniz Shift, Windows'taki Firefox kısayollarını kırar; bunların çoğu, tüm açık sekmeleri yer imlerine ekleyen + + gibi özel işlevleri gerçekleştirmek için kullanır .CtrlShiftD

Tarayıcı üreticileri, platformlar arası bir standart olmadığı için her farklı platformda erişim anahtarlarını tetiklemek için farklı kısayollar kullanır. Apple Ctrl, örneğin Mac'te ve AltSafari'de Windows'ta kullanır .

Dahası, her tarayıcı kısayol çakışmalarını farklı şekilde çözer ve bu, kullanıcılarınız için beklenmedik sonuçlara yol açar. JavaScript'te yerel tarayıcı kısayolu olarak da bağlayıcı olan bir işleve bir tuşa bastığınızda ...

  • Firefox, JavaScript kısayolunu kendi başınıza return false;çalıştırır, ancak JavaScript işlevinizi ve ardından Firefox tarayıcı kısayolunu return true;çalıştırırsanız (yani her ikisini de varsayılan olarak çalıştırır.)
  • IE, JavaScript işlevini ve ardından IE tarayıcı kısayolunu çalıştırır.
  • Safari / Chrome / Opera tarayıcı kısayolunu işleyecek, ancak JavaScript kısayolunu işlemeyecektir.

[Kaynak: John Resig'in jquery.hotkeys benioku sayfasının eteklerindeki zeyilname .]


Eşzamanlı olmayan yaklaşımı seviyorum. Ben muhtemelen; anahtar
Mikhail
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.