<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%;
}

Результат

Технічний підсумок

Категорії вмісту

Потоковий вміст. Якщо серед дочірніх елементів є хоча б один елемент <li>: Відчутний вміст.

Дозволений вміст

Нуль або більше входжень елементів <li>, <script> і <template>.

Пропуск тега Немає; і початковий, і кінцевий теги – обов'язкові.
Дозволені батьківські елементи Всі елементи, що приймають потоковий вміст.
Неявна роль ARIA list
Дозволені ролі ARIA directory, group, listbox, menu, menubar, none, presentation, radiogroup, tablist, toolbar і tree
Інтерфейс DOM HTMLMenuElement

Специфікації

Сумісність із браузерами

desktop mobile
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox for Android Opera Android Safari on iOS Samsung Internet
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
disabled
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
disabled
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
footnote
Opera Android No support Ні
Safari on iOS No support Ні
Samsung Internet No support Ні

Дивіться також

  • Інші елементи HTML, що стосуються списків: <ol>, <ul> і <li>.