Думаю, что лучше всего собраться где-нибудь у воды. Сейчас для этого совершенно прекрасная погода! Хабрафутбол на хабратравке, хабраволейбол на хабрапеске, хабракупания, хабрашашлык... И желательно, чтобы меньше людей вокруг.
Но когда стоит вопрос о том добавлять ли свои (заметьте, свои) аттрибуты в код некоторые ответят катекорически "нет". Вот это слепое поклонение валидатору и следование тотальной "кошерности"
В этом вы глубоко заблуждаетесь. Многие серьёзные разработчики против использования собственных атрибутов вовсе не по причине невалидности и следования каким-либо трендам. Настоящие причины я уже затронул в соседней записи.
Кстати, вы по всей видимости дублируете валидационную логику, описывая ее как на клиентской, и на серверной стороне. Это очень плохая практика в программировании, не говоря уже о стандартах. При малейшем изменении логики вам придётся ее менять в лучшем случае в двух местах (HTML, серверный код) и в худшем аж в трёх (HTML, сервер и JS в случае сложной валидации).
Хорошая практика программирования подразумевает, что изменения требуются лишь в одном. А что, если ваш код придётся поддерживать другому человеку? Он же обматюкает вас так, как вы себе и представить не можете.
>По вашему аттрибут required вообще не описывает "структуру, семантику документа"?
Именно так. Это чисто серверная логика (в данном случае приукрашенная на стороне клиента с помощью JS). Она не имеет никакого отношения к семантике документа.
Хотите доказательство? Зайдите на страничку с отключённым JS. Или с мобильного устройства. Или даже скрин ридером. Какой смысл тогда будет иметь этот атрибут? Никакого. Это чисто вспомогательное средство для вашей JS-функциональности, она же в свою очередь поддерживает именно серверную логику (иначе приложение было бы инсекьюрным).
Спецификация Web Forms, видимо, берёт часть серверной логики на себя для упрощения разработки, но о ней сейчас речи не идёт. Мы говорим о (X)HTML. Так что неправы именно вы - признайте это.
Насчёт кастомных атрибутов - думаю, что в них нет совершенно никакой необходимости. HTML предназначен для описания структуры, семантики документа. А вот для того, что относится к его поведению, используется JavaScript.
Примешивание того, что касается сугубо JS-функциональности, к HTML-коду, в той же мере ошибочно, что и использование таблиц для разметки, spacer-картинок и font-тегов. Это нарушает разделение функций в front-end-технологиях, создаёт кашу и существенно вредит поддерживаемости и гибкости кода. Конечно, это классно работает как эдакий "quick hack", но не более.
Ну вообще-то nth-child - селектор, введенный только в CSS3, а w3c еще даже не закончила работу над спецификацией - что уж говорить про поддержку со стороны браузеров? Она далеко не полная и в FF2, и в Opera 9.2, и в Safari, и это совершенно нормально.
Да ничего подобного. Нужно всего лишь запомнить пару простейших правил. При достаточном опыте они выполняются на полном автомате, не задумываясь, так что никакого дополнительного времени на это не уходит.
В этом вы глубоко заблуждаетесь. Многие серьёзные разработчики против использования собственных атрибутов вовсе не по причине невалидности и следования каким-либо трендам. Настоящие причины я уже затронул в соседней записи.
Хорошая практика программирования подразумевает, что изменения требуются лишь в одном. А что, если ваш код придётся поддерживать другому человеку? Он же обматюкает вас так, как вы себе и представить не можете.
Именно так. Это чисто серверная логика (в данном случае приукрашенная на стороне клиента с помощью JS). Она не имеет никакого отношения к семантике документа.
Хотите доказательство? Зайдите на страничку с отключённым JS. Или с мобильного устройства. Или даже скрин ридером. Какой смысл тогда будет иметь этот атрибут? Никакого. Это чисто вспомогательное средство для вашей JS-функциональности, она же в свою очередь поддерживает именно серверную логику (иначе приложение было бы инсекьюрным).
Спецификация Web Forms, видимо, берёт часть серверной логики на себя для упрощения разработки, но о ней сейчас речи не идёт. Мы говорим о (X)HTML. Так что неправы именно вы - признайте это.
Насчёт кастомных атрибутов - думаю, что в них нет совершенно никакой необходимости. HTML предназначен для описания структуры, семантики документа. А вот для того, что относится к его поведению, используется JavaScript.
Примешивание того, что касается сугубо JS-функциональности, к HTML-коду, в той же мере ошибочно, что и использование таблиц для разметки, spacer-картинок и font-тегов. Это нарушает разделение функций в front-end-технологиях, создаёт кашу и существенно вредит поддерживаемости и гибкости кода. Конечно, это классно работает как эдакий "quick hack", но не более.