Почему на многих крупных сайтах не применяются семантические теги, такие как main, section, article, aside, header и footer?

Почему в практике часто используются просто дивы, несмотря на то что учебные материалы подчеркивают важность соответствующих тегов?
  • 28 сентября 2024 г. 4:33
Ответы на вопрос 2
Использование семантических тегов в HTML, таких как `<main>`, `<section>`, `<article>`, `<aside>`, `<header>`, и `<footer>`, действительно имеет множество преимуществ, включая улучшение доступности, SEO (поисковая оптимизация) и структурирование контента. Однако в практике разработки веб-сайтов можно наблюдать несколько причин, по которым не всегда применяются семантические теги:

1. **Наследие устаревших подходов**: Многие крупные сайты были разработаны еще до появления семантических тегов (HTML5) и продолжают использовать старые подходы, такие как `<div>` и `<span>`. Это может быть связано с поддержкой устаревших браузеров или систем.

2. **Привычка разработчиков**: Разработчики, которые долгое время работали с не семантическими тегами, могут предпочитать свой привычный стиль. Им может быть удобнее использовать `<div>` для всего, что они делают.

3. **Сложность интеграции**: На некоторых крупных веб-сайтах существуют сложные системы управления контентом или фреймворки, которые могут затруднять использование семантических тегов. В таких системах разделение контента на разные блоки может быть связано с требованиями, которые не учитывают семантику.

4. **Производительность**: Иногда могут возникать опасения по поводу производительности, особенно если семантические теги ведут к более сложной структуре DOM (Document Object Model). Хотя это и не всегда справедливо, некоторые разработчики могут считать, что добавление семантики усложняет рендеринг.

5. **Сложные макеты**: В случае с адаптивным дизайном и сложными макетами часто проще использовать `<div>` и CSS Flexbox или Grid для достижения нужного результата. Некоторые разработчики могут считать, что семантические теги делают верстку сложнее и запутаннее.

6. **Непонимание значения семантики**: Не все разработчики в полной мере понимают преимущества использования семантических тегов, их влияние на доступность и SEO. В результате они могут просто не придавать этому значения.

Несмотря на вышеописанные причины, стоит отметить, что использование семантических тегов по-прежнему является хорошей практикой в веб-разработке. Они помогают не только в улучшении доступности и SEO, но и в повышении читаемости кода, что облегчает его поддержку и понимание другими разработчиками.
Во-первых, по тому что большинство разработчиков работает чисто чтоб закрывать задачки в джире, и напрягать голову сверх задачи не видит смысла. 
Во-вторых, менеджеры порой на задачи ставят такие сроки, что напрягать голову особо и нет времени, тяп ляп и в продакшн.
В-третьих, большинству бизнеса, который вкладывает в разработку сайта деньги, это нафиг не сдалось. Если сам бизнесмен не имеет ни каких ограничений по здоровью во взаимодействии с сайтом (а именно ради этого нужна семантическая разметка, а не ради какого-то СЕО), то вот он потыкал успешно пальцем на своём ойФоне - сайт работает, значит ок, зачем выделять деньги на большее.

То, что кто-то совсем не сможет пользоваться сайтом имея ограничения по зрению или со сломанной рукой или с ребёнком на руках - никого в этой цепочке не волнует.
Да банально попробуйте купить мышку онлайн не пользуясь мышкой/тачпадом/тачскрином. Но при этом мышки успешно продаются, а значит ничего меняться не будет.
Похожие вопросы