HTML 5
Анне Ван Кестерен опубликовал описание ключевых отличий HTML 5 от HTML 4. Среди приятных мелочей:
[The new element] article represents an independent piece of content of a document, such as a blog entry or newspaper article.
The a and area elements have a new attribute called ping that specifies a space separated list of URIs which have to be pinged when the hyperlink is followed.
A new autofocus attribute can be specified on the input (except when the type attribute is hidden), select, textarea and button elements. It provides a declarative way to focus a form control during page load.
The new required attribute applies to input […] and textarea. It indicates that the user has to fill in a value in order to submit the form.
You can now disable an entire fieldset by using the disabled attribute on it.
The input element has a bunch of other new attributes to specify contraints: autocomplete, min, max, pattern and step.
The style element has a new scoped attribute which can be used to enable scoped style sheets. Style rules within such a style element only apply to the local tree.
The draggable attribute [on any element] can be used together with the new drag & drop API.
The menu element is redefined to be useful for actual menus.
HTML5 has none of the presentational attributes that were in HTML4 (including cellpadding and cellspacing).
getElementsByClassName() to select elements by their class name.
innerHTML as an easy way to parse and serialize an HTML or XML document. This attribute was previously only available on HTMLElement in web browsers and not part of any standard.
activeElement and hasFocus to determine which element is currently focused and whether the Document has focus respectively.
classList is a convenient accessor for className and the object it returns exposes methods, such as has(), add(), remove() and toggle().
Что ж, ждём имплементации. Думаю, в Опере 9.5 многое из этого будет реализовано. Какие-то из фич, связанных с формами, кажется, уже есть.
Я только не понял, за что выкинули элемент s. Написал Ван Кестерену письмо с просьбой по возможности оставить его.
А зачем нужен тег <s> и <strike>, если есть <del>?
Впервые слышу про ##
##.%%<s>%% и %%<strike>%% — презентационные элементы (притом один из них избыточный). Унести описание представления из элементов в CSS решили ещё в HTML 4, пометили %%<s>%%, %%<strike>%% и вместе с ними %%<u>%% как Deprecated и оставили только в схеме Transitional. Тогда же добавили семантический элемент %%<del>%%, который обычно отображается %%text-decoration: line-through%%, но может (и в какой-то версии IE так и было) не отображаться вовсе (%%display: none%%).
Забавно, что элемент %%<s>%% появился только в HTML 4, уже сразу как deprecated.
DEL — старый тег, если не путаю, был ещё в HTML 3.20. Означает «данная информация устарела» или «была вычеркнута», используется в рецензировании и правках. Там даже есть атрибут, который позволяет указать дату правки. Есть противоположный элемент INS. И тот и другой по назначению используются крайне редко, обычно о них вспоминают, когда у верстальщика теги кончаются. Знаешь, сколько в HTML ещё таких «редких» тегов? :)) VAR, XMP, KBD, SAMP и т. д.
А, про ##
##/#### я знал ;-) Просто #### сам по себе не вызывал никаких ассоциаций.Семантика у ##
## и #### разная, и если я останусь без ####, то я скорее напишу ####, чем ####.Про редкие теги я знаю.
Если required будет применим только к input и textarea, то все остальные элементы ввода (radio, select, ..) нужно будет по старинке проверять скриптом.
Смысл?
PS. насчет radio я гоню, конечно же.
Да и насчёт select, надо сказать, тоже :-)
Когда-то рисовал смешную штуку — определение различий между версиями текста для небольшого Wiki-движка. И, естественно, встал вопрос — как эти различия показать? Традиционный подход — показать две колонки с разными версиями, но это для исходников хорошо.
В общем, вспомнил про теги %%<ins>%% и %%<del>%%, оформил их CSS’ом, и получилось то, что надо :)
А по теме сообщения — очень хочется дождаться реализации этого самого HTML5. И, конечно же, CSS3.
Можно не стесняться, пойти дальше и сказать, что у <s> семантики нет вовсе никакой. То есть — да, ровно столько же, сколько у
Так что ничего не остается как поздравить вас с тем, что вы верстаете «на дивах».
Если вы не видите семантики у ##
##, это ещё не повод меня поздравлять с какой-то хернёй бессмысленной.Прекрасно, приведите, пожалуйста, пример случая, в котором вам позарез нужно было бы применить тег <s>.
HTML 5 будет таким же строгим как XHTML? Или так же будет допускать Tag soup?
HTML 5 не будет XML’ом. Для любителей XML’а будет XHTML 5 — точно такой же, но строгий.
Я не знаю, что конкретно вы в данный момент понимаете под тег-супом. Независимо от того, что написано в документе, браузер будет его пытаться «хоть как-нибудь да отобразить», в этом смысле тег-суп, конечно, будет допустим; ошибок парсера браузер пользователю показывать не будет, к счастью.
Илья, у меня вопрос любопытствующего. Я тоже все время считал <s> исключительно оформительским тегом без семантики.
Поясните, пожалуйста, какую семантическую нагрузку может нести <s>.
В спецификацию я еще раз на всякий случай, естественно, заглянул: http://www.w3.org/TR/html401/present/graphics.html#edef-S
Семантика прекрасно описана у Лебедева: Неформальная типографика.
!!Какие-то из фич, связанных с формами, кажется, уже есть.!!
Ага. Тот же required, например.
Ссылка по теме: http://htmlcoder.visions.ru/HTML/?23
Тип ввода email, date и time — это реально то, о чем я мечтал много лет. А вот «новый атрибут charset» у тега meta — это, я считаю, профанация самой идеи метаданных. Уж лучше бы ему быть в теге html.
А если тег strong будет означать только важность, а тег b — только жирность, то мы скоро увидим чудовищный код наподобие «<strong><b>пластиковые окна</b></strong>».
Надеюсь, появление странного атрибута ping наконец позволит вам, Илья, убрать с вашего сайта это ткод, коверкающий все ссылки.
Для зачёркивания текста чудесно подходит <del>, но никак не <s>, который правильно deprecated.
Вы не правы; впрочем я уже об этом говорил выше.
Главное, что люди в W3C меня поняли.