Hi all, apologies for the delay. A few of the recent review
comments on #1404
<https://github.com/whatwg/dom/pull/1404>are on API shape
rather than purely editorial, so we won't be shipping in 149.
I'll follow up with the new release target once those are
resolved.
Since the original intent:
* Mozilla and WebKit: positive signals on standards-positions.
* Alex: no external OT feedback yet beyond the Microsoft
Editor SDK team, who plan to integrate ahead of ship.
* Rick: looking into the Edge-vs-Chrome WPT diffs; will
follow up.
* Philip: the open API-shape comments on #1404 are the
remaining blocker.
Thanks for the patience.
On Wednesday, May 6, 2026 at 8:11:19 AM UTC-7 Philip
Jägenstedt wrote:
What are the remaining blockers to land
https://github.com/whatwg/dom/pull/1404? All of the
checkboxes are checked, is it a matter of editorial
review now?
On Wed, May 6, 2026 at 3:54 PM Rick Byers
<[email protected]> wrote:
It would be nice to hear more about OT feedback, but
knowing that the Microsoft Editor SDK has validated
the design and plans to adopt it meets my bar for
developer feedback on a relatively small feature like
this. So LGTM1 from me.
It's nice to see the WPT suite
<https://wpt.fyi/results/dom/ranges/tentative?label=experimental&label=master&aligned>
very green. Is someone looking at why a few tests
appear to be passing in Edge but failing in Chrome?
Rick
On Mon, May 4, 2026 at 2:42 PM Alex Russell
<[email protected]> wrote:
Hey Stephanie (et al.),
Excited about this feature. Am I right in
assuming that nobody has been able to provide OT
feedback yet? If there has been feedback, can you
summarize it here?
Best,
Alex
On Wednesday, April 29, 2026 at 12:12:53 PM UTC-7
Stephanie Zhang wrote:
*Contact emails*
[email protected]_,
[email protected]_,
[email protected]_,
[email protected]_
*Explainer*
_https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/OpaqueRange/explainer.md_
<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftEdge%2FMSEdgeExplainers%2Fblob%2Fmain%2FOpaqueRange%2Fexplainer.md&data=05%7C02%7Cstephanie.zhang%40microsoft.com%7C81a0a04d7bb341a3e49408dea5563241%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C639129986872058065%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=qHzQqtSg2jDdVrEVcd3ms2PDr8nwb5KbNq7s8Z1%2Fpcc%3D&reserved=0>
*Specification*
_https://github.com/whatwg/dom/pull/1404_
<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fwhatwg%2Fdom%2Fpull%2F1404&data=05%7C02%7Cstephanie.zhang%40microsoft.com%7C81a0a04d7bb341a3e49408dea5563241%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C639129986872070768%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=KkvkSV5EI8Y%2Bo6vEs0kjkkP7xU6ydqCCH2yb5Zbpsy8%3D&reserved=0>
*Summary*
`OpaqueRange` represents a live span of text
within a form control’s value, such as a
`<textarea>` or text-based `<input>`, so
developers can work with value text using
range-like APIs. It enables operations such
as `getBoundingClientRect()`,
`getClientRects()`, and integration with the
CSS Custom Highlight API for UI such as
inline suggestions, highlights, and anchored
popovers. It preserves encapsulation by
exposing only value offsets while returning
`null` for `startContainer` and
`endContainer`, so DOM endpoints and internal
structure are not exposed.
*Blink component*
_Blink>DOM_
<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fissues.chromium.org%2Fissues%3Fq%3Dcustomfield1222907%3A%2522Blink%253EDOM%2522&data=05%7C02%7Cstephanie.zhang%40microsoft.com%7C81a0a04d7bb341a3e49408dea5563241%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C639129986872081509%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=HPwyv0vG7LVjeVQhvsiKMdcyxJaqervtEOH6YqMUYTg%3D&reserved=0>
*Web Feature ID*
Missing feature
_New feature ID for OpaqueRange · Issue #3863
· web-platform-dx/web-features_
<https://github.com/web-platform-dx/web-features/issues/3863>
*Motivation*
Currently, developers can’t get accurate text
geometry or apply the CSS Custom Highlight
API to text inside native `<textarea>` and
text-based `<input>` controls. As a result,
they often avoid native form controls and
build editable `<div>`-based workarounds to
anchor UI, such as autocomplete popovers, or
to highlight matches. These workarounds
require reimplementing native editing
behavior and can have accessibility gaps.
`OpaqueRange` enables range-based operations
on the control’s value text, so developers
can measure text geometry and build
text-anchored UI directly in native controls.
*Initial public proposal*
_https://github.com/whatwg/html/issues/10614_
<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fwhatwg%2Fhtml%2Fissues%2F10614&data=05%7C02%7Cstephanie.zhang%40microsoft.com%7C81a0a04d7bb341a3e49408dea5563241%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C639129986872101415%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=BKt7yavrtM8tgFneyHXhDqJCNVLuxh8wPpTh5eh%2FppQ%3D&reserved=0>
*TAG review*
_https://github.com/w3ctag/design-reviews/issues/1206_
<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fw3ctag%2Fdesign-reviews%2Fissues%2F1206&data=05%7C02%7Cstephanie.zhang%40microsoft.com%7C81a0a04d7bb341a3e49408dea5563241%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C639129986872111131%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=r2iH%2BQ9l72LwxV2s69aeHlP2E9m8iXutC25JNdF594c%3D&reserved=0>
*TAG review status*
Pending
*Origin Trial Name*
OpaqueRange
*Goals for experimentation*
Validate API design and gather developer
feedback on whether the API meets their needs.
*Chromium Trial Name*
OpaqueRange
*Origin Trial documentation link*
_https://www.youtube.com/watch?v=Sp9C68TZXiE_
<https://www.youtube.com/watch?v=Sp9C68TZXiE>
*WebFeature UseCounter name*
kOpaqueRange
*Risks*
*Interoperability and Compatibility*
`OpaqueRange` adds new methods, such as
`createValueRange()`, to `<textarea>` and
supported text-based `<input>` elements so
authors can create ranges over value text. It
does not change existing editing or selection
behavior, so the risk to existing sites is
low. The main interoperability risk is lack
of implementation across engines, which could
make text-anchored UI or highlights inside
native controls work in only some browsers.
/Gecko/: No
signal
(_https://github.com/mozilla/standards-positions/issues/1289_
<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmozilla%2Fstandards-positions%2Fissues%2F1289&data=05%7C02%7Cstephanie.zhang%40microsoft.com%7C81a0a04d7bb341a3e49408dea5563241%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C639129986872120773%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=QHBPgBumqgNIEJ%2B3RCSizi6y%2BYqCC6BOQZgacx0ZyEM%3D&reserved=0>)
/WebKit/: No
signal
(_https://github.com/WebKit/standards-positions/issues/541_
<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FWebKit%2Fstandards-positions%2Fissues%2F541&data=05%7C02%7Cstephanie.zhang%40microsoft.com%7C81a0a04d7bb341a3e49408dea5563241%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C639129986872130815%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=d4mAnntEEzmtFS294m9idCHVZOx5CuunvtSl%2FHaHYUE%3D&reserved=0>)
/Web developers/: Positive
_https://github.com/w3c/csswg-drafts/issues/4603_
<https://github.com/w3c/csswg-drafts/issues/4603>:
request for ranges inside
`<textarea>`/`<input>` to support
spellchecking/grammar highlights.
_https://github.com/w3c/csswg-drafts/issues/10346_
<https://github.com/w3c/csswg-drafts/issues/10346>:
request for selection/caret geometry in
`<textarea>`/`<input>` to anchor autocomplete
popovers and similar UI.
_https://github.com/MicrosoftEdge/MSEdgeExplainers/issues/1104_
<https://github.com/MicrosoftEdge/MSEdgeExplainers/issues/1104>:
developer feedback that `OpaqueRange`
(previously `FormControlRange`) would be
useful because existing overlay workarounds
are hard to keep in sync and can visibly lag.
/Other signals/:
*Ergonomics*
`OpaqueRange` is typically used with
selection offsets and with
geometry/highlighting APIs. The geometry
calls are synchronous and can trigger layout,
similar to existing `Range` geometry methods.
Since the range is live, offsets are updated
as the control’s value is edited.
*Activation*
Moderate. Developers need to learn the
value-offset model and how it differs from
`Range` (there are no DOM endpoints).
*Security*
No new data exposure beyond existing access
to form control values and selection. Exposes
only value offsets and geometry and does not
expose internal DOM
(`startContainer`/`endContainer` are `null`).
*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?/
Low. `OpaqueRange` adds a new method to
`<textarea>` and supported text-based
`<input>` elements, but does not change or
deprecate any existing behavior.
*Debuggability*
No DevTools changes required.
*Will this feature be supported on all six
Blink platforms (Windows, Mac, Linux,
ChromeOS, Android, and Android WebView)?*
Yes
Works on all platforms that support `<input>`
and `<textarea>` elements.
*Is this feature fully tested by
**_web-platform-tests_*
<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fchromium.googlesource.com%2Fchromium%2Fsrc%2F%2B%2Fmain%2Fdocs%2Ftesting%2Fweb_platform_tests.md&data=05%7C02%7Cstephanie.zhang%40microsoft.com%7C81a0a04d7bb341a3e49408dea5563241%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C639129986872169769%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=7gMJYElkxzN5Bs5Hnns%2BTpasHNu3e974vzsod5Nw%2FYM%3D&reserved=0>*?*
Yes
_https://wpt.fyi/results/dom/ranges/tentative?label=experimental&label=master&aligned_
<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwpt.fyi%2Fresults%2Fdom%2Franges%2Ftentative%3Flabel%3Dexperimental%26label%3Dmaster%26aligned&data=05%7C02%7Cstephanie.zhang%40microsoft.com%7C81a0a04d7bb341a3e49408dea5563241%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C639129986872179399%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=BoQHWaf8mMxkz6HDuaRR4L%2FEmba7AAaeNFmOj%2Bncggo%3D&reserved=0>
*Flag name on about://flags*
/No information provided/
*Finch feature name*
OpaqueRange
*Rollout plan*
Will ship enabled for all users
*Requires code in //chrome?*
False
*Tracking bug*
_https://issues.chromium.org/issues/421421332_
<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fissues.chromium.org%2Fissues%2F421421332&data=05%7C02%7Cstephanie.zhang%40microsoft.com%7C81a0a04d7bb341a3e49408dea5563241%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C639129986872189082%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=bJL4Ql41Aj%2Bg3mB2XJfgclU%2BgkK8mud%2BrkgFiS3ZwkY%3D&reserved=0>
*Measurement*
UseCounter `OpaqueRange` measures successful
creation of `OpaqueRange` objects on
`<textarea>` and text-based `<input>` elements.
*Availability expectation*
Feature is available only in Chromium
browsers for the foreseeable future.
`OpaqueRange` is at WHATWG Stage 2 with
informal approval of the current spec
direction from Mozilla and WebKit reviewers
and is moving toward Stage 3. We are
continuing to seek official standards
positions from Mozilla and WebKit.
*Adoption expectation*
Feature is expected to be used by specific
partner(s) within 12 months of launch in
Chrome. The Microsoft Editor SDK team has
confirmed plans to adopt the feature and
intends to land integration behind a switch
ahead of ship.
*Adoption plan*
Stay engaged with Microsoft Editor SDK on
rollout. Continue WHATWG work toward Stage 3;
seek formal Firefox/WebKit positions. Monitor
use counter and bug reports post-ship.
Developer outreach already underway on
Mastodon, Bluesky, YouTube, LinkedIn.
*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?/
No
*Estimated milestones*
Shipping on desktop 149
Origin trial desktop first 148
Origin trial desktop last 150
DevTrial on desktop 148
Shipping on Android 149
Origin trial Android first 148
Origin trial Android last 150
DevTrial on Android 148
Shipping on WebView 149
Origin trial WebView first 148
Origin trial WebView last 150
*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)./
No known non-backward-compatible spec changes
are expected. The spec PRs are under active
review, and any remaining feedback is
expected to be editorial or otherwise
backward-compatible.
*Link to entry on the Chrome Platform Status*
_https://chromestatus.com/feature/6297362687066112?gate=6322608320282624_
<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fchromestatus.com%2Ffeature%2F6297362687066112%3Fgate%3D6322608320282624&data=05%7C02%7Cstephanie.zhang%40microsoft.com%7C81a0a04d7bb341a3e49408dea5563241%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C639129986872199016%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=PS%2F6dCcXujSjM5wRJeg4PQItZOUtpR10DiUmSM0kkKU%3D&reserved=0>
*Links to previous Intent discussions*
Intent to Prototype:
_https://groups.google.com/a/chromium.org/d/msgid/blink-dev/LV9PR21MB5189A114B34C8A3685A3C4A4805CA%40LV9PR21MB5189.namprd21.prod.outlook.com_
<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgroups.google.com%2Fa%2Fchromium.org%2Fd%2Fmsgid%2Fblink-dev%2FLV9PR21MB5189A114B34C8A3685A3C4A4805CA%2540LV9PR21MB5189.namprd21.prod.outlook.com&data=05%7C02%7Cstephanie.zhang%40microsoft.com%7C81a0a04d7bb341a3e49408dea5563241%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C639129986872209532%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=0R0lijpaaqqU98Cy4%2BMUKZFvSS98%2BLEX%2BgxN%2F97mUhw%3D&reserved=0>
Intent to Experiment:
_https://groups.google.com/a/chromium.org/g/blink-dev/c/jrIXiBUbQm0_
<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgroups.google.com%2Fa%2Fchromium.org%2Fg%2Fblink-dev%2Fc%2FjrIXiBUbQm0&data=05%7C02%7Cstephanie.zhang%40microsoft.com%7C81a0a04d7bb341a3e49408dea5563241%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C639129986872219502%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=WIBn3BC8npIdGiIZMXRihFMpjRK1XX%2BCB1Kj8iiOr8g%3D&reserved=0>
This intent message was generated by _Chrome
Platform Status_
<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fchromestatus.com%2F&data=05%7C02%7Cstephanie.zhang%40microsoft.com%7C81a0a04d7bb341a3e49408dea5563241%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C639129986872230077%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=N%2BjycMAQH6qmt4FMWiMCB1Az2XDQURi0edef9DX6AMg%3D&reserved=0>.
--
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
[email protected].
To view this discussion visit
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/ae385e61-f3a0-4381-9a0e-2a891581c327n%40chromium.org
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/ae385e61-f3a0-4381-9a0e-2a891581c327n%40chromium.org?utm_medium=email&utm_source=footer>.
--
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
[email protected].
To view this discussion visit
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAFUtAY9ZwvD7mAdJwqQ33Xr4khFTjEo2O3TbeFocwjLJRNJ-_w%40mail.gmail.com
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAFUtAY9ZwvD7mAdJwqQ33Xr4khFTjEo2O3TbeFocwjLJRNJ-_w%40mail.gmail.com?utm_medium=email&utm_source=footer>.
--
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 [email protected].
To view this discussion visit
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/2cd4ddfe-cb82-4288-a309-d129f94227fan%40chromium.org
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/2cd4ddfe-cb82-4288-a309-d129f94227fan%40chromium.org?utm_medium=email&utm_source=footer>.