Contact emails
dan...@microsoft.com<mailto:dan...@microsoft.com>, 
sni...@microsoft.com<mailto:sni...@microsoft.com>, 
shih...@microsoft.com<mailto:shih...@microsoft.com>

Explainer
https://github.com/w3c/edit-context/blob/gh-pages/explainer.md

Specification
https://w3c.github.io/edit-context

Design docs
https://github.com/w3c/edit-context/blob/gh-pages/dev-design.md

Summary
The EditContext API simplifies the process of integrating a web app with 
advanced text input methods such as IME Compositions and speech recognition, 
and unlocks new capabilities for web-based editors.

Blink component
Blink>Editing<https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EEditing>

Search tags
editing<https://chromestatus.com/features#tags:editing>, 
contenteditable<https://chromestatus.com/features#tags:contenteditable>, 
input<https://chromestatus.com/features#tags:input>, 
rawinput<https://chromestatus.com/features#tags:rawinput>, 
ime<https://chromestatus.com/features#tags:ime>

TAG review
Completed (Resolution: satisifed) at 
https://github.com/w3ctag/design-reviews/issues/416

TAG review status
Issues addressed

Chromium Trial Name
EditContext

Link to origin trial feedback summary
https://github.com/w3c/edit-context/

Origin Trial documentation link
https://github.com/w3c/edit-context/blob/gh-pages/explainer.md

In the Origin Trial the Google Docs team used EditContext to receive IME input 
and position the IME window for Docs, replacing the current approach of 
manually positioning a hidden contenteditable element over the document when 
composing text. The new EditContext approach is more performant and supports a 
wider range of IME interactions.

We received similar feedback from Adobe, who are also using EditContext to 
replace a hidden text input element for triggering the IME.

Risks

Interoperability and Compatibility
There are no known interop or compat risks.


Gecko: Under consideration 
(https://github.com/mozilla/standards-positions/issues/199)

WebKit: No signal (https://github.com/WebKit/standards-positions/issues/243)

Web developers: Strongly positive Positive feedback from Word online, Adobe and 
Figma, Google Docs

Other signals:

Ergonomics
None.


Activation
Developers interested in this feature will typically have their own polyfill 
for text input using hidden textarea or contenteditable elements. Feature 
detecting and using new API to avoid side effects of previous approaches is 
intended to be easily adoptable.


Security
No particular security risks. See 
https://github.com/w3c/edit-context/blob/gh-pages/security-privacy.md.


WebView application risks
Does this intent deprecate or change behavior of existing APIs, such that it 
has potentially high risk for Android WebView-based applications?
None.


Debuggability
Existing DevTools features should be sufficient for debugging EditContext.


Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, 
Chrome OS, Android, and Android WebView)?
Yes. This is a core web platform feature that is not limited to any particular 
underlying platform.


Is this feature fully tested by 
web-platform-tests<https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>?
Yes.
Tests are available at 
https://wpt.fyi/results/editing/edit-context?label=experimental&label=master&aligned
 Note that some composition scenarios are not yet testable in WPT due to a 
dependency on content_shell-only test APIs. Work is underway to add 
functionality for mocking IME input in WPTs such that these tests can be moved 
to WPT.


Flag name on chrome://flags
edit-context

Finch feature name
EditContext

Requires code in //chrome?
False

Tracking bug
https://bugs.chromium.org/p/chromium/issues/detail?id=999184

Measurement
The UseCounter WebFeature::kEditContext tracks instantiation of EditContext.

Availability expectation
We expect other browser vendors to be interested in implementing this feature, 
though we cannot comment on specific timelines.

Adoption expectation
Feature will be used by Google Docs upon launch in Chrome.

Adoption plan
We are already working with the Docs team as a partner in the feature's Origin 
Trial, where they have implemented composition using EditContext.

Non-OSS dependencies
Does the feature depend on any code or APIs outside the Chromium open source 
repository and its open-source dependencies to function?
None.

Estimated milestones
Shipping on desktop
121
OriginTrial desktop last
120
OriginTrial desktop first
116

OriginTrial Android last
120
OriginTrial Android first
116

OriginTrial webView last
120
OriginTrial webView first
116


Anticipated spec changes
Open questions about a feature may be a source of future web compat or interop 
issues. Please list open issues (e.g. links to known github issues in the 
project for the feature specification) whose resolution may introduce web 
compat/interop risk (e.g., changing to naming or structure of the API in a 
non-backward-compatible way).
Open spec issues can be found here: https://github.com/w3c/edit-context/issues 
We expect these issues to be resolved in a forward-compatible way and/or to 
only affect rare corner-cases. Many of these discuss potential additions to the 
feature that will be considered based on ongoing developer feedback as 
EditContext is adopted more widely.

Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/5041440373604352

Links to previous Intent discussions
Intent to Implement: 
https://groups.google.com/u/1/a/chromium.org/g/blink-dev/c/OHqvPx9mFww/m/1za_qdEHDwAJ
Intent to Experiment: 
https://groups.google.com/u/1/a/chromium.org/g/blink-dev/c/QZQrESwcK3o/m/k3pfYBcRBAAJ

-- 
You received this message because you are subscribed to the Google Groups 
"blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to blink-dev+unsubscr...@chromium.org.
To view this discussion on the web visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/MW4PR00MB1654118011BA087BA5058967C5A1A%40MW4PR00MB1654.namprd00.prod.outlook.com.

Reply via email to