¿Es correcto usar la etiqueta alt para un enlace de anclaje, algo así como
<a href="#" class="test" alt="Something" src="sfasfs" ></a>
¿Es correcto usar la etiqueta alt para un enlace de anclaje, algo así como
<a href="#" class="test" alt="Something" src="sfasfs" ></a>
Respuestas:
Estas cosas se responden mejor mirando la especificación oficial:
vaya a la especificación: https://www.w3.org/TR/html5/
busque " a
elemento": https://www.w3.org/TR/html5/text-level-semantics.html#the-a-element
marque "Atributos de contenido", que enumera todos los atributos permitidos para el a
elemento:
- Atributos globales
href
target
download
rel
hreflang
type
verifique los "Atributos globales" vinculados: https://www.w3.org/TR/html5/dom.html#global-attributes
Como verá, el alt
atributo no está permitido en el a
elemento.
También notarías que el src
atributo tampoco está permitido.
Al validar su HTML , se le informan errores como estos.
Tenga en cuenta que lo anterior es para HTML5 , que es el estándar HTML del W3C de 2014 . En 2016, HTML 5.1 se convirtió en el próximo estándar HTML . Encontrar los atributos permitidos funciona de la misma manera. Vas a ver que el a
elemento puede tener otro atributo en HTML 5.1: rev
.
Puede encontrar todas las especificaciones HTML (incluido el último estándar) en el estado actual HTML del W3C .
title
.
Para las anclas, debe usar título en su lugar. alt no es un atributo válido de a. Ver http://w3schools.com/tags/tag_a.asp
"title" se implementa ampliamente en los navegadores. Tratar:
<a href="#" title="hello">asf</a>
title
es incorrecto según la especificación HTML5 (aunque la mayoría de los navegadores lo implementarán).
No, un alt
atributo (sería un atributo, no una etiqueta) no está permitido para un a
elemento en ninguna especificación HTML o borrador. Y tampoco parece que ningún navegador reconozca que tenga importancia.
Es un poco misterioso por qué la gente intenta usarlo, entonces, pero la explicación probable es que lo están haciendo en forma análoga con el alt
atributo de img
elementos, esperando ver una "información sobre herramientas" al pasar el mouse. Hay dos cosas mal con esto. Primero, cada elemento tiene sus propios atributos, definidos en las especificaciones de cada elemento. En segundo lugar, la representación de "información sobre herramientas" de los alt
atributos en algunos navegadores antiguos es / fue un capricho o incluso un error, en lugar de ser algo esperado; alt
se supone que el atributo se presentará al usuario si y solo si la imagen en sí no se presenta, por cualquier razón.
Para crear una "información sobre herramientas", utilice el title
atributo en su lugar o, mucho mejor, Google para "información sobre herramientas CSS" y utilice información sobre herramientas basada en CSS de su preferencia (se pueden caracterizar como "capas" ocultas que se hacen visibles al pasar el mouse).
Debe usar el atributo de título para las etiquetas de anclaje si desea aplicar información descriptiva de manera similar a como lo haría para un atributo alt. El atributo de título es válido en las etiquetas de anclaje y no tiene otro propósito que proporcionar información sobre la página vinculada.
W3C recomienda que el valor del atributo de título debe coincidir con el valor del título del documento vinculado, pero no es obligatorio.
http://www.w3.org/MarkUp/1995-archive/Elements/A.html
Alternativamente, y es probable que sea más beneficioso, puede usar el atributo de accesibilidad ARIA aria-label
(que no debe confundirse con aria-labeledby
). aria-label
cumple la misma función que el atributo alt para imágenes pero para elementos que no son de imagen e incluye alguna medida de optimización desde que optimiza para lectores de pantalla.
http://www.w3.org/WAI/GL/wiki/Using_aria-label_to_provide_labels_for_objects
Sin embargo, si desea describir una etiqueta de anclaje, generalmente es apropiado usar la etiqueta rel o rev pero está limitada a valores específicos, no deben usarse para descripciones legibles por humanos.
Rel sirve para describir la relación de la página vinculada a la página actual. (por ejemplo, si la página vinculada es la siguiente en una serie lógica, sería rel = next)
El atributo rev es esencialmente la relación inversa del atributo rel. Rev describe la relación de la página actual con la página vinculada.
Puede encontrar una lista de valores válidos aquí: http://microformats.org/wiki/existing-rel-values
¡Usé el título y funcionó!
El atributo title da el título del enlace. Con una excepción, es puramente consultivo. El valor es texto. La excepción es para los enlaces de hoja de estilo, donde el atributo de título define conjuntos de hojas de estilo alternativos.
<a class="navbar-brand" href="http://www.alberghierocastelnuovocilento.gov.it/sito/index.php" title="sito dell'Istituto Ancel Keys">A.K.</a>
Me sorprende ver todas las respuestas que indican que el uso del alt
atributo en la a
etiqueta no es válido . Esto está absolutamente mal.
HTML no te bloquea usando ningún atributo:
<a your-custom-attribute="value">Any attribute can be used</a>
Si pregunta si es semánticamente correcto usar el alt
atributo a
, le diré:
NO. Se utiliza para establecer la descripción de la imagen <img alt="image description" />
.
Es una cuestión de lo que harías con los atributos. Aquí hay un ejemplo:
a::after {
content: attr(color); /* attr can be used as content */
display: block;
color: white;
background-color: blue;
background-color: attr(color); /* This won't work */
display: none;
}
a:hover::after {
display: block;
}
[hidden] {
display: none;
}
<a href="#" color="red">Hover me!</a>
<a href="#" color="red" hidden>In some cases, it can be used to hide it!</a>
Nuevamente, si pregunta si es semánticamente correcto usar un atributo personalizado, le diré:
No. Use data-*
atributos para su uso semántico.
Vaya, se hizo una pregunta en 2013.
title
atributo en losa
atributos globales ¿es correcto usar dichotitle
atributo ena
o no?