Використовуйте тег menu для меню
Версія для друку
Я прийняла рішення використовувати тег menu для розмітки меню на всіх сайтах виконаних в нашій веб-майстерні фірмі. Це семантично, вже підтримується у всіх браузерах починаючи з IE6, і рекомендується з точки зору html5.
Розмітка меню в цьому блозі не виняток, якщо ви подивитеся код то побачите щось типу цього:
Варто зауважити, що теги menu. також як і iframe заборонені в специфікації HTML 4.01 Strict, однак я не збираюся відмовлятися від обох. Згідно зі специфікацією HTML 4.01. браузери відображають тег menu також як і ul. Однак, боячись валідатора, багато веб-майстри замість
використовують . що на кілька символів удлінняет розмітку і селектори css.Специфікація HTML5 повернула menu в ряди повноцінних тегів і наділила його додатковими властивостями.
можливі стану
Тег menu може мати необов'язковий атрибут type. у якого є три стани: list. toolbar, context.
List (за замовчуванням)
У стані list (список) тег menu поводиться як і список
- . в разі якщо в ньому присутні елементи списку
- . або як дів, якщо в ньому присутні inline елементи.
У цьому стані браузер повинен відобразити меню як лінійку інструментів.
Наприклад у нас є така верстка
вона могла б виглядати в браузері так:
Якщо ж браузер не підтримуватиме html5, то він просто відобразить це як 3 послідовних списку.
Даний тип означає що меню контекстне. тобто доступно наприклад при натисканні мишки. Таке меню може містити елемент command - який є нововведеного абстрактним елементом.
За задумом такий код повинен додати текстовому полю елементи в контекстне меню. З вказаною назвою і дією при виборі.
висновок
Я настійно раджу всім веб-майстрам і студіям відучуватися від згубної практики використання ненумерованих списків ul або, того гірше, таблиць для побудови меню. Для розмітки вони не несуть ніякого сенсу (семантики), тому я обираю цей тег.
Прокоментує статтю, хоча б пару слів!
Олена, чи можна дізнатися, коли WHATWG / W3C почали рекомендувати menu саме для навігації? До сих пір у всіх публікаціях, які траплялися мені, підкреслювалося, що для навігації призначений саме nav, а menu - для інших завдань:
Чи не може статися так, що пошукові системи будуть розцінювати інтерактивний контент (включаючи menu) як щось, що їх апріорі не стосується і що їм слід повністю ігнорувати (як мінімум, враховувати в останню чергу)? Тоді як nav однозначно показує "ось куди з цієї сторінки можна перейти" і явно буде цікавити пошукових систем перш за все.
У WHATWG / W3C не почали рекомендувати його для навігації, вони просто не забороняли це =). Інтерактивним елементом пошуковики можуть вважати меню з type = "toolbar" і ніяк інакше.
Для прикладу використання меню для посилань дивіться "4.11.3.1 Introduction". Насправді багато завдань в html можна вирішити різними тегами, це норма. Ніхто не заважає розмічати взагалі все посилання як навігацію.Дякую за роз'яснення позиції!
Ваші аргументи логічні. Бентежить лише те, що зараз, наскільки я розумію, основними призначеннями menu вважаються саме тулбари і контекстні, а