Смысл смысла

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

Маленький — потому что тема эта уже наскучила. Да, организация структуры даже XHTML лажает по сравнению с XML и базами данных. Да, браузеры лажают и едят что угодно. Да, роботы и поисковики пока эту семантичность не едят. Да, для того, чтобы вымудрить какой-нибудь спецэффект, убивают структуру и семантичность. Да, и в самих рекомендациях (запомните — W3C не делает «стандарты», она делает рекомендации — я с этим наплакался еще когда диплом писал по SQL) много огрехов, и текущие версии не удовлетворяют полностью чаяниям Семантической Паутины. Да, для поддержки семнтики пришлось выдумывать микроформаты. Да. Да. Да.

Но разве это причины не стремиться к эволюции Веба?


HTML — это разметка текста, так почему на многих сайтах элементы оформления заключены в <p>, а основной текст, наоборот, выпадает из абзацев? Почему код оформлен не <code>, а каким-нибудь <em>?

Для переменных какой-нибудь программы, упоминаемых в тексте, есть <var> (мне кажется им можно выделять и функции, упоминаемые в обычном тексте, и выделение их в коде, для последующего форматирования). Для текста, набранного пользователем, есть <kbd>, что, в отличие от <code>, лучше подойдет для команд консоли. А вот результаты программы надо оборачивать в <samp> (для конслоли, получается, чередовать).

Блочный <pre> же, если вспомнить комментарий от Jehy, это просто преформатированный текст, который может быть как угодно оформлен, который может содержать что угодно. Он просто сохраняет все табуляции и пробелы, так что может использоваться как для кода, бланка документа, стенограммы телепрограммы, так и для текста из книги — риальни чего угодно.

Цитаты могут быть оформлены как строчно, с помощью <q>, так и блочно, с помощью <blockquote>. Здесь есть определенная проблема — как указывать <cite>. В случае блочной большой цитаты я предпочитаю думать, что надо оставить выделенное авторство цитаты прямо внутри блока <blockquote>. По аналогии с <legend>, который размещается внутри <fieldset>, чтобы точно была определена взаимосвязь между цитатой и источником.

И вот после того, как текст не размечен даже этими тегами, кто-то осмеливается заявлять, что текущий HTML — это только оформление.


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

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

{4 комментария} Подписка на комментарии

А в blockquote есть атрибут cite :-) Только «простому смертному» он не виден. Можно, конечно, поизвращаться с CSS, чтобы вставлять в текст значение этого атрибута, но будет ли это красиво?

Есть, но, как ты и сказал, он не отображается браузерами. В принципе, можно попробовать его вытащить как blockquote[cite], но не думал даже, как :).

К тому же, это только ссылка — а название источника в title засовывать? Как-то странно получается.

Да и так — странно. Если отталкиваться от XML, то логичней было, если в блоке было три тега — источник, ссылка, цитата. Перемудренно как-то выглядят и атрибуты, и помещение cite в самой цитате. Но последнее я пока вижу более правильным, ведь blockquote — блочный, а cite — инлайновый.

<cite>Билл Гейтс</cite> сказал: <q cite="microsoft.com">640 K ought to be enough for everyone</q>.

Или

<p><cite>Билл Гейтс</cite> сказал:</p>

<blockquote cite="microsoft.com">640 K ought to be enough for everyone</blockquote>.

Имхо так.

А в эпиграфе?

<blockquote>Книги - хорошая штука, из них можно сделать много пыжей для ружей.</blockquote>
<cite>У.Черчилль</cite>

Но cite — инлайновый, получается, что тоже в p надо забивать, получается, что источник и сама цитата разделены. Если в q это работает, то здесь... не знаю, выглядит плохо.

(в комментариях можно код заключать <code> или {[ без проставления entity.)

А здесь можно оставить свое мнение ↓ Подписка на комментарии
какие-то из следующих трех полей можно оставить пустыми


нет тегам!!! **эмоция**, __ирония__, >цитата, {[код]}