Мы так много слышим о "семантическом HTML".Где / какие алгоритмы читают наш семантический html? - PullRequest
3 голосов
/ 24 августа 2010

Я продолжаю пытаться правильно использовать HTML5, но мне кажется, что он все еще не близок к чему-то семантически ценному.

Мои попытки:

Но в каждом теге есть такие тонкости!

У меня вопрос: какое конкретное программное обеспечение в сети на самом деле выполняет такие вещи, как обработка нашего HTML DOM, вычисление и сравнение элементов, чтобы сказать: «О, это <header>, и это просто после <section>, и в нем есть <time>, поэтому тег <time> должен быть «метаданными» по отношению к <header> ... »и говорить:« Содержимое внутри тега <time> не только это «опубликованное время», но оно также относится к дню рождения автора, поэтому это должен быть специальный пост (скажем, там тоже был тег <cite> или <address class='vcard'>) ".

Я имею в виду, какую выгоду я когда-либо получу при использовании HTML5, если я не знаю алгоритмы, которые его интерпретируют? Если бы я просто придерживался базовых тегов div, ol, ul, li, p, a, h[1-6], я мог бы делать все с половиной количества элементов DOM.

С нетерпением ждем некоторых конкретных алгоритмов, которые я могу использовать для формирования структуры DOM с этого момента.

Я нахожусь в том положении, когда даже не думаю, что нам вообще следует использовать теги HTML5. Например, особенно на iPhone, цель должна состоять в том, чтобы минимизировать количество элементов dom, чтобы уменьшить время загрузки. Кроме того, если сайт iPhone является зеркалом традиционной версии браузера, поисковые системы даже не увидят сайт iPhone (в идеале). Так что нет смысла делать семантику DOM. Так что, если я могу использовать 1/2 количества тегов <div> для достижения того же макета, как если бы я использовал несколько «семантическое представление HTML5», и это хорошо для iPhone, почему бы мне не сделать это для обычный браузер тоже? Вот откуда я родом.

Статьи типа this в основном говорят, что бесполезно беспокоиться о семантическом HTML.

Ответы [ 4 ]

4 голосов
/ 24 августа 2010

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

Кроме того, ваше утверждение о том, что мы не должны использовать теги HTML5 на iPhone «для минимизации элементов dom», не основано ни на каких технических основаниях. HTML5 не диктует, что мы используем больше элементов DOM, и фактически он может позволить нам опустить теги, которые потребуются XHTML. Вы должны использовать HTML5 на iPhone больше , чем где-либо еще. Например, новые типы input, такие как number и email, мало что делают на рабочем столе, но эта дополнительная информация может действительно сделать вещи на iPhone более приятными, предоставив ему соответствующий интерфейс.

2 голосов
/ 27 августа 2012

Всякий раз, когда «машина» пытается осмыслить ваш контент.

Помимо поисковых систем (→ SEO), средства чтения с экрана (→ Доступность) интерпретируют разметку.Они становятся лучше от версии к версии.

Кроме того, подумайте обо всех инструментах, которые могут прийти однажды.Самое замечательное в Интернете заключается в том, что все веб-страницы могут существовать через 5, 10, 100 ... лет.Представьте, какие пользовательские агенты, алгоритмы и инструменты поиска могут существовать тогда, и как они могут извлечь смысл ваших старых документов.

1 голос
/ 24 августа 2010

Поисковые системы могут / будут лучше интерпретировать ваши страницы, что в сочетании с другими факторами приведет к улучшению рейтинга ваших страниц.

Более того, если вы используете теги последовательно и семантически, вы можете создавать свои собственные многократно используемые виджеты и библиотеки, которые получают знания из структуры HTML, независимо от того, как данные хранятся в серверной части.

alt text

Рассмотрите этот пример поиска Google, где вы можете фильтровать результаты по дате. Используя семантический HTML, скажем, <article> и <time>, вы можете написать простой сканер, воссоздающий эту функцию или позволяющий пользователям указывать интервал времени, в течение которого можно искать статьи на вашем собственном сайте (сайтах).

0 голосов
/ 25 апреля 2013

Вдобавок ко всему, я не знаю ни одного алгоритма, использующего новые семантические теги в HTML5. (Очевидно, это не значит, что их нет.)

Но идея о том, что вы должны адаптировать свой HTML к конкретным алгоритмам, я думаю, немного противоречит тому, как работает сеть. Сеть существует по всему миру, и мы надеемся, что она будет существовать еще долго. Мы не можем знать, для чего будет использоваться наш HTML, и полезные алгоритмы не могут быть написаны, пока не будет достаточного количества фактического контента.

Тег <a> не был разработан с учетом алгоритма Google PageRank. Некоторые люди думали, что ссылки были бы бесполезны, если бы они не были изначально двусторонними, потому что вы получите слишком много неработающих ссылок, когда один конец исчезнет.

Конечно, если расплывчатая возможность неопределенных будущих выгод не позволяет использовать некоторые или все теги HTML5 для какого-либо проекта, над которым вы работаете, не используйте их.

Для меня преимущество их использования состоит в том, что есть хорошо известная, общедоступная, не являющаяся частной собственностью спецификация, которая сообщает вам и всем, кто работает над кодом, о том, что, как мы согласились, означают теги. Будущие разработчики не просто получают <div> с именем класса, которое я придумал в 7:00 на кофейном топливе. печать кода, они получают тег, разработанный и задокументированный людьми, умнее и опытнее меня. Существует также вероятность того, что код станет более полезным в будущем, если люди будут использовать значения, содержащиеся в тегах HTML5 в алгоритмах, тогда как вероятность этого будет меньше, если это всего лишь набор <div> s.

Я не думаю, что стоит особенно беспокоиться об увеличении размера наших страниц с помощью тегов HTML5. После распаковки увеличения размера недостаточно, чтобы беспокоиться о нем, особенно из-за того, что задержка (с которой вы мало что можете сделать) сдерживает производительность мобильных устройств, а также пропускную способность. Плюс пропускная способность мобильной связи, скорее всего, будет увеличиваться, а не уменьшаться.

...