Атрибут lang тега <tr>
Описание
Атрибут lang для тега <tr> указывает язык содержимого строки таблицы. Это особенно полезно для многоязычных таблиц или когда отдельные строки содержат текст на разных языках.
<table>
<tr lang="en">
<td>English text</td>
</tr>
<tr lang="fr">
<td>Texte en français</td>
</tr>
</table>
Основные характеристики:
- Использует стандартные коды языков (ISO 639-1)
- Может включать региональные варианты (напр. "en-US", "pt-BR")
- Наследуется ячейками таблицы (если они не имеют собственного lang)
- Влияет на обработку текста браузерами и скринридерами
Практическое применение:
<table>
<tr lang="ar" dir="rtl">
<td>النص العربي</td>
</tr>
<tr lang="zh-CN">
<td>简体中文</td>
</tr>
<tr lang="ru">
<td>Русский текст</td>
</tr>
</table>
Рекомендации:
- Используйте для строк с контентом на другом языке
- Сочетайте с атрибутом dir для RTL-языков
- Для ячеек с особым языком указывайте lang непосредственно в <td>
- Проверяйте правильность кодов языков
Влияние на технологии:
| Технология | Влияние |
|---|---|
| Скринридеры | Используют для правильного произношения |
| Браузеры | Применяют для проверки орфографии |
| Поисковые системы | Учитывают при индексации многоязычного контента |
Ограничения:
- Не изменяет автоматически направление текста (нужен dir)
- Некоторые старые браузеры могут игнорировать
- Не заменяет полноценную локализацию контента
Пример с динамическим содержимым:
<table id="lang-table">
<!-- Строки добавляются динамически -->
</table>
<script>
const data = [
{text: "Hello", lang: "en"},
{text: "Bonjour", lang: "fr"},
{text: "こんにちは", lang: "ja"}
];
data.forEach(item => {
const row = document.createElement('tr');
row.lang = item.lang;
row.innerHTML = `<td>${item.text}</td>`;
document.getElementById('lang-table').appendChild(row);
});
</script>
Примечание: Для сложных многоязычных приложений лучше использовать специализированные библиотеки интернационализации (i18n).