Skip to content

feat(ui5-dialog): open as a native modal <dialog> via showModal() - #14077

Open
LidiyaGeorgieva wants to merge 26 commits into
mainfrom
DilaogRefactorRendering
Open

LidiyaGeorgieva wants to merge 26 commits into
mainfrom
DilaogRefactorRendering

Conversation

@LidiyaGeorgieva

Copy link
Copy Markdown
Contributor

Migrate ui5-dialog to render its popup root as a native and open
it with showModal() instead of the Popover API. The browser now owns the
top-layer placement, focus trap, background inert, ::backdrop and Escape
handling, fixing several accessibility issues where the dialog was
obscured by the block layer or assistive tech could escape the modal and
reach the underlying page (#7938, #6902, #13906).

  • Render the popup root as and open/close via showModal()/close()
  • Route the native cancel (Escape) through the cancelable before-close event
  • Keep the dialog open when Escape dismisses a popup layered above it
  • Position, size and backdrop the native dialog root; host is display: contents
  • Detect open modal dialogs in the OpenUI5 top-layer interop
  • Align Cypress specs with :modal / native-dialog assertions
  • Add a test page for a dialog opened from a dynamic page

Fixes #7938
Fixes #6902
Fixes #13906

@github-actions

Copy link
Copy Markdown

👋 Heads-up: dev close is in effect

Thanks for the contribution! This repository is currently in dev close ahead of release 2.27 (scheduled 2026-09-23, UTC). See the release schedule for the full timeline.

This PR appears to introduce public-API changes (detected by diffing the Custom Elements Manifest against the latest published version on npm):

@ui5/webcomponents

  • 🔄 changed attribute state (type)

Could you please hold off on merging into main until the release ships? Public-API changes are best landed in the next dev cycle so they don't slip into the release at the last minute. Once the release is out, this PR is good to go.

If this change must ship in the current release, please request a review from one or two members of @UI5/ui5-team-webc so the team can sign off explicitly.

💬 False positive? If you believe this PR doesn't actually change the public API (e.g. only internal refactoring, or an entry the detector mis-attributed), please reply on this thread — your feedback helps us improve the detection during this trial run.

Posted automatically by the Dev Close Notice workflow.

@sap-ui5-webcomponents-release

Copy link
Copy Markdown

@LidiyaGeorgieva
LidiyaGeorgieva deployed to netlify-preview October 2, 2026 12:38 — with GitHub Actions Active
@LidiyaGeorgieva
LidiyaGeorgieva deployed to netlify-preview October 2, 2026 13:51 — with GitHub Actions Active
@LidiyaGeorgieva
LidiyaGeorgieva deployed to netlify-preview October 5, 2026 13:12 — with GitHub Actions Active

This branch was successfully deployed

1 active deployment
netlify-preview — a60f70aa Deployed Oct 5, 2026 by LidiyaGeorgieva via deploy-preview #3437
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant