Si está escribiendo su propia página web, arreglaría escribir algo con un poco de jquery/javascript. Esto es lo que he usado en el mío.
El inconveniente es que evita el comportamiento predeterminado de la tecla de tabulación en la página, lo que puede ser un problema mayor para la accesibilidad en algunas situaciones. Pero lo dudo.
var Tab = {};
Tab.i = 1,
Tab.items = 0;
function fixTabulation() {
/* This can be used to auto-assign tab-indexes, or
# commented out if it manual tab-indexes have
# already been assigned.
*/
$('input, select, textarea').each(function(){
$(this).attr('tabindex', Tab.i);
Tab.i++;
Tab.items++;
});
Tab.i = 0;
/* We need to listen for any forward or backward Tab
# key event tell the page where to focus next.
*/
$(document).on({
'keydown' : function(e) {
if (navigator.appVersion.match("Safari")) {
if (e.keyCode == 9 && !e.shiftKey) { //Tab key pressed
e.preventDefault();
Tab.i != Tab.items ? Tab.i++ : Tab.i = 1;
$('input[tabindex="' + Tab.i + '"], select[tabindex="' + Tab.i + '"], textarea[tabindex="' + Tab.i + '"]').not('input[type="hidden"]').focus();
}
if (e.shiftKey && e.keyCode == 9) { //Tab key pressed
e.preventDefault();
Tab.i != 1 ? Tab.i-- : Tab.i = Tab.items;
$('input[tabindex="' + Tab.i + '"], select[tabindex="' + Tab.i + '"], textarea[tabindex="' + Tab.i + '"]').not('input[type="hidden"]').focus();
}
}
}
});
/* We need to update Tab.i if someone clicks into
# a different part of the form. This allows us
# to keep tabbing from the newly clicked input
*/
$('input[tabindex], select[tabindex], textarea[tabindex]').not('input[type="hidden"]').focus(function(e) {
Tab.i = $(this).attr('tabindex');
console.log(Tab.i);
});
}
$(document).ready(function() {
fixTabulation();
});
esto no es una solución perfecta, pero es bastante mejor que decir a todos sus usuarios a ir a cambiar sus ajustes de Safari en las preferencias del sistema, lol.
Si se quita la segunda área de texto y cambiar los tabindexes botón (por lo que el orden en la fuente es de 1000, 1002, 1001), hace Safari sigue la orden tabindex? Parece que Safari le da una mayor prioridad a las entradas de textareas/texto, por cualquier razón ... –
No, incluso eso no funciona. Parece como si los tabindex en href fueran ignorados en Safari. Estoy probando una solución con botones para ver si eso funcionará. – Dhana