Когда тегов не хватает

HTML5 принес довольно много новых элементов гипертекстовой разметки (в народе звучно называемых «тегами»). Это и долгожданная семантика («header», «article», «nav» и т. п.), и новые элементы форм. Верстка стала более логичной, а формы — умными, но вот беда — создателям веб-сайтов для подготовки машинно обрабатываемого контента этого мало — ну просто мало тегов!

Ну вот, допустим, нет специального тега product для обозначения товара в интернет-магазине, а потребность в нем есть, и совсем немаленькая. А у товара, кстати, почти всегда присутствует цена! Почему бы не сделать что-то вроде <price>$100500</price>? Или еще лучше — <price>100500<currency>USD</currency></price>?

А человек? Хочу специальный тег <person>! Ну и <address> <phone> для него. Что? А, ну да, <homephone> и <mobilephone>. И <name>. Имя может быть не только у человека? Кто-то уже предложил тег <pet>? Ну, пусть будет <personname>. Да и <personsurname>, разумеется.

Как видим, «размножая» теги, мы сразу получаем две проблемы. Во-первых, возникает ряд однотипных тегов вроде <name> или <phone>. Во-вторых, взявшись обозначать наиболее нужные новые элементы, мы сразу тонем в их лавинообразно растущем количестве. Я надеюсь, нет необходимости объяснять, что ни одна технология просто не будет поддерживать DOM из нескольких тысяч (а то и десятков тысяч) тегов?

Впрочем, тут я прицеплюсь к собственной фразе: «наиболее нужные… элементы». Кому, собственно, они «наиболее нужны»? Для посетителя сайта абсолютно все равно, будет ли название BMW X1 заключено в теги <div></div>, <span></span> или <car></car>. Все верно, стараемся мы тут не для посетителя, а для поисковых роботов, синтаксический анализаторов, парсеров, словом, для бездушной, но совершенно необходимой машинной обработки страницы. Исходя из этого, и можно найти решение по внедрению в веб полезной семантики, не раздувая набора тегов.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *