2010-06-14 20 views
26

En las Pautas de accesibilidad del contenido web se indica que debe proporcionar un enlace "saltar" que lo salte (por ejemplo) sobre un bloque de navegación y directamente al contenido. Esto es particularmente útil para los usuarios con problemas que usan un lector de pantalla para describir una página de manera audible.HTML5 Cómo omitir la navegación cuando el atributo de nombre es obsoleto

6.2 Agrupar y saltar vínculos WCAG Guidelines

Sin embargo, esta técnica se basa en el uso del atributo nombre en una etiqueta de ancla:

<h2><a name="content">Content</a></h2> 

Junto con el salteado de enlace:

<a href="#content">Skip to content</a> 

El problema es que el atributo "nombre" de la etiqueta de anclaje está obsoleto en HTML5. HTML Obsolete Features

¿Hay alguna otra manera de lograr esta funcionalidad de "omisión" sin usar el atributo de nombre?

Nota al pie: El estado de la especificación HTML5 todavía está en borrador y es posible que el atributo de nombre se siga permitiendo en este escenario, aunque probablemente genere una "advertencia". En la actualidad se ha marcado como "obsoleto pero conforme", lo que significa que PODRÍA seguir usándolo, sin embargo, me gustaría saber de otras formas de realizar el "salto para" para ver si hay una manera de hacerlo que no lo haga. t confiar en un atributo obsoleto.

+1

Sin ánimo de ofender, pero se hicieron * * vistazo a esa página Características obsoletos? Contiene una sección sobre el [nombre del atributo] (http://www.w3.org/TR/html5/obsolete.html#attr-a-name): "Use el atributo' id' en su lugar. " –

+0

@Marcel - Lo leí, de hecho, todos los atributos obsoletos son obsoletos porque hay una mejor alternativa: en realidad no era consciente de que el atributo id permitía que el elemento se segmentara con este tipo de enlace, que es la pregunta específica. – Fenton

Respuesta

35

En lugar de utilizar <a> etiquetas, puede utilizar cualquier elemento con el atributo id:

<h2 id="content">Content</h2> 

<a href="#content">Skip to content</a> 

EDIT, encontrado una fuente (aunque es Wikipedia ;-)):

alternativa (y, a veces concurrentemente), con el nombre o los atributos de id establecidos, el elemento se convierte en un objetivo. Un Localizador Uniforme de Recursos puede enlazar a este objetivo a través de un identificador de fragmento. Cualquier elemento ahora se puede convertir en un ancla utilizando el atributo id, [2] por lo que no es necesario usar <a name="foo">.

http://en.wikipedia.org/wiki/HTML_element#Anchor

+5

O simplemente ponga 'id' directamente en' h2'. – RoToRa

+1

Nunca he sabido por qué las personas usan el atributo de nombre en primer lugar, cuando la mayoría de los elementos que deben incluirse pueden incluir una idea. Esto le da opciones de estilo también. –

+2

@Jonny Haynes: Hace unos años no sabía que podía usar 'id' tampoco. En aquel entonces, debido a la falta de tutela adecuada, mis tutores de la universidad me dijeron que usara 'name', los tutoriales de Internet hicieron lo mismo. Es bueno que 'name' ahora esté en desuso, ya que de todos modos no tiene sentido. –

Cuestiones relacionadas