menu

Роль меню в виде выпадающего списка с интерактивными элементами как в программе или приложении.

Время чтения: меньше 5 мин

Это незавершённая статья. Вы можете помочь её закончить! Почитайте о том, как контрибьютить в Доку.

Кратко

Скопировано

Самостоятельная роль виджета из WAI-ARIA для «настоящего» меню со списком кнопок, чекбоксов, радиокнопок и других интерактивных элементов, которые что-то изменяют в интерфейсе. Такое меню обычно открывается по желанию пользователя, а пункты в нём расположены вертикально — друг под другом.

В HTML нет тега с этой ролью.

Как пишется

Скопировано

Задайте role="menu" любому тегу, лучше <div>, <span> или <ul>.

Вложите внутрь контейнера с menu как минимум один пункт списка с menuitem, menuitemcheckbox или menuitemradio.

Не забудьте о навигации с клавиатуры по пунктам меню и поработайте над порядком фокуса. С этим помогут JavaScript и атрибут tabindex.

У роли menu есть встроенное свойство aria-orientation="vertical".

Для меню можно использовать все глобальные ARIA-атрибуты, ещё один атрибут виджета aria-disabled и атрибут связи aria-activedescendant.

Как понять

Скопировано

Меню на сайтах состоит из ссылок. Для него используйте <ul>, вложенный в <nav>.

В классическом, «настоящем» меню, как в редакторе текста, размещают кнопки или другие элементы, которые что-то изменяют в интерфейсе. Как раз для такого меню пригодится роль menu.