Атрибут hidden тега <bdo>


Описание

Атрибут hidden для тега <bdo> позволяет скрыть элемент со всем его содержимым. Однако это нарушает основное назначение тега, который предназначен для управления направлением отображения текста.

Пример (не рекомендуется):

<bdo dir="rtl" hidden> هذا النص مخفي </bdo>

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

Проблема Решение
Бессмысленность применения Использовать только для видимого текста
Нарушение семантики Применять к блочным/строчным элементам вместо <bdo>
Проблемы доступности Скрывать контент через CSS или aria-hidden

Правильные альтернативы:

<!-- CSS-решение --> <div class="visually-hidden"> <bdo dir="rtl">نص مخفي</bdo> </div> <!-- ARIA-решение --> <bdo dir="rtl" aria-hidden="true"> نص غير مرئي </bdo>

Сравнение методов скрытия:

  • hidden: Полное удаление из layout (не для <bdo>)
  • CSS display:none: Аналогично hidden (лучше для контейнеров)
  • aria-hidden: Только для скринридеров (сохраняет отображение)
  • CSS visibility:hidden: Сохраняет пространство (не для <bdo>)

Важно: Тег <bdo> должен использоваться только для видимого текста, требующего контроля направления. Для скрытого контента применяйте другие HTML-элементы.

Исключительные случаи:

<!-- Временное скрытие при динамическом обновлении --> <bdo dir="rtl" id="temp-content" hidden> محتوى مؤقت </bdo> <script> // Показать при необходимости document.getElementById('temp-content').hidden = false; </script>

Рекомендации:

  • Избегайте hidden для семантических текстовых тегов
  • Для RTL/LTR-логики используйте видимые элементы
  • Скрывайте через родительские контейнеры при необходимости
  • Тестируйте скрытый контент в скринридерах