La Etiqueta RUBY

Se utiliza para añadir anotaciones fonéticas o explicativas a caracteres en idiomas como japonés, chino o coreano.
La etiqueta <ruby>
en HTML se utiliza para añadir anotaciones fonéticas o explicativas a caracteres en idiomas como japonés, chino o coreano. Estas anotaciones, conocidas como ruby text, suelen aparecer encima, debajo o al lado del texto base para guiar su pronunciación o significado. A continuación, te enseñamos cómo implementarla correctamente.
¿Qué es una anotación ruby?
Las anotaciones ruby son textos pequeños que acompañan a caracteres complejos para facilitar su lectura. Por ejemplo:
-
Japonés (furigana): 漢 → かん
-
Chino (pinyin): 北京 → Běijīng
-
Coreano (pronunciación): 한국 → Hanguk
En HTML, estas anotaciones se construyen con:
-
<ruby>
: Contenedor principal. -
<rt>
(ruby text): La anotación. -
<rp>
(ruby parentheses): Paréntesis de respaldo para navegadores sin soporte.
Sintaxis básica
<ruby> Carácter base <rp>(</rp><rt>Anotación</rt><rp>)</rp> </ruby>
-
<rt>
: Muestra la anotación (ejemplo: pronunciación). -
<rp>
: Añade paréntesis que solo se ven si el navegador no soporta<ruby>
.
Ejemplo 1: Japonés (furigana)
<ruby> 漢 <rp>(</rp><rt>かん</rt><rp>)</rp> </ruby>
Resultado:
-
Navegadores modernos: 漢
-
Sin soporte: 漢 (かん)
Ejemplo 2: Chino (pinyin)
<ruby> 北京 <rp>(</rp><rt>Běijīng</rt><rp>)</rp> </ruby>
Resultado:
-
Navegadores modernos: 北京
-
Sin soporte: 北京 (Běijīng)
Anotaciones para múltiples caracteres
Puedes anotar cada carácter individualmente:
<ruby> 日 <rp>(</rp><rt>に</rt><rp>)</rp> 本 <rp>(</rp><rt>ほん</rt><rp>)</rp> 語 <rp>(</rp><rt>ご</rt><rp>)</rp> </ruby>
Personalización con CSS
Modifica el estilo de las anotaciones usando clases o selectores:
/* Estilo general */ ruby { font-size: 24px; /* Tamaño del texto base */ margin: 10px; } /* Anotaciones */ rt { font-size: 0.6em; /* Tamaño más pequeño */ color: #e74c3c; /* Color rojo */ font-family: Arial; /* Fuente personalizada */ } /* Paréntesis de respaldo */ rp { color: #7f8c8d; /* Color gris */ }
<ruby style="font-size: 28px;"> 東京 <rp>(</rp><rt style="color: #2ecc71;">とうきょう</rt><rp>)</rp> </ruby>
Accesibilidad y buenas prácticas
Siempre incluye <rp>
: Garantiza que las anotaciones sean legibles en navegadores antiguos o herramientas sin soporte.
Define el idioma: Usa el atributo lang
en <html>
para mejorar el renderizado:
<html lang="ja"> <!-- Japonés -->
Evita usos incorrectos: <ruby>
está diseñado para anotaciones lingüísticas, no para estilizar texto arbitrario.
Compatibilidad
-
Navegadores modernos: Chrome, Firefox, Safari y Edge soportan
<ruby>
. -
Navegadores antiguos: Muestran el contenido de
<rp>
, como paréntesis alrededor de<rt>
.
Ejemplo completo
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>Ejemplo de <ruby></title> <style> ruby { font-size: 24px; margin: 15px; } rt { font-size: 0.6em; color: #3498db; } rp { color: #95a5a6; } </style> </head> <body> <h2>Palabras en japonés con furigana</h2> <p> <ruby> 日本語 <rp>(</rp><rt>にほんご</rt><rp>)</rp> </ruby> → "Idioma japonés" </p> <p> <ruby> 東京 <rp>(</rp><rt>とうきょう</rt><rp>)</rp> </ruby> → "Tokio" </p> </body> </html>
Casos avanzados
Anotaciones verticales (para coreano o chino clásico)
Algunos navegadores soportan ruby-position: vertical
en CSS:
rt { ruby-position: under; /* Anotación debajo (ejemplo: coreano) */ }
Uso en traducciones
<ruby> Pizza <rp>(</rp><rt>ピザ</rt><rp>)</rp> </ruby>
Conclusión
La etiqueta <ruby>
es una herramienta esencial para trabajar con textos en idiomas asiáticos o contenido especializado que requiera anotaciones. Al combinarla con <rt>
y <rp>
, garantizas que tu contenido sea accesible y visualmente coherente en todos los navegadores. ¡Úsala para enriquecer tus proyectos multilingües!