WebKit / standards-positions

WebKit's positions on emerging web specifications
https://webkit.org/standards-positions/
240 stars 18 forks source link

Dialog light dismiss #329

Open lukewarlow opened 3 months ago

lukewarlow commented 3 months ago

WebKittens

No response

Title of the spec

Dialog light dismiss

URL to the spec

https://html.spec.whatwg.org/multipage

URL to the spec's repository

No response

Issue Tracker URL

No response

Explainer URL

No response

TAG Design Review URL

No response

Mozilla standards-positions issue URL

https://github.com/mozilla/standards-positions/issues/998

WebKit Bugzilla URL

No response

Radar URL

No response

Description

This is a request for a WebKit standards position on the idea of adding (optional) light dismiss functionality to Dialogs. See https://github.com/whatwg/html/issues/9373 for the discussion. The current proposal is a new attribute closedby (naming TBD) with three values allowing no close bahaviour, close watcher behaviour, or close watcher and light dismiss behaviour.

lukewarlow commented 3 months ago

Draft PR to give a rough idea of what this could look like https://github.com/whatwg/html/pull/10157

annevk commented 2 weeks ago

It's rather unclear what the actual state of this proposal is. I take it https://github.com/whatwg/html/issues/9373#issuecomment-1960371221 is the current proposal still? I don't understand how people are now comfortable with changing the default. How does that reconcile with https://github.com/whatwg/html/issues/9373#issuecomment-1577070305?

And if Esc somehow already closes dialogs or soon will be capable of closing all existing dialogs, why would we add a way to declaratively disable that again?

lukewarlow commented 2 weeks ago

To clarify the default will be the existing behaviour. No change will happen until you add the attribute with a specific value. In html terms the missing value state will be an "auto" state with no corresponding keyword.

https://github.com/whatwg/html/pull/10157 - here's a rought draft PR.

I will take a look at the stacking stuff not familiar enough to answer.

As for why to offer a way to disable it, well we need the mechanism to match existing behaviour for non-modal dialogs, and we may as well allow that for modal dialogs too? I believe Domenic may have mentioned that it's come up as a feature request too.