Від автора: В HTML5 представлені кілька секційних елементів, які можна застосовувати для розмітки веб-сторінок. Використання таких елементів передає сторінкам більше семантичного сенсу, дозволяючи комп’ютерним програмам краще розуміти ваш контент.
З цього поста ви дізнаєтеся, як застосовувати елементи секціонування у власних веб-сайтах. Я поясню, коли слід користуватися даними елементами, а коли іншими, а також коли краще всього дотримуватися старого доброго div.
Елемент main
Елемент main повинен містити основний контент вашої веб-сторінки. Йому слід бути єдиним у своєму роді для окремої сторінки, і він не повинен з’являтися на сайті десь ще. Будь-який контент, повторюваний на декількох сторінках (логотипи, поля пошуку, посилання нижнього колонтитула тощо), поміщати в елемент main не можна.
У наведеному нижче прикладі елемент main застосовується для подання основного вмісту сторінки.
…
Guitars
The greatest guitars ever built.
Gibson SG
…
Fender Telecaster
…
Зауважте: ми застосували тут атрибут ARIA role=”main” для вказівки на значимість цього елемента для програм, які поки не підтримують елемент main (таких як деякі screen reader-и).
На сторінці слід використовувати всього один елемент main, і його не можна розміщувати всередині елементів article, aside, header, footer або nav.
Елемент article
В елементі article повинен міститися фрагмент автономного вмісту, який можна розподіляти поза контекстом сторінки. Воно включає в себе нові статті, пости блогів або коментарі.
Blog Post Title
Posted 13th January 2014
…
Елементи article можна розміщувати один в іншому. У даному випадку мається на увазі, що вкладені елемент пов’язані з зовнішнім елементом article.
Blog Post Title
Posted 13th January 2014
…
…
…
Comments
Posted by: Joe Balochio
This was a great article
Posted by: Casey Brock
How do you think this applies to the plan for world domination?
У даному прикладі ми застосували елементи article для розмітки поста блогу і кожного з коментарів. Така модель передбачає вкладення, що коментарі пов’язані з темою основного посту блогу.
Елемент section
Елемент section використовується для представлення групи пов’язаного вмісту. Він аналогічний елементу article з тим лише відмінністю, що вмісту всередині елемента section не обов’язково мати сенс поза контексту сторінки.
Для визначення теми розділу радимо користуватися елементом заголовків h1 – h6).
Скористаємося даними постом блогу як приклад: можна взяти елементи section, що представляють всередині поста кожен розділ окремо.
How to use HTML5 Sectioning Elements
…
The Element
…
The Element
…
The Element
…
…
Тут ми застосували елемент article, щоб представити пост як одне ціле, а потім безліччю елементів section, щоб уявити кожен з обговорюваних в пості підрозділів. Якщо вам потрібно просто згрупувати вміст з метою призначення йому стилів, вам слід скористатися елементом div, а не section.
Елемент nav
Елемент nav застосовується для розмітки набору посилань на зовнішні сторінки або розділи всередині поточної сторінки. Застосовується для основної навігації веб-сайту, елемент nav також відмінно підходить для змісту або перегляду списку блогів.
- Chapter One
- Chapter Two
- Chapter Three
Розмітка посилань усередині списку помітно полегшує використання навігації, однак не є необхідною умовою використання елемента nav.
Елемент aside
Елемент aside застосовується для представлення вмісту, чітко пов’язаного з навколишнім його контентом, але яке можна вважати окремим. Це включає бічні колонки (такі, як можна бачити в книзі), групи елементів nav, цифрові дані і витягнуті цитати.
Google Buys Nest
Posted at 11:34am 13th January 2014
…
…
Google (GOOG)
Google була заснована в 1998 by Larry Page and Sergey Brin. The company…
У цьому прикладі для розмітки інформації про Google всередині новинний статті ми скористалися елементом aside. Користувач може вважати інформацію про компанії в aside корисною, але з новинами вона безпосередньо не пов’язана.
Елемент header
Елемент header застосовується для подання вступного вмісту до статті або веб-сторінки. Зазвичай він містить елемент заголовка, а також істотні для вмісту метадані, такі як дата поста або новинний статті, наприклад. В ньому також може міститися зміст (в елементі nav) більш довгого документа.
Елемент header буде пов’язаний з найближчим елементом секціонування, зазвичай це прямий батьківський елемент сторінкової структури.
Google buys Nest
Posted at 11:34am 13th January 2014
В даному прикладі елемент header містить назву та дату новинний статті.
Елемент footer
Елемент footer використовується для представлення інформації про розподіл: автор, копірайт або посилання на відповідні веб-сторінки.
Copyright Matt West 2014
Як і у випадку з header, елемент footer зв’язується з найближчим елементом секціонування.
Елемент address
Елемент address — один з найбільш оманливих елементів HTML. Він призначений не для розмітки поштової адреси, а для подання контактної інформації статті або веб-сторінки. Це може бути посилання на сайт автора або його електронну адресу.
Contact Matt West
Цей елемент часто використовується всередині footer для article.
Google buys Nest
Posted at 11:34am 13th January 2014
…
…
By Matt West
Copyright Matt West 2014
Останні роздуми про елементи секціонування
З цього поста ви дізналися, як користуватися елементами секціонування HTML5 при розмітки веб-сторінок. Їх застосування гарантує масу переваг. Одне з основних – передача певних областях сторінки більш семантичного значення, створення можливості для комп’ютерних програм ідентифікувати ключові елементи, такі як основний контент і сторінкова навігація. Ця інформація надзвичайно важлива для таких додатків, як screen reader-и.
Зверніть увагу: не всі скринридеры поки що можуть похвалитися підтримкою цих семантичних елементів. Для безпеки вам, можливо, доведеться продовжити користуватися ролями ARIA.
Ще застосування елементів секціонування дає наступне перевагу: воно змушує розробників краще обміркувати структуру своїх веб-сторінок. Вибір того, який елемент застосувати для чергового фрагмента вмісту, не завжди однозначний, але він піднімає важливе питання цілей цього вмісту, відведене йому взагалі місце на цій сторінці. Це приклад, де веб-стандарти допомагають поліпшити не тільки якість розмітки, але і якість веб-сторінок взагалі.
Мені цікаво дізнатися, що ви думаєте про елементи секціонування HTML5. Поділіться своїми враженнями в розділі коментарів під постом.