Атрибут lang тега <bdi>


Описание

Атрибут lang для тега <bdi> указывает язык изолированного текста. Это рекомендуемая практика при работе с многоязычным контентом, так как улучшает:

  • Автоматическое определение направления текста
  • Доступность для скринридеров
  • Качество машинного перевода
  • Поисковую индексацию

Пример использования:

<p> Пользователь <bdi lang="ar" dir="auto">محمد</bdi> написал сообщение </p>

Список часто используемых языковых кодов:

Язык Код Направление
Арабский ar RTL
Иврит he RTL
Персидский fa RTL
Английский en LTR
Русский ru LTR

Автоматическое определение направления:

// Автоматическая установка dir на основе lang document.querySelectorAll('bdi[lang]').forEach(el => { const rtlLangs = ['ar', 'he', 'fa', 'ur']; el.dir = rtlLangs.includes(el.lang) ? 'rtl' : 'ltr'; });

Интеграция с ARIA:

<div role="document"> <span aria-labelledby="user1">Автор:</span> <bdi id="user1" lang="he" dir="rtl">דוד</bdi> </div>

Совет: Для смешанного контента используйте lang на родительском элементе с основным языком, а <bdi> для вкраплений других языков.

SEO рекомендации:

  • Используйте стандартные коды языков (ISO 639-1)
  • Для региональных вариантов добавляйте код страны (en-US, ar-EG)
  • Сочетайте с микроразметкой для многоязычных страниц
  • Избегайте противоречий между lang и фактическим языком