Так что же не так с HTML 5? Перевод

Evg Evg 30 Января 2022

Продолжаю размещать то, что мне интересно, чуток истории. Иногда надо знать начало, чтобы понимать, что вообще происходит. Это беглый перевод статьи Jason M. Knight (aka Deathshadow) с его сайта.


В своем нынешнем виде HTML 5 быстро становится популярным модным словом, похожим на «Веб 2.0″ — обычно людьми, которые недостаточно знают, что это такое на самом деле, зачем его использовать или, что наиболее важно, когда его НЕ использовать. ! Сравнение с «Веб 2.0″ подходит ОЧЕНЬ хорошо, поскольку, хотя существует законный HTML 5, большая часть того, что люди называют HTML 5… ну… просто таковым не является. Новые эффекты CSS3, медиа-запросы и адаптивный макет?

Это НЕ HTML! новый скриптовый материал? НЕ HTML!!! Вы убираете все на самом деле «крутые» вещи, которые люди, которые ничего не знают, бегают вокруг, вызывая HTML 5, и что у вас остается?

Немного. Император стоит обнаженным для всего мира.

Тим Бернерс-Ли

Тим Бернерс-Ли CERN/Global Look Press (> 30 лет назад Тим основал первый веб-сайт)

Когда Тим Бернерс-Ли создавал HTML много лет назад, первоначальная цель состояла в том, чтобы сказать, чем вещи ЯВЛЯЮТСЯ или какими они будут, если они будут профессионально написаны, чтобы «пользовательский агент» — то, что сегодня больше всего известно как браузер, — мог лучше всего определить, как показать этот контент в пределах возможностей целевого устройства.

То, что сегодня мы называем «семантической разметкой», — это как раз то, для чего все это время использовался HTML. Это связано с тем, что в то время существовало множество возможных различных устройств, на которых документ мог быть показан, от телетайпа до экрана VIC-20 с разрешением 22×21 и рабочей станции NeXT с разрешением 1152×864, над которой в то время работал TBL … ничего подобного сегодня, где у нас есть все эти дисплеи одинакового размера и разрешения…НЕТ

К сожалению, все это намерение было выброшено в окно во время войн браузеров в конце 1990-х годов, когда производители браузеров начали создавать свои собственные расширения для HTML, чтобы позволить «дизайнерам» говорить, как все должно выглядеть. Это уничтожило доступность страниц, созданных с использованием этих дополнений, и заставило людей перестать думать о том, что на самом деле означают теги — вместо этого все внимание было сосредоточено на том, как эти теги выглядели, уничтожив всю причину, по которой HTML вообще существовал! В конце концов, будучи беззубым слабаком, W3C принял многие из них в HTML 3.2.

Затем W3C стал шизофреником

Они создали два HTML — «4 переходный», где в спецификацию было разрешено все, что есть в 3.2, а также множество новых проприетарных тегов, и «4 строгий», который должен был вернуть HTML к исходной цели — сказать, что есть вещи, поэтому CSS можно использовать, чтобы сказать, как выглядят вещи для конкретных целей. Transitional должен был позволить старым страницам добавлять новый материал HTML 4, Strict был предназначен для создания новых, лучших, быстрых и более доступных веб-сайтов.

STRICT касался не только удаления представления из разметки, но и удаления избыточности. APPLET был удален, а проприетарные теги и атрибуты типа EMBED или BGSOUND были отклонены в пользу OBJECT. (и нам сказали, что IMG он находится на разделочной доске, поскольку также является избыточным для OBJECT) MENU, и от него DIR отказались в пользу UL. Даже теги были удалены из-за того, что они были похожи на презентационные, CENTER и FONT были удалены скорее из-за того, что они были избыточными для CSS, поскольку они не имели семантического значения. (даже B и I как минимум имеют смысловое значение «что было бы в профессионально написанном документе»).

OBJECT тоже существовал по очень важной причине — чтобы позволить маркету и разработчикам сайтов выбирать, какие форматы поддерживать; если бы у нас была ПРАВИЛЬНАЯ OBJECT реализация и надлежащая поддержка изолированных плагинов, мы могли бы использовать все виды забавных форматов, таких как JPEG 2000… К чему, ну… мы вернемся к этому через мгновение.

Итог: Transitional буквально означает «переход от практики кодирования 1997 к 1998», в то время как STRICT означает следование всем хорошим практикам разработки и доступности, которые должны были быть в HTML. Транс для старых сайтов, Строгий для новых …

Итак, естественно, что люди писали совершенно новые страницы, как в последующее десятилетие? Почему переходный, конечно, ведь немногие разработчики были готовы извлечь свой череп из прямой кишки 1997 года. Не имело значения, была ли новая технология более доступной, использовала меньшую полосу пропускания, была ли на самом деле проще в работе или могла ли она подготовить вас к будущим возможностям — как всегда, люди просто хотели заниматься тем, что делали, независимо от того, насколько это было важно. затраты в долгосрочной перспективе.

Приходит HTML 5

… и это печальное положение дел. Вместо дальнейших попыток вытащить разработчиков из темных веков вычислений, он нежно похлопывает их по плечу, повторно вводит старые избыточности, создает все новые избыточности и кучу кричащей чепухи о том, что «звучит хорошо», которая является скорее выдумкой, чем факт. Во многих смыслах это просто W3C воздел руки к небу и говорит:

«Да ладно, давай, дерзай по-старому. Нам уже все равно!»

Увольнения

Повторное введение избыточности особенно раздражает — EMBED например, это не было разрешено в HTML 4 из-за того, что оно избыточно для OBJECT. Теперь с HTML 5 мы получаем не только EMBED спецификацию, но VIDEO и то AUDIO, что ТАКЖЕ избыточно для того, почему OBJECT существует. Они не делают ни одной чертовой вещи с этими новыми тегами, которые не могли бы быть обработаны OBJECT. Вместо того, чтобы надирать задницы производителям браузеров по поводу OBJECT правильной реализации, они создают избыточные теги и допускают использование старого тега без всякой видимой причины. ХУЖЕ, с AUDIO и VIDEO вы зависите от производителей браузеров в отношении поддерживаемых форматов. Это называется «привязка к поставщику», но смешно, что они продали его как борьбу с привязкой к поставщику, потому что Flash выиграл войну медиаформатов Quicktime против WMP против Realplayer примерно в тот же период времени, что и войны браузеров.

Вы могли бы подумать, что все стороны, стоящие за VIDEO тегом, были теми, кто проиграл эту войну, или имели форматы, которые никто не использовал бы по своему выбору.

Даже новые структурные теги будут излишними, если вы будете использовать пронумерованные заголовки и горизонтальные линейки для того, что они означают в профессиональном письме; заголовок является началом подраздела, если заголовки имеют «уровни», что выражается размером или отступом, они являются началом подраздела заголовка «более высокого уровня» перед ними. Здесь, а H1 — это заголовок, под которым все на странице является подразделом (например, заголовок сайта, как название газеты или книги находится вверху КАЖДОЙ страницы), а H2 — это начало основных подразделов, H3это начало подразделов. из H2, и так далее… Горизонтальные правила означают изменение темы/раздела, где текстовый заголовок является нежелательным/необоснованным/нежелательным. Что-нибудь после последнегоHRбудучи нижним колонтитулом. Опять же, используйте теги для того, что они означают — H1 через H6 не означает «большой текст» и не HR означает «рисовать линию на экране».

Что означает, что если у нас есть все это, чтобы отметить начало разделов, изменения в теме или даже нижний колонтитул последней страницы, какую законную цель имеет HTML 5 HEADER, SECTION кроме FOOTER избыточного бессмысленного раздувания кода? Единственным возможным объяснением может быть определенная группа разработчиков, заинтересованная в том, что называется «очисткой данных» — и давайте будем совершенно прямолинейны в этом и будем использовать их НАСТОЯЩЕЕ имя: ВОРЫ КОНТЕНТА.

Точно так же, если пронумерованные заголовки при правильном использовании создают красивую схему/дерево навигации по документу, то браузеры, такие как «настоящая» Opera (в отличие от жалкой хромой программы, такой как Chrome с налепленным на нее логотипом Opera), и программы чтения с экрана, такие как JAWS. может использовать для быстрого перехода от верхней части документа к началу содержимого, какой цели NAV служит тег 5, кроме как еще раз, будучи бессмысленным раздуванием кода. Помните,NAVсуществует, чтобы сказать: «это навигационный блок, который вы можете пропустить, чтобы перейти к содержимому страницы». Удивительно, как много людей, использующих HTML 5, кажется, не знают об этом и думают, что это означает что-то совершенно другое, обычно смысл, вытащенный из их задней части! В частности, вы часто будете видеть, как пользователи HTML 5 просто помещают NAV вокруг кучи якорей без списка, думая, что он заменяет списки — 100%-й класс Свежий навоз фермы и выдумка, сотканная невежественными людьми. Затем они недоумевают, почему программы чтения с экрана, такие как Jaws, рассматривают свое меню как одно предложение. НЕ то, чтобы я что-то знал о повторяющихся предложениях…

Затем HGROUP— объединение нескольких заголовков в единое целое — ЧТО КОНЕЦ? Если заголовок является началом подраздела, зачем их объединять? Я понимаю, что многие люди объединяют их вместе как отношения типа заголовка и слогана, но в этом случае это ОДИН заголовок и, вероятно, должен быть чем-то вроде SPAN или SMALL внутри одного пронумерованного заголовка. HGROUP был таким примером того, как люди, придумавшие HTML 5, даже не понимали, как использовать HTML 4, даже в конце концов они исключили его из спецификации где-то в начале 2013 года.

То, что он вообще существовал, просто доказывает, что люди, создавшие HTML 5, не знали достаточно о HTML 4, чтобы создавать его преемника!!!

Читать далее (на англ.):

https://cutcodedown.com/article/whats_wrong_with_HTML_5 (недоступен)

Опубликовано в Блог Evg

3 Ответа

  1. German German 30 Января 2022

    Спасибо. Мне всегда интересно читать подобные материалы! +100

  1. OleStep OleStep 31 Января 2022

    Интересная точка зрения, я если честно никогда не думал про это:

    Теги типа DIV и SPAN великолепны, поскольку они не придают содержимому никакого дополнительного значения, кроме «этот материал может получить стиль» — именно тогда вы добавляете их, и на самом деле их не следует добавлять в ваш код, только ПОСЛЕ того, как вы исчерпали их стиль для ваших существующих семантических тегов.

    1. Evg Evg 31 Января 2022 (ред.)

      Я всегда говорил, что проблема в образование, знаний не хватает. Свобода, — это знать и выбирать. Она идет от вариантов. А если мы не знаем вариантов, у нас нет свободы. Только в рамках выученных вещей, которые могут быть и не очень. А вообще, вредно читать подобные статьи. :) Вот прочитал, сразу посмотрел код тут и править надо, кстати да, теги лишние вносить не надо, div ещё надо поубивать массу, а новые теги не стоит добавлять.