KEMBAR78
Close requests and close watchers · Issue #215 · WebKit/standards-positions · GitHub
Skip to content

Close requests and close watchers #215

@domenic

Description

@domenic

WebKittens

@annevk and @othermaciej have both previously reviewed this

Title of the spec

Close signals and close watchers

URL to the spec

https://html.spec.whatwg.org/multipage/interaction.html#close-requests-and-close-watchers

URL to the spec's repository

https://github.com/WICG/close-watcher

Issue Tracker URL

No response

Explainer URL

No response

TAG Design Review URL

w3ctag/design-reviews#594

Mozilla standards-positions issue URL

mozilla/standards-positions#604

WebKit Bugzilla URL

No response

Radar URL

No response

Description

In addition to the WICG repository with the explainer, see the HTML Standard pull request: whatwg/html#9462

The main new API introduced here is the CloseWatcher API. But this spec also includes changes to unify dialog, popover, and fullscreen handling into a single "close watcher" concept, which is triggered by a platform-independent concept of "close request".

For macOS and keyboard-attached iOS devices, the close request would be the Esc key. For other iOS devices, there might not be a close request. This was previously discussed in WICG/close-watcher#11 ; see also https://github.com/WICG/close-watcher/blob/main/platform-implementation-notes.md . In such cases, it would still be ideal for the API to exist and be implemented, and just never triggered via user action, so that developers can write platform-agnostic code (e.g. centralizing their close logic into the close event handler of a CloseWatcher object).

Because of how close request gestures can serve multiple purposes, e.g. the Android back button/gesture being used to navigate session history, the specification has some anti-abuse measures to prevent the close signal gesture from being indefinitely captured by web developers using dialogs, popovers, or CloseWatchers. These measures might not be necessary in the macOS/iOS-with-keyboard ecosystem, where the Esc key is the only relevant gesture and it does not serve another purpose. But we think they're still reasonable, and should be implemented uniformly across platforms for interoperability. This was previously discussed from one angle in WICG/close-watcher#10.

Metadata

Metadata

Assignees

No one assigned

    Labels

    from: GoogleProposed, edited, or co-edited by Google.position: neutraltopic: htmlSpec relates to HTML (Hypertext Markup Language)topic: web apisSpec relates to web APIs (entry points for script)venue: WHATWG HTML Workstreamvenue: WICGProposal is incubated in the Web Incubator Community Group

    Type

    No type

    Projects

    Status

    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions