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]>,
>>> *[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/CAARdPYfsVacWD7rFUZ14%2BY0Nuxi85zxsUPW3O33AtY7OsRi6MA%40mail.gmail.com.

Reply via email to