<menu> – елемент меню
Елемент HTML <menu>
описаний у специфікації HTML як семантична альтернатива для <ul>
, але браузери обробляють його (а також видають у дереві доступності) так само, як <ul>
. Він представляє невпорядкований список елементів (які представлені елементами <li>
).
Спробуйте його в дії
Атрибути
Цей елемент приймає лише глобальні атрибути.
Примітки щодо використання
І <menu>
, і <ul>
обидва представляють невпорядкований список елементів. Основна відмінність полягає в тому, що <ul>
перш за все вміщає елементи для відображення, тоді як <menu>
призначений для інтерактивних елементів.
[!NOTE] У ранніх версіях специфікації HTML елемент
<menu>
мав додатковий варіант використання як контекстне меню. Ця функціональність вважається застарілою й у специфікації відсутня.
Приклади
Панель інструментів
У цьому прикладі <menu>
використовується для створення панелі інструментів для застосунку редагування.
HTML
<menu>
<li><button onclick="copy()">Копіювати</button></li>
<li><button onclick="cut()">Вирізати</button></li>
<li><button onclick="paste()">Вставити</button></li>
</menu>
Зверніть увагу, що функціонально це не відрізняється від:
<ul>
<li><button onclick="copy()">Копіювати</button></li>
<li><button onclick="cut()">Вирізати</button></li>
<li><button onclick="paste()">Вставити</button></li>
</ul>
CSS
menu,
ul {
display: flex;
list-style: none;
padding: 0;
width: 400px;
}
li {
flex-grow: 1;
}
button {
width: 100%;
}
Результат
Технічний підсумок
Категорії вмісту |
Потоковий вміст. Якщо серед дочірніх елементів є хоча б один
елемент |
---|---|
Дозволений вміст |
Нуль або більше входжень елементів |
Пропуск тега | Немає; і початковий, і кінцевий теги – обов'язкові. |
Дозволені батьківські елементи | Всі елементи, що приймають потоковий вміст. |
Неявна роль ARIA |
list
|
Дозволені ролі ARIA |
directory , group ,
listbox , menu , menubar ,
none , presentation ,
radiogroup , tablist ,
toolbar і tree
|
Інтерфейс DOM | HTMLMenuElement |
Специфікації
Специфікація |
---|
HTML Standard (HTML) # the-menu-element |
Сумісність із браузерами
desktop | mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
menu
|
Chrome Full support 1 | Edge Full support 12 | Firefox Full support 1 | Internet Explorer Full support 6 | Opera Full support 12.1 | Safari Full support 3 | WebView Android Full support 1 | Chrome Android Full support 18 | Firefox for Android Full support 4 | Opera Android Full support 12.1 | Safari on iOS Full support 1 | Samsung Internet Full support 1.0 |
<hr> creates a separator
|
Chrome No support Ні | Edge No support Ні | Firefox Full support 85 | Internet Explorer No support Ні | Opera No support Ні | Safari No support Ні | WebView Android No support Ні | Chrome Android No support Ні | Firefox for Android No support 51 – 85 | Opera Android No support Ні | Safari on iOS No support Ні | Samsung Internet No support Ні |
label
|
Chrome No support Ні | Edge No support Ні | Firefox Full support 85 | Internet Explorer No support Ні | Opera No support Ні | Safari No support Ні | WebView Android No support Ні | Chrome Android No support Ні | Firefox for Android No support 8 – 85 | Opera Android No support Ні | Safari on iOS No support Ні | Samsung Internet No support Ні |