Домашня » Веб дизайн » Подивіться на правильну семантику HTML5

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

    Якщо ви ретельно плануєте структуру документів HTML, ви можете допомогти комп'ютерам зрозуміти зміст вашого вмісту. Правильний синтаксис є важливим напевно, але в основному він просто надає парсери, пошукові системи та допоміжні технології з безглуздим набором даних.

    Якщо ви вдосконалите робочий процес з переднім кінцем, звертаючи увагу на семантику, ви можете створити більш якісний вміст, який приваблює більше відвідувачів. Семантика вивчення сенсу, в більш широкому контексті галузь логіки та лінгвістики.

    У світі веб-розробки ми говоримо про семантичний контент, коли комп'ютери розуміють структуру документа, а також Ролі елементів всередині неї. Якщо ми хочемо створити правильну семантику, нам потрібно глибоко зрозуміти структуру нашого змісту і можливостей технологій інтерфейсу.

    Отже, які ж відчутні переваги? Правильна семантика означає a більше вмісту для пошуку що призводить до a кращий рейтинг пошукової системи. Ми також збільшуємо доступність, як допоміжні технології, такі як Читачі екрану можуть краще інтерпретувати зміст нашого вмісту.

    Існує багато різних методів розробки, які дозволяють розробникам досягти структури семантичної сторінки. Цей пост надасть вам короткий вступ до семантичних тегів HTML і концепту структури документа.

    Семантичні та несемантичні теги HTML

    Концепція семантики не така нова, як здається, вона існувала задовго до ери HTML5. Термін семантичної павутини був придуманий ще в 2001 році сером Тімом Бернерсом-Лі. Під “семантичний веб” він мав на увазі павутину даних, яку можна обробляти машинами.

    Це перш за все означає окремі елементи HTML повинні мати свої помітні структурні ролі. Відповідно до визначення W3C “Семантичний елемент чітко описує його значення як для браузера, так і для розробника”.

    Семантичні елементи перед HTML5

    Семантичні елементи існували і до HTML5, але в більшості випадків розробники цього не знали деякі теги, які вони використовували, були насправді семантичними. Подумайте про

    або теги.

    Їх ролі зрозумілі для нас і для агента користувача:

    просто містить форму, точно так само містить зображення. Ніхто ніколи не помістить столик або заголовок всередині і tag (або, принаймні, сподіваємося на це).

    The

    елемент, а також пов'язані з ним теги, такі як рядки таблиці, клітинки таблиці тощо, також є семантичними тегами, які існували до HTML5, однак через розкладку на основі таблиці, яка використовувалася протягом багатьох років, більшість розробників не використовували їх у семантичний шлях. Це призвело до створення мережі, яка принесла в жертву логічну структуру макета.

    Замовлено і невпорядковані списки, пункти, Теги заголовків h1-h6 всі семантичні елементи, що передували HTML5.

    Несемантичні елементи

    Несемантичні елементи не мають особливого значення, ієрархічні відносини між ними просто ілюзорні. Найбільш поширеними прикладами несемантичних HTML-тегів є

    і теги.

    Якщо ваш сайт коли-небудь спіймав жахливу хворобу дитіт, Ви знаєте, про що я говорю. Так. Divs не обов'язково неправильні, але дитіт потрібно боротися, якщо ми хочемо написати записуючий, модульний та змістовний HTML-код.

    Зображення: Блог Maclane Wilkinson's

    Smashing Magazine красиво пояснює, що реальна проблема полягає в надмірному і необгрунтованому використанні

    . Суть в тому, що якщо ми включають div всередині div, здається, ніби зовнішній div був би батьківським елементом внутрішнього, час насправді це не так.

    Немає ніякого зв'язку між ними, як у випадку з тег, який працює так само, на вбудованому рівні.

    Не панікуйте, якщо ви все ще відчуваєте прив'язаність

    -s і -хоча, як Ви не повинні повністю кидати їх. Вони все ще є кращим вибором для групування контенту виключно для цілей укладання та в інших випадках останньої інстанції.

    Текстова семантика в HTML5

    HTML5 представив багато нових семантичних елементів, які дозволяють легко організувати вміст. Вони не лише допомагають організувати вміст на рівні всього документа (детальніше див. У наступному розділі), але й у текстових блоках, як вбудовані теги.

    Ймовірно, найпопулярніші семантичні теги на рівні тексту і , але вони також існували до HTML5. Серед нових вбудованих семантичних елементів можна знайти, наприклад, , для тега час, що читається людиною, і для виділений текст.

    Дивіться цей список для всіх семантичних елементів текстового рівня, які зараз використовуються.

    Структура документа в HTML5

    Схема документа - це структура документа HTML. Він показує, як елементи пов'язані один з одним. Структуру документа було створено виключно елементами зіставлення, наприклад заголовками, заголовками таблиць, заголовками форм та іншими у попередніх версіях HTML, таких як HTML4.01 і XHTML.

    У HTML5 викладений алгоритм був розширений новими елементами секціонування, а саме:

    • для розділи, згруповані навколо певної теми
    • для повні або автономні композиції такі як блог або віджет
    • для навігаційні блоки
    • для додатковий вміст, такий як бічні панелі.

    У HTML5 є п'ятий елемент розділення, але він не є новим, це . The

    і
    теги також є новими, але вони не створюють нових розділів у документі, вони розділяють вміст у розділах. Це означає що кожен елемент секції (тіло, стаття, розділ, навігація та сторона) може мати свій власний колонтитул.

    Поради щодо семантично структурованого вмісту

    Якщо ми хочемо створити добре структурований план документів, ми повинні звернути увагу на такі правила:

    1. Самий зовнішній елемент секціонування завжди є тег.

    2. Розділи в HTML5 можуть бути вкладеними.

    3. Кожен розділ має свою ієрархію заголовків. Кожен з них (навіть найпотаємніший вкладений розділ) може мати h1 тег.

    4. Хоча контур документа в першу чергу визначається 5 елементами секціонування, він також потребує відповідних заголовків для кожного розділу.

    5. Це завжди перший елемент заголовка (нехай це буде h1 або тег заголовка нижнього рангу), який визначає заголовок даного розділу. Наступні теги заголовків в межах одного розділу повинні бути відносно цього. (Якщо перший заголовок є h3 всередині елемента секціонування, не кладіть h3 після цього.)

    6. Розділи, визначені

    , і теги не належать до основного плану HTML-документа, вони зазвичай не відображаються спочатку за допомогою допоміжних технологій.

    7. Кожна секція (тіло, розділ, стаття, осторонь, навігація) може мати свої власні

    і
    теги, що визначає заголовок (наприклад, логотип, ім'я автора, дати, метаінформацію тощо) і колонтитул (авторське право, примітки, посилання тощо) цього розділу.

    Приклад: семантичний план

    Давайте розглянемо приклад для накреслення семантичного документа, щоб побачити більш ясне, як він працює. Наш приклад коду призведе до наступної структури документа:

    А ось код з належним семантичним розділенням:

      

    Ласкаво просимо на наш сайт!

    Ось наш логотип і слоган.

    Назва статті

    Підзаголовок статті

    Перша логічна частина (наприклад, "Теорія")

    Пункт 1 першого розділу

    Деякі інші підзаголовки у першому розділі

    Пункт 2 першого розділу

    Друга логічна частина (наприклад, "Практика")

    Пункт 1 у другому розділі

    Пункт 2 у другому розділі

    Автор Біо

    Параграф у нижній частині статті

    • Авторське право
    • Посилання на соціальні медіа

    Якщо ви подивитеся на фрагмент коду вище, ви побачите, що колонтитули є необов'язковими, ми можемо вільно вибирати, чи хочемо ми їх використовувати чи ні, але це настійно рекомендується завжди включати заголовок для кожного розділу, інакше буде розділ “Без назви” у схемі документа.

    На щастя, є багато чудових інструментів по всьому Інтернету, які дозволяють нам перевіряти план документа, на цей раз ми будемо використовувати інструмент Outliner html5.org.

    Якщо вставити фрагмент коду у форму, надану програмою, і натисніть кнопку “Означте це!” ми побачимо наступний результат:

    Це Документ нашого зразка коду, таким чином пошукові системи бачать його, а читачі екрану читають її користувачам із вадами зору. Це семантичний, добре структурований, і немає ніякої поганої “Без назви” розділів.

    Якщо ви хочете подивитися, як секція «Без назви» виглядає в Outliner, просто видаліть деякі теги заголовків у коді прикладу.

    Інші аспекти веб-семантики

    Семантичні теги HTML і контури документів є лише невеликою частиною веб-семантики. Зміст веб-сторінки може бути ще більш значущим за допомогою протоколу доступності WAI-ARIA і структурованих даних, які можна використовувати разом з протоколом RDFa, мікроданними або розміткою JSON-LD.

    © Savtec
    Корисна інформація та поради по веб-розробці. Програмування, веб-дизайн, CSS, HTML, JAVASCRIPT. Налагодження та перевстановлення WINDOWS. Створення сайтів і додатків з нуля.