2011-02-02 14 views
6

En una búsqueda reciente sobre las mejores prácticas para los enlaces Skip Navigation, esta es la solución más completa que pude encontrar: http://www.communis.co.uk/blog/2009-06-02-skip-links-chrome-safari-and-added-wai-arianavegador Cruz, Javascript-menos, Saltar Enlace de Navegación

Lo que no me gusta de éste es que requiere JavaScript en los navegadores Webkit. ¿Es esta realmente la mejor solución que tenemos para algo tan simple como un enlace de omisión de navegación?

¿Tiene algún enlace o muestras que hablen sobre otras soluciones "mejores"?

Respuesta

1

que tienden a utilizar

#skip-to-nav, #skip-to-content 
{ 
    position: absolute; 
    right: 100%; 
} 

Y asegúrese de que el # skip-a-nav y # skip-a-contenido de enlaces están en el elemento body.

Drupal 7 usos:

/** 
* Hide elements visually, but keep them available for screen-readers. 
* 
* Used for information required for screen-reader users to understand and use 
* the site where visual display is undesirable. Information provided in this 
* manner should be kept concise, to avoid unnecessary burden on the user. 
* "!important" is used to prevent unintentional overrides. 
*/ 
.element-invisible { 
    position: absolute !important; 
    clip: rect(1px 1px 1px 1px); /* IE6, IE7 */ 
    clip: rect(1px, 1px, 1px, 1px); 
} 

/** 
* The .element-focusable class extends the .element-invisible class to allow 
* the element to be focusable when navigated to via the keyboard. 
*/ 
.element-invisible.element-focusable:active, 
.element-invisible.element-focusable:focus { 
    position: static !important; 
    clip: auto; 
} 

que han probado tanto con lectores de pantalla, y ambos parecen funcionar bien para cualquiera que no pueda ver la pantalla.

En lo que respecta al orden de las pestañas, no me preocupa que un usuario señale un elemento que no puede ver. Probablemente debería, pero me parece que la gran mayoría de los usuarios no usan la tecla de tabulación de todos modos. Los que tienden a entender más acerca de lo que está pasando de todos modos, por lo que en mi humilde opinión se convierte en discutible.

Editar para añadir:

Tras un breve debate con @discojoe, decidí que vería un poco más en lo que Drupal 7 utiliza para ocultar/revelando el contenido, He actualizado el código en consecuencia.

+0

cuenta que los usuarios de teclado videntes también haga uso de los enlaces de omisión, y no solo de los usuarios de lectores de pantalla, por lo que es una buena práctica hacer visibles los enlaces de omisión, al menos en el enfoque.(De hecho, los lectores de pantalla tienen teclas de atajo para saltar a muchos elementos en la página, por lo que es menos probable que usen enlaces de omisión que los usuarios de teclado videntes) – discojoe

+0

En la mayoría de los casos, los enlaces de omisión interrumpen el flujo visual del diseño de una página web. Además, si su contenido está tan abajo en la página que un usuario con vista necesita un enlace de omisión, lo está haciendo mal. – zzzzBov

+0

No es la distancia que tiene que recorrer un usuario vidente, sino cuántos enlaces de navegación un usuario con el teclado solo debe recorrer. Considere un sitio con 50 enlaces de navegación en la barra de navegación principal, lo cual no es irrazonable para un sitio grande, un usuario de teclado tendría que desplazarse a través de ellos en cada visita a la página. Un enlace de omisión es para eludir bloques de contenido repetido, no para saltar por la página. – discojoe

2

Un buen enlace omitido debe estar siempre visible para alertar al usuario de su presencia. Una buena alternativa es usar CSS para hacer que el enlace de omisión sea visible cuando recibe el foco.

consideran este HTML

<div id="skip"><a href="#content">Skip to content</a></div> 

utilizados con este CSS

#skip a { 
position: absolute; 
margin-left: -3000px; 
width: 1; 
height: 1; 
overflow: hidden; 
} 

y

#skip a:focus, #skip a:active { 
margin-left: 0px; 
width: auto; 
height: auto; 
} 

El enlace se podrá ver hasta que reciba el foco. :focus abastece a navegadores no IE, y :active atiende a usuarios de IE. Un usuario de mouse nunca verá el enlace, ya que no se usa :hover.

actualización: 03 \ 02 \ 11 enlaces a algunos artículos útiles sobre la aplicación de enlace de salto y facilidad de uso

+0

Esto es similar al enfoque que uso actualmente. Pero está completamente roto en todos los navegadores basados ​​en Webkit. – Bart

Cuestiones relacionadas