Aprire "scorciatoie da tastiera" in una nuova scheda apre la stessa pagina in cui ti trovavi quando hai cliccato su "scorciatoie da tastiera"

Ciao, penso che questo sia meno un bug e più un comportamento inaspettato…

Su Mac ho l’abitudine di usare ⌘+Click per aprire i link in nuove schede. Quando lo faccio su “Scorciatoie da tastiera” nel menu hamburger, si apre una nuova scheda che non mostra le scorciatoie da tastiera.

La navigazione per quel “link” è gestita all’interno dell’app. Ho messo link tra virgolette perché non è davvero un link, dato che non punta a nessun indirizzo specifico

<a class="widget-link keyboard-shortcuts-link" href="" title="Scorciatoie da tastiera">
  <span class="d-label">Scorciatoie da tastiera</span>
</a>

Notate come l’attributo href sia vuoto?

Si apre semplicemente una finestra modale o una finestra di dialogo. Quindi, non è possibile aprire quel link in una nuova scheda e far apparire quella finestra modale.

1 Mi Piace

Ciao, capisco. Volevo semplicemente segnalare che si tratta di un comportamento inaspettato dal punto di vista dell’utente, perché visivamente “Scorciatoie da tastiera” appare esattamente come un link. Se ci fosse un modo per offrire un segnale che il processo di “apertura in una nuova scheda” non funzionerà, sarebbe ideale. Credo che questo non debba essere una priorità, ovviamente — non immagino che molte persone si trovino in questa situazione.

Per completezza, rimuovere completamente l’attributo href (invece di impostarlo su una stringa vuota, che è un riferimento al documento corrente) dovrebbe impedire che il link venga aperto in una nuova scheda, almeno nella maggior parte dei browser.

4 Mi Piace

Va bene, un tag anchor senza href è valido in HTML5.

Il problema nel rimuoverlo è che verrebbe escluso dall’indice di tabulazione, il che significa che non sarebbe possibile raggiungere quel link tramite tastiera o altri metodi di input alternativi.

Possiamo risolvere aggiungendo tabindex: 0.

Quindi possiamo fare qualcosa del genere:

links.push({
  action: "showKeyboard",
  className: "keyboard-shortcuts-link",
  label: "keyboard_shortcuts_help.title",
  attributes: {
    tabindex: 0
  }
});

a meno che @awesomerobot non sia a conoscenza di altri problemi legati alla rimozione dell’href?

5 Mi Piace

Sento che questo sia un leggero miglioramento rispetto all’apertura di una nuova scheda, ma risulta comunque strano che non accada nulla quando provo ad aprire quel link in una nuova scheda… soprattutto perché è l’unico link nel menu che si comporta in questo modo.

Idealmente, dovremmo aprire il modal della tastiera in ogni caso. In /widgets/link.js.es6 abbiamo

click(e) {
if (wantsNewWindow(e)) {
      return;
    }
...

Quindi sembra che stiamo impedendo che accada qualsiasi cosa al click se viene richiesta una nuova finestra/scheda?.. Mi chiedo se possiamo fare una piccola riorganizzazione lì per poter aprire il modal indipendentemente dai tasti modificatori.

5 Mi Piace