GraphiteEditor / GraphiteEditor/Graphite

[Blocked on browser support] Refactor floating menus to use HTML <dialog> and CSS popover with anchor()

Aperta
#2,142 2 commenti 0 reazioni 1 assegnatario Rivendicata da @Keavon Vedi su GitHub
Web
Lingua principale
Rust
Stelle
27.2k
Fork
1.3k
Merge medio
20h 5m
PR unite (30g)
57

Descrizione

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.

![capture](https://github.com/user-attachments/assets/afdfb9e2-f6ac-4610-86d3-38f329d65e45)

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.