Supponendo che ci sia un motivo 3 deve rimanere tabbable (come una vista MVC in cui l'elemento è un controllo di input e deve rimanere parte dell'ordine di tabulazione, altrimenti non invierà dati al controller) , probabilmente non sarai in grado di saltarlo in entrambe le direzioni e, se trovi una soluzione, dipenderà da un bug che verrà eliminato senza preavviso per ripristinare la conformità del browser con le specifiche W3 relative alla scheda ordine.
Per saltare in avanti o indietro (ma non entrambi!), Aggiungere un gestore di eventi onfocusin() all'elemento 3, che chiama focus() sull'elemento immediatamente successivo o precedente. Se gli eventi onfocus erano ancora autorizzati a passare il controllo precedentemente focalizzato nel parametro evento (come event.relatedTarget), si poteva dire quale fosse l'elemento precedentemente focalizzato e trasferire il controllo all'elemento precedente se lo stato attivo proviene dall'elemento successivo. Tuttavia, le specifiche W3 chiariscono che questo comportamento non è conforme e che i browser conformi a HTML5 devono passare null per event.relatedTarget e fare tutto il resto nelle loro capacità per impedire a qualsiasi gestore di eventi focus() di accedere al identità del controllo focalizzato in precedenza, annullando in particolare qualsiasi campo di questo tipo prima che un gestore di eventi focus() o blur() venga chiamato nel codice lato client.
Vuoi che (3) sia selezionabile tramite il mouse ma non tramite il tasto Tab? E riguardo le frecce o l'accesso diretto (valore di battitura sulla tastiera)? – Pierre