С оглед на събитията от последния месец и количеството сайтове, които мина през ръцете ми, като изпитващ в Академията на Телерик, установих, че голяма част от хората имат проблем със семантичното структуриране на страниците си. Това ме провокира да споделя част от ресурсите, които използвам. Ето няколко snippet-a, които можете да използвате (надявам се, нещата да ви станат по – ясни след като ги прегледате).
HTML5 Structure snippet
<meta charset="UTF-8" /> <header> <nav> <ul> <li>New menu</li> </ul> </nav> </header> <section> <article> <header> <h2>Article header</h2> Posted on <time datetime="20012-09-12T16:31:24+02:00">September 12th 2012</time> by <a href="#">Pavel Kolev</a> - <a href="#comments">16 comments</a> </header>Some Paragraph </article> </section> <aside> <h2>About section</h2> Some Paragraph </aside> <footer> Copyright 2012 New name </footer>
HTML5 Article Structure
<article class="entry"> <header> <h1 class="entry-title">My Article</h1> <time class="updated" datetime="2012-09-12 11:11:03-0400">09-12-2012</time> <p class="inline author card">By <span class="fn">Pavel Kolev</span></p> </header> <div class="entry-content"> ...article text... ...article text... <figure> <img alt="" /> <figcaption>Figure Caption</figcaption> </figure> ...article text... ...article text... <aside> <h2>Share this Article</h2> <ul> <li>Facebook</li> <li>Twitter</li> <li>Etc</li> </ul> </aside> <div class="entry-content-asset"> <a href="photo-full.png"> <img alt="" /> </a> </div> ...article text... ...article text... <a class="entry-unrelated">Find Great Vacations</a> </div> <footer>A version of this article appeared in print on September 12, 2012, on page ... <div class="source-org card copyright">Copyright 2012 <span class="org fn">Pavel Kolev</span></div> </footer> </article>
Полезно!
Имам въпрос в единия случай си поставил заглавието на с a в другия , въпросът ми е правилно ли е при наличие на име/лого на сайта да го поставяме в и заглавията на статиите/новините също да е с или те трябва вече да са с ?
Малко анти – хак-а ми ти направи въпроса нечетим… ако може пак да го зададеш с таговете написани по друг начин
Имам въпрос в единия случай си поставил заглавието на article с h2 a в другия h1, въпросът ми е правилно ли е при наличие на име/лого на сайта да го поставяме в h1и заглавията на статиите/новините също да е с h1 или те трябва вече да са с h2?
Благодарности за подборката!
Същевременно бих подходил иначе за употребата на и . не е всеобемен таг, заместваш wrapper-и и div-ове за стайлинг. Тъкмо обратното. съдържа -и.
Също така, бих включил в HTML5 Structure snippet-а в и на самия , така както правилно е направено в HTML5 Article Structure.
По принцип, внимание трябва да се обръща и на тага: например, логото не е и могат да бъдат не само images, но и video, audio, table, etc.
Полезен източник за мен е уебсайтът http://html5doctor.com/
Благодарности за подборката!
Същевременно бих подходил иначе за употребата на таговете section и article . section не е всеобемен таг, заместващ wrapper-и и div-ове за стайлинг. Тъкмо обратното. article съдържа section-и.
Също така, бих включил в HTML5 Structure snippet-а footer и в самия artcle, така както правилно е направено в HTML5 Article Structure.
По принцип, внимание трябва да се обръща и на fig тага: например, логото не е fig tag и fig могат да бъдат не само images, но и video, audio, table, etc.
Полезен източник за мен е уебсайтът http://html5doctor.com/
Само с това за section-а не съм съгласен. Артикъла ти може да съдържа section-и в това няма проблем но самия wrapper за артикълите ти семантично е правилно да е section(пак зависи разбира се от това колко точно артикъл-а ще пъхаш вътре)
Вярно е, зависи от конкретния случай…
Струва ми се, че ще е правилно, ако в HTML5 Structure snippet-а ред 16 бъде div с id (id=section дори) – така няма да се наруши семантичната структура…
От друга страна, в HTML5 Article Structure div-овете с клас entry-content… могат да бъдат сменени със section.
Разбира се, предложените HTML5 Structure snippet и HTML5 Article Structure повод за размисъл…
Благодаря за статията!
За съжаление все още виждам много противоречиви публикации на тема HTML5 семантика, като вярвам, че с времето тези противоречия ще се изчистят.
Например съм чел, че е добре section елемента да има нестнато заглавие. А проверка може да се прави например в HTML 5 Outliner: http://gsnedders.html5.org/outliner/
Относно елемента time, който аз също често използвам, в последната си документация от 29-ти март, 2012г. w3c премахна употребата на атрибута pubdate. Тук има подробности по темата: http://www.w3.org/wiki/User:Tantekelik/drop_pubdate
Поздрави и нека повече статии за семантика да има :).
[…] Може да съдържа собствена структура – <header><footer> и т.н. За по – подробно описание на структурата прочети тук […]
[…] pavelkolev.com » HTML речник on HTML5 Snippets […]
[…] Писане на семантичен HTML – това е похват, който указва на търсещата машина какво представлява всеки сегмент от страницата. Да приемем, че уебсайта ви съдържа хедър (горна част със заглавие и меню), главен контейнер на съдържание под него и футър с информация и линкове в долната част. Обикновено тези елементи се изграждат като отделни логически полета (чрез <div></div> таг). Тук възниква проблем, защото търсещите машини не категоризират по еднакъв начин съдържанието на тези полета. Ето защо в HTML 5 съществуват така наречените семантични тагове. По-конкретно те са: <header>, <footer>, <nav>, <section>, <article>, <aside>, <figure>, <figcaption>, <audio>, <video>, <details>, <summary>, <hgroup> и <time>. Тези тагове представляват вид метаданни , чрез които, от една страна, разделяме логически страницата си по разбираем за самите нас начин, а от друга страна – указваме на Google колко важно за нас е съдържанието във всяка отделна секция. Минавайки през кода, алгоритъмът лесно отчита, че в <header> частта се намира главното заглавие на нашата страница, а в <article> е съсредоточено самото съдържание на сайта ни. Конкретни примери за структуриране на HTML документ със семантични тагове можете да разгледате тук: http://pavelkolev.com/html5-snippets/. […]
Здравейте,
този клас div class=”entry-content” не трябва ли да се замени грешно ли е да се заменят с section, a sъщо My Article, не може ли да бъде записан без класа а просто в css h1 да наследи класа entry на артикъла
за първия ти втъпрос – може да се замени със section – зависи от ситуацията… за втория класа само ти помага след това да можеш да селектираш този елемент, в случая също не е задължителен