La Etiqueta BDO

Permite forzar la dirección de escritura de un fragmento de texto, anulando el comportamiento automático del navegador.
La etiqueta <bdo>
(Bidirectional Override) permite forzar la dirección de escritura de un fragmento de texto, anulando el comportamiento automático del navegador. Es esencial para manejar idiomas con direccionalidad derecha-a-izquierda (RTL) o crear efectos especiales.
Sintaxis básica
<bdo dir="ltr|rtl">Texto a invertir</bdo>
-
dir
: Atributo obligatorio (ltr
para izquierda-derecha,rtl
para derecha-izquierda). -
Sobrescribe la dirección heredada del contexto padre.
Casos de uso comunes
Texto en idiomas RTL (árabe, hebreo, etc.)
<p>Palabra en árabe: <bdo dir="rtl">مرحبا</bdo> (Hola)</p>
Efectos de diseño creativo
<h2><bdo dir="rtl">¡aloH odnuT</bdo></h2> <!-- Resultado: "¡Hola Mundo" -->
Corrección de dirección en contenido mixto
<p>Número en hebreo: <bdo dir="rtl">123</bdo> <!-- Muestra "321" -->
Atributos clave
Atributo | Valores | Descripción |
---|---|---|
dir |
ltr , rtl |
Dirección forzada del texto (obligatorio) |
lang |
Código de idioma | Define el idioma del contenido |
title |
Texto descriptivo | Explicación al pasar el cursor |
Ejemplos prácticos
Ejemplo 1: Integración de árabe en texto LTR
<p> En árabe, "gracias" se escribe: <bdo dir="rtl" lang="ar" title="Gracias">شكرًا</bdo>. </p>
Ejemplo 2: Efecto espejo para diseño
<style> .espejo { font-size: 24px; color: #3498db; } </style> <bdo dir="rtl" class="espejo">¡Hola diseñadores!</bdo>
Ejemplo 3: Lista bilingüe
<ul> <li>Español: <bdo dir="ltr">Hola</bdo></li> <li>Hebreo: <bdo dir="rtl">שלום</bdo></li> <li>Árabe: <bdo dir="rtl">سلام</bdo></li> </ul>
Diferencias clave con <bdi>
Característica | <bdo> |
<bdi> |
---|---|---|
Propósito | Forzar dirección | Aislar dirección desconocida |
Control | Manual (dir explícito) |
Automático |
Uso típico | Corrección de dirección | Contenido generado por usuarios |
Accesibilidad
Los lectores de pantalla respetan la dirección forzada.
Buenas prácticas:
- Usar
lang
para indicar el idioma:
<bdo dir="rtl" lang="he">ישראל</bdo>
- Evitar usos puramente decorativos sin significado.
Estilización con CSS
Combina con propiedades CSS para efectos avanzados:
bdo.rtl-effect { font-family: 'Arial', sans-serif; letter-spacing: 2px; background: #f8f9fa; padding: 5px; border: 1px dashed #2c3e50; }
Errores comunes
Olvidar el atributo dir
<!-- Incorrecto --> <bdo>Texto</bdo> <!-- ¡No tendrá efecto! --> <!-- Correcto --> <bdo dir="rtl">Texto</bdo>
Confundir con CSS direction
<!-- Menos semántico --> <span style="direction: rtl; unicode-bidi: bidi-override;">Texto</span> <!-- Mejor práctica --> <bdo dir="rtl">Texto</bdo>
Anidación incorrecta
<!-- Redundante --> <bdo dir="rtl"> <bdo dir="ltr">Texto</bdo> <!-- Dirección contradictoria --> </bdo>
Buenas prácticas
Usar solo cuando sea necesario:
-
Para corregir dirección mal detectada.
-
En contenido RTL dentro de contexto LTR.
Combinar con lang
para SEO:
<bdo dir="rtl" lang="ar">كتابة عربية</bdo>
Evitar para textos largos:
Usar dir
en contenedores padre para secciones completas:
<article dir="rtl" lang="he"> <!-- Contenido completo en hebreo --> </article>
Compatibilidad
Navegador | Soporte |
---|---|
Chrome | Todas versiones |
Firefox | Todas versiones |
Safari | Todas versiones |
Edge | Todas versiones |
Conclusión:
La etiqueta <bdo>
es indispensable para:
-
Garantizar la correcta visualización de idiomas RTL.
-
Corregir errores de dirección en contenido mixto.
-
Crear efectos de diseño controlados.
Úsala estratégicamente en contextos multilingües y siempre prioriza la semántica sobre el estilo.