GraphiteEditor / GraphiteEditor/Graphite
[Blocked on browser support] Refactor floating menus to use HTML <dialog> and CSS popover with anchor()
- Dominant language
- Rust
- Stars
- 27.2k
- Forks
- 1.3k
- Avg merge
- 20h 5m
- Merged PRs (30d)
- 57
Description
Modal dialogs (such as Preferences, About Graphite, closing save confirmations, etc.) should be refactored to use a [``](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dialog) element.
Popover menus (such as menu lists and popovers) should be refactored to use the [Popover API](https://developer.mozilla.org/en-US/docs/Web/API/Popover_API/Using) paired with [CSS anchor positioning](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_anchor_positioning/Using) to replace the current CSS positioning hackery (which is fragile and isn't compatible with keeping up with scrolling its floating menu spawner within a pane with scrollbars). Care will need to be taken to ensure it works with [nested popovers](https://developer.mozilla.org/en-US/docs/Web/API/Popover_API/Using#nested_popovers).
This is **blocked** on CSS anchor positioning reaching all modern browsers ([caniuse](https://caniuse.com/css-anchor-positioning)). As of January 2026, Firefox and Safari have only just rolled out support and we should probably wait a few months until users update.

Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.