Intent to Prototype: Menu elements

391 views
Skip to first unread message

Chromestatus

unread,
Jun 10, 2025, 11:46:56 AMJun 10
to blin...@chromium.org, dizh...@chromium.org, d...@chromium.org, mas...@chromium.org

Contact emails

d...@chromium.org

Explainer

https://open-ui.org/components/menu.explainer
https://www.scottohara.me/blog/2021/10/21/menu.html

Specification

None

Summary

A menu is a way to group menu items together and provide users the ability to execute commands. The existing <menu> element represents a “toolbar” listing of commands, and despite its name, it is not programmatically exposed as a "menu" or "menubar" to accessibility tools, or the web platform. Furthermore, there is no native support to make listed commands look and behave cohesively. New menu elements make it easier for developers to follow ARIA practices on menu and menubar, while taking advantage of new web platform features that underpin menu systems. These elements include `<menubar>`, `<menulist>`, and `<menuitem>` elements. These elements expand on the baseline behaviors popover and anchor positioning provide, and come with expected keyboard navigation behavior out of the box, ensuring consistent experiences for users of all kinds, on the platform they are engaging with.



Blink component

Blink>DOM

Motivation

Menus are a ubiquitous design pattern seen across the web, but they notoriously lack accessibility and consistency. We propose a new set of menu elements that prioritize familiar keyboard navigation behavior and accessibility, and that are built on top of new web platform features to support the menu use case (e.g., popover, anchor positioning, etc).



Initial public proposal

https://open-ui.org/components/menu.explainer/

TAG review

None

TAG review status

Pending

Risks



Interoperability and Compatibility

None



Gecko: No signal

WebKit: No signal

Web developers: No signals

Other signals:

WebView application risks

Does this intent deprecate or change behavior of existing APIs, such that it has potentially high risk for Android WebView-based applications?

None



Debuggability

None



Is this feature fully tested by web-platform-tests?

No

Flag name on about://flags

None

Finch feature name

None

Non-finch justification

None

Requires code in //chrome?

False

Estimated milestones

No milestones specified



Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/5206029088063488?gate=5197848047779840

This intent message was generated by Chrome Platform Status.
Reply all
Reply to author
Forward
0 new messages