Атрибут dir тега <textarea>
Описание
Атрибут dir в теге <textarea> определяет направление текста в текстовом поле. Он особенно полезен для языков с письмом справа налево (RTL), таких как арабский или иврит.
<textarea dir="rtl">
نص باللغة العربية
</textarea>
Значения атрибута:
| Значение | Описание | Когда использовать |
|---|---|---|
ltr |
Текст направлен слева направо (по умолчанию) | Для большинства европейских языков |
rtl |
Текст направлен справа налево | Для арабского, иврита и других RTL-языков |
auto |
Направление определяется автоматически по содержимому | Для полей с возможностью ввода на разных языках |
Особенности работы:
- Влияет только на направление текста, не на выравнивание
- Для
autoнаправление определяется по первому сильному символу - Работает вместе с CSS-свойством
direction - Поддерживается всеми современными браузерами
Пример с автоматическим определением:
<textarea dir="auto" placeholder="Введите текст на любом языке"></textarea>
Рекомендации:
- Используйте
dir="auto"для многоязычных интерфейсов - Сочетайте с соответствующим
langатрибутом - Для форм с RTL-языками указывайте явно
dir="rtl" - Тестируйте с реальными пользователями
Пример полной реализации:
<div class="multilingual-field">
<label>Комментарий (Commentaire - تعليق):</label>
<textarea dir="auto" lang="auto"
placeholder="Write in any language / Écrivez dans n'importe quelle langue / اكتب بأي لغة">
</textarea>
</div>
<style>
.multilingual-field textarea {
width: 100%;
padding: 8px;
text-align: start; /* Важно для правильного выравнивания */
}
</style>
Ограничения:
- Автоматическое определение не всегда точно
- Смешанные языки могут вызывать проблемы
- Старые браузеры могут некорректно обрабатывать
auto - Не влияет на выравнивание текста (нужен CSS)
Советы по работе с RTL:
<style>
/* Стили для RTL-интерфейсов */
.rtl-textarea {
text-align: right;
font-family: 'Arabic Typesetting', 'Arial Hebrew', sans-serif;
}
</style>
<textarea dir="rtl" class="rtl-textarea" lang="ar">
النص العربي هنا
</textarea>
Для сложных многоязычных решений рассмотрите:
- Библиотеки определения направления текста
- Отдельные стили для LTR и RTL версий
- Серверную обработку направления текста