¿Cómo puedo cambiar el tabindex
de un elemento en función de si el elemento está visible o no (en el área visible)? Me gustaría hacer una de estas cosas: restablecer el actual tabindex
al ingresar una nueva sección y asignar nuevos tabindex
a los elementos en esa sección. O puede deshabilitar y volver a habilitar tabindex
de ciertos elementos.Cómo deshabilitar y volver a habilitar tabindex de elementos ocultos/visibles?
html:
<div id="nav">
<a id="firstLink" href="#section1" tabindex="1">Go to section 1</a>
<a id="secondLink" href="#section2" tabindex="2">Go to section 2</a>
</div>
<div id="container">
<div id="section1">
<a href="#" tabindex="3">Specific to section 1</a>
</div>
<div id="section2">
<a href="#" tabindex="3">Specific to section 2</a>
</div>
</div>
Quiero que los enlaces a estar en el orden de tabulación sólo si su sección es visible.
css:
#container{
overflow: hidden;
width: 400px;
height: 400px;
}
#section1{
background: red;
width: 400px;
height: 400px;
}
#section2{
background: green;
width: 400px;
height: 400px;
}
ejemplo vivo: http://jsfiddle.net/2UF3n/5/
pero qué ocurre si no estoy usando el atributo 'hidden'. En mi ejemplo, es un contenedor con 'overflow: hidden'. ¿Podrían volver a trabajar mi ejemplo para mostrarme cómo se podría incorporar? –
Necesitará alguna distinción para seleccionar los elementos ocultos, en ese caso porque no hay forma de retomar los enlaces que no se muestran debido al desbordamiento: ocultos; sin hacer controles de posición ... lo cual creo que es más un dolor en el trasero de lo que quieres tratar. El: selector oculto en jQuery seleccionará elementos que no ocupan espacio en el documento, pero desbordamiento: oculto; no logra eso; todavía ocupan espacio, simplemente no puedes verlo. Sugeriría ocultar los elementos que no necesita visibles a través de CSS o jQuery y no usar desbordamiento: oculto ;. –
Eso tiene mucho sentido, pero en mi proyecto real tengo una gran cantidad de animaciones que se basan en 'overflow: hidden'. Probaré diferentes selectores y usaré el atributo 'disabled' como sugirió. –