Компьютерра, 2008 № 25-26 (741-742) | страница 25



А "не так", собственно, только одно — набор элементов, предоставляемых HTML, слишком мал и однообразен для описания богатой семантики современной веб-страницы — даже с учетом всех благих рекомендаций по отделению представления от содержания и использованию таблиц стилей (CSS).

Ведь все элементы HTML, в общем-то, предназначены для описания только и именно текста, статьи, документа; все это богатство (абзац, заголовок, таблица и пр.) отнюдь не рассчитано на страницы сложной структуры, состоящие из многих сегментов — верхнего меню, бокового меню, подвала, панели ссылок… то есть всего, что составляет практически любой современный сайт. Таблицы стилей скрывают от нас, что с точки зрения языка разметки мы смотрим не на "страницу с меню и блоком навигации", а на сотню одинаковых блоков или (упаси господи) здоровенную таблицу из полутора сотен ячеек. Еще более проблемный элемент — собственно ссылка, основа и связующее звено гипертекста.

Опять же, с точки зрения семантики любая ссылка выглядит одинаково, и отличить ссылки внутренней навигации от несущих смысл информационных связей (а также от ссылок "по дружбе", ссылок на "студию, которая делала этот сайт", и т. п.) может только естественный интеллект (вооруженный к тому же современным браузером, изображающим документ примерно так, как предполагал его автор). И это если не говорить о "ссылках", выглядящих как таковые, но никуда не ссылающихся, а открывающих новые окна, выполняющих AJAX-запросы и делающих много других, крайне полезных, но никак в семантику ссылки не укладывающихся дел [Некоторые из этих проблем пытается исправить будущий стандарт HTML5, вводящий, например, элемент ‹nav› для обозначения навигационной части страницы;другие проблемы решаются и в сегодняшнем HTML’е при помощи менее известных "фич" вроде возможности указать атрибут "rel"(relation) для любой ссылки, обозначив ее отношение к текущему документу. Но все это лишь случайные "поправки" — тогда как необходимо комплексное решение проблемы].

То есть изначальная (и нынешняя) структура HTML, во-первых, не учитывает разделения любой вебстраницы на "приложение" (навигацию, служебные и информационные элементы) и его "контент"; вовторых, эта самая структура неспособна адекватно отобразить отношения между частями сложного контента, действуя лишь в терминах "это идет за этим" и "это стоит рядом с тем". Соответственно, любая маломальски нетривиальная задача по работе с информацией в Вебе не может быть выполнена автоматизированным средством анализа, а только — человеком, отличающим оформление от контента, существенную информацию от факультативной, определяющим значимость ссылок "на глаз".