La migliore combinazione di tasti modificatori per i collegamenti Web


14

Molti utenti del mio sito web hanno chiesto scorciatoie da tastiera per accedere alle pagine più visualizzate. So che i collegamenti potrebbero avere accesskeyma accedervi è incoerente tra i browser . Userò JavaScript per rilevare scorciatoie e vorrei il tuo input su quali dovrebbero essere i tasti modificatori. Mi sto inclinando verso Ctrl+ Shift.

Risposte:


12

Due esempi probabilmente non sono sufficienti per chiamarla "pratica consolidata", ma almeno due grandi esempi: Google e Twitter non ne usano nessuno. Oppure, se vuoi vederlo in questo modo, è il loro tasto modificatore per la navigazione G.

Per andare alla tua pagina "preferiti" di Twitter, premi G, quindi F. Per andare alla cartella delle bozze di Gmail, premi Gquindi D.

Le scorciatoie non di navigazione usano anche semplici lettere; ad es. Jper avanzare in un elenco (tweet, e-mail, ecc.), Kper spostarsi indietro. *

* Nel mio libro, questo è assolutamente sbagliato. Per me, "J" essendo alla sinistra di "K" significa che "J" dovrebbe essere "precedente" e "K" dovrebbe essere "successivo". Tuttavia, farlo al contrario sembra essere lo standard.

Nessuno dei due usa affatto un tasto modificatore "reale". Stiamo anche iniziando a esaminare le scorciatoie da tastiera per i siti di Stack Exchange e probabilmente faremo la stessa cosa. Altre due ragioni che vedo per non usare affatto un tasto modificatore:

  • Meno probabilità di inciampare su qualcosa che è già in uso. Qualsiasi combinazione di Ctrl, Alt, Meta, Comando, Maiusc con una lettera è probabilmente già presa da qualche sistema operativo, gestore di finestre, browser, plugin del browser o script Greasemonkey. Lettera di sola? Non così tanto.
  • Più facile da usare "Premi Ctrl-Alt-Q per aprire la scheda Foo, quindi Meta-Shift-F12 per eseguire l'azione Bar" - questo non mi rende la vita più facile / veloce, che è lo scopo delle scorciatoie da tastiera.

D'altra parte, ecco due avvertenze da considerare:

  • Ovviamente dovrai ignorare le sequenze di tasti quando si verificano mentre l'utente digita in una casella di testo. Questo non è un problema tecnico, ma significa che l'utente non può utilizzare le scorciatoie quindi.

    Se, ad esempio, la tua pagina mette a fuoco automaticamente la casella di ricerca o l'app Web è molto pesante, il problema potrebbe essere un problema.

  • Puoi pensare di abilitare / disabilitare. Le scorciatoie da tastiera sono una funzionalità per utenti avanzati; un utente "normale" può essere sorpreso quando attivano accidentalmente una scorciatoia da tastiera (ovviamente un tasto modificatore lo renderebbe meno probabile).

    Gmail, ad esempio, ha le scorciatoie da tastiera disattivate per impostazione predefinita, ad eccezione delle ?quali (naturalmente) mostra la guida alle scorciatoie da tastiera - incluso un collegamento per abilitare / disabilitare le scorciatoie. Penso che le scorciatoie da tastiera siano un'area in cui puoi dire che va bene impostarlo (le preferenze dell'utente sono qualcosa che generalmente cerchiamo di evitare sui siti di Stack Exchange) e la soluzione di Google per questo sembra buona per questo.

    Ma "disattivato per impostazione predefinita" nasconde ovviamente la rilevabilità, che può essere o meno un problema.

- ma tutto considerato, "nessuna chiave modificatrice" mi sembra una buona soluzione.


3
Un altro punto sulle combinazioni di modificatori composti (premi Ctrl-Alt-Q per aprire la scheda Foo, quindi Meta-Shift-F12) - in realtà è piuttosto imbarazzante dal punto di vista dell'accessibilità. O anche se hai solo una tastiera strana (tosse), alcune combinazioni possono richiedere la ginnastica delle dita. Tasti singoli: senza sforzo.
Marc Gravell

2
Questo è un post eccellente @balpha. Voglio sottolineare che J è "giù" e K è "su". L'editor di testo VIM utilizza la stessa logica
Mikhail,

@Mikhail: ne sono consapevole, ma non sono d'accordo con quella logica - dopo tutto, J è alla sinistra di K. Per me, se J è "giù", allora U deve essere "su" . Ma suppongo che mi
abituerò

1
rollmops.wordpress.com/2006/05/01/vintage-computer Le chiavi HJKL sono state utilizzate in questo modo da prima che esistesse il web. A questo punto, è tradizione!
Kevin Panko,

8

Non esiste una scelta del modificatore di chiave "migliore" o universale

Le tue migliori opzioni sono:

  1. Non utilizzare alcun tasto modificatore (solo tasti singoli), quindi interrompere il rilevamento dei tasti premuti quando il cursore dell'utente si trova in un campo di input o in un'area di testo, come fa Google con scorciatoie di Gmail.

    -- o --

  2. Scegli un valore predefinito adatto alla maggior parte dei tuoi visitatori in base alle statistiche del sistema operativo dai dati di Analytics. Consenti agli utenti esperti che desiderano scorciatoie di attivarli e sovrascrivere il tasto modificatore nelle loro impostazioni utente, allo stesso modo del software desktop.

    -- o --

  3. Utilizzare un tasto "trigger" anziché un tasto modificatore. Considera ,2di passare alla seconda scheda nell'area di navigazione a schede e ,3ad esempio alla terza. La combinazione di una virgola seguita immediatamente da un numero è abbastanza insolita da ridurre la probabilità di conflitti o pressioni accidentali.

In tutti i casi, potresti considerare di disabilitare i tasti di scelta rapida per impostazione predefinita per evitare comportamenti imprevisti per la maggior parte degli utenti che probabilmente non si preoccupano dei tasti di scelta rapida.

Perché non scegliere semplicemente una combinazione di modificatori?

Il motivo per cui suggerisco questi metodi è che non esiste una chiave di modifica multipiattaforma standardizzata che puoi considerare sicura da usare con JavaScript in un ambiente browser. Tutto ciò che contiene Ctrl, Shift, Alt, oCmd probabilmente rompere alcune scelte rapide del browser su alcune piattaforme.

Il tuo suggerimento di utilizzare Ctrl+ Shift, ad esempio, interromperà le scorciatoie di Firefox su Windows, molte delle quali usano quella combinazione per eseguire funzioni speciali , come Ctrl+ Shift+ D, che aggiunge ai segnalibri tutte le schede aperte.

I produttori di browser utilizzano scorciatoie diverse per attivare accesskey su ciascuna piattaforma diversa proprio perché non esiste uno standard multipiattaforma. Ad esempio, Apple utilizza Ctrlsu Mac e Altsu Windows in Safari.

Inoltre, ogni browser risolve i conflitti di scelta rapida in modo diverso e questo porterà a conseguenze inaspettate per i tuoi utenti. Quando associ un tasto premuto a una funzione in JavaScript che ha anche un'associazione come collegamento browser nativo ...

  • Firefox eseguirà il collegamento JavaScript da solo se return false;esegui la tua funzione JavaScript seguita dal collegamento del browser Firefox se return true;(ovvero esegue entrambi per impostazione predefinita).
  • IE eseguirà la funzione JavaScript seguita dal collegamento del browser IE.
  • Safari / Chrome / Opera elaborerà il collegamento del browser ma non quello JavaScript.

[La fonte: l'addendum ai piedi della pagina readme di jquery.hotkeys di John Resig .]


Mi piace l'approccio non simultaneo. Anche se probabilmente userei il; chiave
Mikhail,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.