Атрибут 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и фактическим языком