Теряют ли веб-разработчики уважение к стандартам? Недавний обзор крупнейших сайтов мира намекает на это.
ValidateHTML — проект независимого французского разработчика Тео Дюкрё — изучил содержимое 5000 самых популярных веб-доменов по оценке исследовательского проекта Tranco. В их число входят обычные подозреваемые (Google, YouTube, Akamai), а также сайты без публичной лицевой части (Google «gstatic», EZVIZ «Ezviz7»).
Дюкрё обнаружил, что более половины — 2656 сайтов — отдают домашнюю страницу, читаемую человеком. Многие другие, например Google и EZVIZ, оказались просто сайтами для перенаправления трафика — маяками, через которые продукты компании сообщают о себе.
Безголовые или нет, почти 90% этих сайтов не отдавали корректный HTML, как того требуют спецификации Консорциума Всемирной паутины (W3C) и WHATWG (Web Hypertext Application Technology Working Group). Эти стандарты важны, чтобы разные браузеры и программы чтения могли отображать запрашиваемые страницы более или менее одинаково.
Дюкрё насчитал в общей сложности 100 305 нарушений HTML (включая новейшие спецификации HTML5) на всех этих сайтах, а также дополнительные 18 863 ошибки CSS. Иными словами, 87,2% сайтов нарушают веб-спецификации хотя бы в одном месте. Только 12,8% имеют полностью валидный HTML. И лишь 2,6% всех сайтов абсолютно чисты — не содержат ни ошибок, ни предупреждений о нарушении лучших практик.
Ещё более тревожно то, что более трети сайтов не прошли проверку на доступность, что для их владельцев является скорее юридической ответственностью (а значит, вопросом соответствия требованиям), чем поводом для смущения, учитывая потенциальный охват Европейского акта о доступности 2025 года. (В США горе тому сайту электронной коммерции, пренебрегающему доступностью, который вызовет гнев Национальной федерации слепых.)
С точки зрения доступности на 20,4% сайтов отсутствует альтернативный текст для изображений, которые часто содержат жизненно важную информацию. Хуже того, на 41,6% страниц отсутствуют метки ARIA, идентифицирующие области страницы, что потенциально заставляет программы чтения с экрана с трудом передавать структуру страницы. «Вот iframe, разбирайтесь сами».
«Программы чтения с экрана не обладают и близко такой толерантностью к ошибкам, как Chrome, поэтому разметка, которая вам кажется совершенно нормальной, может быть сломана для тех, кто использует вспомогательные технологии», — рассказал Дюкрё The Register.
Для проекта он использовал собственный веб-сканер и набор парсеров с открытым исходным кодом (HTML-validate, CSS Validator, Lightning CSS, fast-xml-parser). «Сайт, система оценки и логика сканирования — мой собственный код», — пояснил Дюкрё по электронной почте. Дюкрё является основным сопровождающим проекта и сайта. «Ни команды, ни финансирования, ни компании».
Электронная Вавилонская башня
Действительно ли отсутствие соблюдения стандартов имеет значение? Это открытый вопрос.
«Веб — это скорее социальное творение, чем техническое», — писал создатель веба Тим Бернерс-Ли ещё в 1999 году. Если мы все пойдём и создадим свои собственные стандарты, то соединяться и общаться станет сложнее.
Модная ныне Теория мёртвого интернета — согласно которой бо́льшую часть интернет-трафика теперь составляют AI-машины, а не мы, «мясные палки», — не снимет ответственности с разработчиков. Как обнаружили инженеры Shopify, даже сверхинтеллект предпочитает аккуратную разметку.
Часть вины лежит на браузерах. Если только они не питают страсти к недолговечному, но безжалостно неумолимому XHTML, современные браузеры просто игнорируют любой код, который не могут понять.
«Браузеры настолько хороши в восстановлении после ошибок, что ничто не заставляет никого исправлять свой код, — написал Дюкрё на сайте. — Именно поэтому ошибки накапливаются». Снисходительность поощряет нерадивость.
Фронтенд-фреймворки тоже творят свои беды. Самое распространённое нарушение (обнаружено более чем на 59% всех сайтов) — это неправильно расположенный элемент, он же некорректная вложенность тегов. Знали ли вы, что нельзя помещать элемент style внутрь блока div? Многие фреймворки, очевидно, так делают.
«Это проблема вложенности, возникающая на этапе сборки, а не в редакторе, — написал Дюкрё на сайте. — Никто не пишет такое вручную».
Многие считают, что небрежный HTML — не проблема, в том числе некоторые комментаторы на Hacker News. Один участник отметил, что «HTML5 определяет метод преобразования практически любой последовательности байтов в одно и то же DOM-дерево», где DOM — это объектная модель документа, которую браузер использует для понимания веб-страницы.
Сам Дюкрё не считает плохой HTML экзистенциальной угрозой для веба, за исключением того, что он мешает доступности, из-за чего кто-то может гадать над содержанием онлайн-контента, который ему действительно нужно понять.
«Честно говоря, большинство невалидного HTML ничего видимого не ломает — браузеры созданы так, чтобы угадывать, что вы имели в виду, и просто молча это исправлять», — написал он по электронной почте. Но в то же время веб — это не только браузеры.
«AI-агенты, читающие страницы, голосовые помощники, инструменты перевода, программы чтения с экрана — ни у кого из них нет 20-летнего опыта Chrome по угадыванию ваших намерений, — написал он. — Написание кода в соответствии со спецификацией — это то, что делает страницу одинаково понятной для всех них, а не только для того, кто рендерит её в Chrome сегодня». ®
Всегда имейте в виду, что редакции могут придерживаться предвзятых взглядов в освещении новостей.
Автор – Joab Jackson




