🧷 Atributos HTML poco conocidos pero muy útiles

Además de los atributos básicos como id, class y style, que ya exploramos anteriormente, existen otros atributos menos utilizados que pueden aplicarse en diversas etiquetas HTML. Aunque no siempre están presentes en todos los documentos, aportan funcionalidades importantes relacionadas con metadatos, accesibilidad y control del comportamiento del contenido.


📌 Atributos relacionados con metadatos

Estos atributos agregan información adicional a los elementos HTML, facilitando tanto la interacción con el usuario como el tratamiento del contenido desde JavaScript o CSS.

AtributoValor esperadoFunción principal
titleTexto breveMuestra un mensaje emergente al pasar el cursor por encima.
data-*PersonalizadoDefine datos personalizados accesibles por JavaScript.
accesskeyLetra o númeroAsigna un atajo de teclado para acceder rápidamente al elemento.

🖱️ title: Mostrar mensajes flotantes

El atributo title permite mostrar un pequeño mensaje flotante (tooltip) cuando el usuario deja el cursor sobre un elemento. Este mensaje suele presentarse como una burbuja informativa y puede utilizarse en casi cualquier etiqueta, aunque es muy común en imágenes y enlaces.

Ejemplo:

htmlCopiarEditar<img src="gandalf.jpg"
     alt="Gandalf revisando su correo electrónico."
     title="¡Este es Gandalf el Gris!">

Diferencias clave:

  • alt: se usa como descripción alternativa de la imagen (accesibilidad).
  • title: aparece como mensaje informativo al interactuar con el cursor.

El atributo title también puede añadirse a elementos como <a>, <p>, o incluso <div>, aunque conviene usarlo con moderación para no saturar al usuario.


📊 data-*: Atributos personalizados para metadatos

El prefijo data- nos permite crear atributos personalizados en cualquier etiqueta HTML. Estos datos no se muestran al usuario, pero son útiles para JavaScript y CSS. Es una forma práctica de guardar información adicional directamente dentro del HTML.

Ejemplo:

htmlCopiarEditar<div id="redes-sociales">
  <a href="https://twitter.com/ejemplo" data-seguidores="44000">Twitter</a>
  <a href="https://youtube.com/ejemplo" data-seguidores="10000">YouTube</a>
</div>

Acceder desde JavaScript:

javascriptCopiarEditarconst enlaces = document.querySelectorAll('#redes-sociales a');

enlaces[0].dataset.seguidores;              // 44000
enlaces[1].getAttribute("data-seguidores"); // 10000

Estos atributos son ideales para intercambiar datos entre el HTML y los scripts sin necesidad de manipular el DOM excesivamente.


⌨️ accesskey: Atajos de teclado para navegación rápida

El atributo accesskey permite definir combinaciones de teclas que activan elementos sin necesidad del ratón. Esto puede mejorar la accesibilidad en ciertas interfaces.

Ejemplo:

htmlCopiarEditar<form>
  <input accesskey="n" placeholder="Nombre (Alt+N)">
  <input accesskey="a" placeholder="Apellidos (Alt+A)">
  <a accesskey="l" href="https://ejemplo.com">Enlace (Alt+L)</a>
  <button accesskey="b">Enviar (Alt+B)</button>
</form>

Importante: El comportamiento de estos atajos varía según el sistema operativo y el navegador.

NavegadorWindowsLinuxmacOS
ChromeAlt + teclaAlt + teclaCtrl + Option + tecla
FirefoxAlt + Shift + teclaAlt + Shift + teclaControl + Option + tecla
SafariControl + Option + tecla

Por esta razón, su uso debe considerarse opcional y siempre explicado al usuario para evitar confusión.


🌍 Atributos de idioma y dirección del texto

Además de los atributos funcionales, HTML incluye una serie de atributos orientados a definir el lenguaje y la dirección del contenido textual.

AtributoValorFunción principal
langCódigo ISOIndica el idioma del contenido dentro de la etiqueta.
translateyes / noEspecifica si el texto debe o no ser traducido.
dirltr / rtlDefine la dirección del texto: izquierda-derecha o viceversa.

🗣️ lang: Especificar el idioma del contenido

El atributo lang sirve para declarar el idioma del texto dentro de una etiqueta específica. Aunque puede aplicarse en cualquier parte del HTML, debe utilizarse especialmente en la etiqueta <html> para establecer el idioma base del documento.

Ejemplo:

htmlCopiarEditar<!DOCTYPE html>
<html lang="es">
  <head>...</head>
  <body>...</body>
</html>

Esto mejora la accesibilidad y ayuda a los motores de búsqueda a comprender mejor el contenido del sitio.


🌐 translate: Controlar la traducción automática

Este atributo permite indicar si un texto debe ser traducido por herramientas automáticas como Google Translate. Por defecto, los navegadores suponen que todo el contenido es traducible (translate="yes"), pero puedes marcar ciertas partes como no traducibles.

Ejemplo:

htmlCopiarEditar<p>
  Me encanta la película <span translate="no">Inception</span>.
</p>

Esto evita que nombres propios o títulos sean modificados incorrectamente al traducir.


↔️ dir: Controlar la dirección de lectura del texto

El atributo dir define la dirección en la que se presenta el texto. Por defecto, el valor es ltr (de izquierda a derecha), pero puede cambiarse a rtl (de derecha a izquierda) para idiomas como árabe o hebreo.

Ejemplo:

htmlCopiarEditar<p>Texto con dirección estándar (ltr).</p>
<p dir="rtl">نص باللغة العربية (rtl)</p>

También puedes aplicar esta dirección con la propiedad CSS direction, aunque el uso de dir es más directo en HTML.