Подивіться на правильну семантику HTML5
Якщо ви ретельно плануєте структуру документів HTML, ви можете допомогти комп'ютерам зрозуміти зміст вашого вмісту. Правильний синтаксис є важливим напевно, але в основному він просто надає парсери, пошукові системи та допоміжні технології з безглуздим набором даних.
Якщо ви вдосконалите робочий процес з переднім кінцем, звертаючи увагу на семантику, ви можете створити більш якісний вміст, який приваблює більше відвідувачів. Семантика вивчення сенсу, в більш широкому контексті галузь логіки та лінгвістики.
У світі веб-розробки ми говоримо про семантичний контент, коли комп'ютери розуміють структуру документа, а також Ролі елементів всередині неї. Якщо ми хочемо створити правильну семантику, нам потрібно глибоко зрозуміти структуру нашого змісту і можливостей технологій інтерфейсу.
Отже, які ж відчутні переваги? Правильна семантика означає a більше вмісту для пошуку що призводить до a кращий рейтинг пошукової системи. Ми також збільшуємо доступність, як допоміжні технології, такі як Читачі екрану можуть краще інтерпретувати зміст нашого вмісту.
Існує багато різних методів розробки, які дозволяють розробникам досягти структури семантичної сторінки. Цей пост надасть вам короткий вступ до семантичних тегів HTML і концепту структури документа.
Семантичні та несемантичні теги HTML
Концепція семантики не така нова, як здається, вона існувала задовго до ери HTML5. Термін семантичної павутини був придуманий ще в 2001 році сером Тімом Бернерсом-Лі. Під “семантичний веб” він мав на увазі павутину даних, яку можна обробляти машинами.
Це перш за все означає окремі елементи HTML повинні мати свої помітні структурні ролі. Відповідно до визначення W3C “Семантичний елемент чітко описує його значення як для браузера, так і для розробника”.
Семантичні елементи перед HTML5
Семантичні елементи існували і до HTML5, але в більшості випадків розробники цього не знали деякі теги, які вони використовували, були насправді семантичними. Подумайте про або
теги.
Їх ролі зрозумілі для нас і для агента користувача: просто містить форму, точно так само
містить зображення. Ніхто ніколи не помістить столик або заголовок всередині і
tag (або, принаймні, сподіваємося на це).
The
елемент, а також пов'язані з ним теги, такі як рядки таблиці, клітинки таблиці тощо, також є семантичними тегами, які існували до HTML5, однак через розкладку на основі таблиці, яка використовувалася протягом багатьох років, більшість розробників не використовували їх у семантичний шлях. Це призвело до створення мережі, яка принесла в жертву логічну структуру макета.
Замовлено і невпорядковані списки, пункти, Теги заголовків h1-h6 всі семантичні елементи, що передували HTML5.
Несемантичні елементи
Несемантичні елементи не мають особливого значення, ієрархічні відносини між ними просто ілюзорні. Найбільш поширеними прикладами несемантичних HTML-тегів є і
теги.
Якщо ваш сайт коли-небудь спіймав жахливу хворобу дитіт, Ви знаєте, про що я говорю. Так. Divs не обов'язково неправильні, але дитіт потрібно боротися, якщо ми хочемо написати записуючий, модульний та змістовний HTML-код.
Smashing Magazine красиво пояснює, що реальна проблема полягає в надмірному і необгрунтованому використанні Немає ніякого зв'язку між ними, як у випадку з Не панікуйте, якщо ви все ще відчуваєте прив'язаність HTML5 представив багато нових семантичних елементів, які дозволяють легко організувати вміст. Вони не лише допомагають організувати вміст на рівні всього документа (детальніше див. У наступному розділі), але й у текстових блоках, як вбудовані теги. Ймовірно, найпопулярніші семантичні теги на рівні тексту Дивіться цей список для всіх семантичних елементів текстового рівня, які зараз використовуються. Схема документа - це структура документа HTML. Він показує, як елементи пов'язані один з одним. Структуру документа було створено виключно елементами зіставлення, наприклад заголовками, заголовками таблиць, заголовками форм та іншими у попередніх версіях HTML, таких як HTML4.01 і XHTML. У HTML5 викладений алгоритм був розширений новими елементами секціонування, а саме: У HTML5 є п'ятий елемент розділення, але він не є новим, це Якщо ми хочемо створити добре структурований план документів, ми повинні звернути увагу на такі правила: 1. Самий зовнішній елемент секціонування завжди є 2. Розділи в HTML5 можуть бути вкладеними. 3. Кожен розділ має свою ієрархію заголовків. Кожен з них (навіть найпотаємніший вкладений розділ) може мати 4. Хоча контур документа в першу чергу визначається 5 елементами секціонування, він також потребує відповідних заголовків для кожного розділу. 5. Це завжди перший елемент заголовка (нехай це буде h1 або тег заголовка нижнього рангу), який визначає заголовок даного розділу. Наступні теги заголовків в межах одного розділу повинні бути відносно цього. (Якщо перший заголовок є h3 всередині елемента секціонування, не кладіть h3 після цього.) 6. Розділи, визначені 7. Кожна секція (тіло, розділ, стаття, осторонь, навігація) може мати свої власні Давайте розглянемо приклад для накреслення семантичного документа, щоб побачити більш ясне, як він працює. Наш приклад коду призведе до наступної структури документа: А ось код з належним семантичним розділенням: Ось наш логотип і слоган. Пункт 1 першого розділу Пункт 2 першого розділу Пункт 1 у другому розділі Пункт 2 у другому розділі Якщо ви подивитеся на фрагмент коду вище, ви побачите, що колонтитули є необов'язковими, ми можемо вільно вибирати, чи хочемо ми їх використовувати чи ні, але це настійно рекомендується завжди включати заголовок для кожного розділу, інакше буде розділ “Без назви” у схемі документа. На щастя, є багато чудових інструментів по всьому Інтернету, які дозволяють нам перевіряти план документа, на цей раз ми будемо використовувати інструмент Outliner html5.org. Якщо вставити фрагмент коду у форму, надану програмою, і натисніть кнопку “Означте це!” ми побачимо наступний результат: Це Документ нашого зразка коду, таким чином пошукові системи бачать його, а читачі екрану читають її користувачам із вадами зору. Це семантичний, добре структурований, і немає ніякої поганої “Без назви” розділів. Якщо ви хочете подивитися, як секція «Без назви» виглядає в Outliner, просто видаліть деякі теги заголовків у коді прикладу. Семантичні теги HTML і контури документів є лише невеликою частиною веб-семантики. Зміст веб-сторінки може бути ще більш значущим за допомогою протоколу доступності WAI-ARIA і структурованих даних, які можна використовувати разом з протоколом RDFa, мікроданними або розміткою JSON-LD. тег, який працює так само, на вбудованому рівні.
-хоча, як Ви не повинні повністю кидати їх. Вони все ще є кращим вибором для групування контенту виключно для цілей укладання та в інших випадках останньої інстанції.
Текстова семантика в HTML5
і
, але вони також існували до HTML5. Серед нових вбудованих семантичних елементів можна знайти, наприклад,
,
для тега час, що читається людиною, і для виділений текст.
Структура документа в HTML5
для розділи, згруповані навколо певної теми
для повні або автономні композиції такі як блог або віджет
для навігаційні блоки
для додатковий вміст, такий як бічні панелі.
. The
і теги також є новими, але вони не створюють нових розділів у документі, вони розділяють вміст у розділах. Це означає що кожен елемент секції (тіло, стаття, розділ, навігація та сторона) може мати свій власний колонтитул.
Поради щодо семантично структурованого вмісту
тег.
h1
тег., і
теги не належать до основного плану HTML-документа, вони зазвичай не відображаються спочатку за допомогою допоміжних технологій.
і теги, що визначає заголовок (наприклад, логотип, ім'я автора, дати, метаінформацію тощо) і колонтитул (авторське право, примітки, посилання тощо) цього розділу.
Приклад: семантичний план
Ласкаво просимо на наш сайт!
Назва статті
Підзаголовок статті
Перша логічна частина (наприклад, "Теорія")
Деякі інші підзаголовки у першому розділі
Друга логічна частина (наприклад, "Практика")
Інші аспекти веб-семантики