Jump to content
  • 0

Должна ли верстка быть семантичной?


Absinthe
 Share

Question

Поспорил я со своим верстальщиком по поводу семантики.

Мое мнение - html должен содержать структурированную информацию и метаинформацию, но не должен содержать данных об отображении: для этого есть CSS.

Его мнение - помимо структурированной информации и метаинформации html может содержать блоки, которые нужны исключительно для визуализации (к примеру, пустой <div class="clear"></div> или другие подобные контейнеры, целью которых является лишь применение какого-то CSS-стиля)

Сразу скажу, что его подход доставляет мне неудобства при работе с шаблоном: я вижу больше информации, чем мне нужно (сложнее искать нужное). И могу что-то из этого сломать при редактировании.

Просьба людей с многолетним опытом верстки и соответствующими навыками прокомментировать, кто из нас прав.

Edited by Absinthe
Link to comment
Share on other sites

8 answers to this question

Recommended Posts

  • 0

в целом - оба.

но! в 99% случаем можно писать без <div class="clear"></div>

less пример из Bootstrap:


// Clearfix
// --------
// For clearing floats like a boss h5bp.com/q
.clearfix {
*zoom: 1;
&:before,
&:after {
display: table;
content: "";
// Fixes Opera/contenteditable bug:
// http://nicolasgallagher.com/micro-clearfix-hack/#comment-36952
line-height: 0;
}
&:after {
clear: both;
}
}

так же бывают ситуации когда тег действительно может в себе нести офрмление, описанное через CSS да и только, но ето редкость.

если изначально HTML код написан красиво, оформлен подобающе, все классы написанны человеко понятным языком, отсутствуют комментарии (да-да, при грамотно описанном HTMLкоде в паре с грамотными именами классов они вообще не требуются) то в таком случае ну очень мало вероятно что даже такие незначительные элементы разметки как .clearfix тебе будут мешать

Link to comment
Share on other sites

  • 0
Его мнение - помимо структурированной информации и метаинформации html может содержать блоки, которые нужны исключительно для визуализации (к примеру, пустой

или другие подобные контейнеры, целью которых является лишь применение какого-то CSS-стиля)

Да, может. Но зачем? Любые пустые теги, созданные для стилизации, могут быть заменены на псевдоэлементы. И это, с точки зрения семантики и оптимизации, куда более правильно.

Мое мнение - html должен содержать структурированную информацию и метаинформацию, но не должен содержать данных об отображении: для этого есть CSS.

В идеале, Да(ИМХО): теги не должны создаваться исключительно с целью оформления/стилизации. Но в первую очередь, нужно задумываться не о "красоте" и "правильности" кода, а о пользе этого кода для, например, пользователей, проекта или инвесторов. ИМХО.

Link to comment
Share on other sites

  • 0

Идея о семантичном вебе провалилась. Всем как было пофиг на семантику, так и осталось пофиг. Так что на вопрос: "Должна ли верстка быть семантичной?" я отвечаю, что не должна. Это так лирика.

А по сути вопроса вот что:

1) Далеко не всегда пустые элементы можно заменить псевдоэлементами. Так что пусты элементы могут быть оправданы.

2) Пустой <span class="clear"> абсолютно семантичен. Так что противоречий семантичной верстке тут нет.

Link to comment
Share on other sites

  • 0
1) Далеко не всегда пустые элементы можно заменить псевдоэлементами. Так что пусты элементы могут быть оправданы.

Естественно, если нету выбора, то оправданно многое)

2) Пустой <span class="clear"> абсолютно семантичен. Так что противоречий семантичной верстке тут нет.

Семантичен лишь тем, что не несет никакой семантической нагрузки. Но при этом он является лишним "грузом" в шаблоне и, как упоминал ТС, немного усложняет, лично ему(и думаю, большинству программистам), работу.

Link to comment
Share on other sites

  • 0

Просьба людей с многолетним опытом верстки и соответствующими навыками прокомментировать, кто из нас прав.

Прав тот, у кого все работает на большем количестве устройств. Следую правилам: "h1 один на страницу" и "чем проще, тем лучше" (т.е. минимум псевдоклассов и элементов).

Edited by Radiocity
Link to comment
Share on other sites

  • 0

Любого заказчика обычно интересуют всего три вещи:

1) Деньги / Доход / Продажи / Статус и другие показатели, собственно сама причина зачем делается сайт.

2) Функциональность и юзабилити.

3) Чтоб красивенько было / Чтоб было как у людей / Чтоб было как на сайте http://тратата / И т.д.

Семантика важна заказчику только в случаях если это важно и перекликается с одним из пунктов выше.

Если сам заказчик не упоминает слова семантика, то вам тем более должно быть все равно будет она там или нет. Конечно мы тоже должны думать о группе людей с ограниченными возможностями к примеру, но их процент настолько мал и конкретно для какого-то одного проекта он мал еще больше. И тут нужно понимать что в первую очередь вопрос нужна ли семантика в проекте нужно задавать заказчику. Заказчик обычно после озвученных дополнительных затрат говорит что семантика не важна.

ЗЫ Пустые теги по типу

<div class="clear"></div>

конечно подбешивают когда их много. Но с другой стороны все же нормально к примеру относятся к конструкциям типо таких:


<div class="box-wrapper">
<div class="box">
<div class="box-inner">
</div>
</div>
</div>

И довольно часто количество вложенных блоков может даже зашкаливать хотя и половина из них не несет никакой нагрузки и все можно было решить другими способами.

Edited by wwt
  • Like 2
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy