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 (ltrpara izquierda-derecha,rtlpara 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
langpara 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.