El Atributo DIRNAME

Se utiliza en formularios para enviar la dirección del texto de un campo de entrada junto con su valor.
El atributo dirname
en HTML se utiliza en formularios para enviar la dirección del texto (derecha a izquierda o izquierda a derecha) de un campo de entrada junto con su valor. Esto es especialmente útil en aplicaciones multilingües donde el texto puede tener diferentes direcciones (como árabe, hebreo o inglés). Aquí un tutorial completo:
¿Qué hace dirname
?
-
Envía la dirección del texto: Cuando se envía un formulario, el navegador incluye un parámetro adicional que indica si el texto del campo está en dirección
ltr
(izquierda a derecha) ortl
(derecha a izquierda). -
Útil para procesamiento en el servidor: Permite almacenar o mostrar el texto correctamente según su dirección original.
Sintaxis Básica
El atributo dirname
se aplica a elementos como <input>
o <textarea>
, y su valor define el nombre del parámetro que enviará la dirección del texto:
<input type="text" name="nombre-del-campo" dirname="nombre-del-campo.dir" <!-- Parámetro adicional enviado --> >
Ejemplo Práctico
Formulario con campo de texto en árabe
<form action="/procesar" method="post"> <label for="username">Nombre de usuario:</label> <input type="text" id="username" name="username" dirname="username.dir" dir="auto" <!-- El navegador detecta la dirección automáticamente --> > <button type="submit">Enviar</button> </form>
Datos enviados al servidor
Si el usuario escribe "محمد"
(árabe, dirección RTL), el servidor recibirá:
username=%D9%85%D8%AD%D9%85%D8%AF&username.dir=rtl
-
username
: Valor del campo codificado en URL. -
username.dir
: Dirección del texto (rtl
).
Casos de Uso
-
Formularios multilingües: Cuando los usuarios pueden ingresar texto en idiomas con direcciones opuestas.
-
Aplicaciones de traducción: Para preservar la dirección del texto traducido.
-
Sistemas de comentarios: Almacenar la dirección de comentarios en diferentes idiomas.
Cómo Determina el Navegador la Dirección
El valor de dirname
depende de:
-
El atributo
dir
del campo (ej:<input dir="rtl">
). -
La dirección heredada de elementos padres (ej:
<body dir="rtl">
). -
La detección automática basada en el contenido (si se usa
dir="auto"
).
Integración con el Atributo dir
Para mayor precisión, combina dirname
con dir
:
<textarea name="comentario" dirname="comentario.dir" dir="auto" <!-- Detecta automáticamente la dirección --> ></textarea>
Procesamiento en el Servidor
En el backend, puedes usar el parámetro .dir
para aplicar estilos o lógica según la dirección:
Python:
# Ejemplo en Python (Flask) @app.route('/procesar', methods=['POST']) def procesar(): username = request.form['username'] direccion = request.form['username.dir'] # 'ltr' o 'rtl' return f"Usuario: {username} (Dirección: {direccion})"
Compatibilidad en Navegadores
-
Soportado en: Chrome, Firefox, Safari, Edge y Opera (versiones modernas).
-
No soportado en: IE11 y navegadores antiguos.
Buenas Prácticas
-
Usa
dirname
con `dir="auto": Para detectar automáticamente la dirección del texto ingresado. -
Combínalo con CSS: Aplica estilos condicionales en el frontend según la dirección recibida.
-
Prueba en múltiples idiomas: Asegúrate de que el servidor maneje correctamente los parámetros
.dir
.
Limitaciones
-
No afecta la visualización: Solo envía datos al servidor; para cambiar la dirección visual, usa el atributo
dir
o CSS. -
Requiere procesamiento adicional: El servidor debe manejar el parámetro
.dir
para ser útil.
Conclusión
El atributo dirname
es una herramienta poderosa para aplicaciones que manejan texto en múltiples direcciones. Al enviar la dirección del texto junto con su valor, facilita la preservación del contexto lingüístico y mejora la experiencia del usuario en entornos multilingües.