[w3ctag/design-reviews] Incubation: FormControlRange - Live ranges for <input> and <textarea> (Issue #1142)

stephanieyzhang created an issue (w3ctag/design-reviews#1142)

### Explainer

https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/FormControlRange/explainer.md

### The explainer

- [x] Includes the information requested by the [Explainer Explainer](https://w3ctag.github.io/explainer-explainer/#introduction).
- [x] Follows the [Web Platform Design Principles](https://www.w3.org/TR/design-principles/).
- [x] Includes or links to answers to the [Security/Privacy Questionnaire](https://www.w3.org/TR/security-privacy-questionnaire/).
- [x] Describes user research you did to validate the problem and/or design.

### Where and by whom is the work is being done?

- GitHub repo:
- Primary contacts:
  - Stephanie Zhang (@[stephanieyzhang](https://github.com/stephanieyzhang)), Microsoft
  - Ana Sollano Kim (@[anaskim](https://github.com/anaskim)), Microsoft
  - Dan Clark (@dandclark), Microsoft
  - Leo Lee (@[leolee](https://github.com/leotlee)), Microsoft, team lead
  - Taylore Givens (@[tayloregivens](https://github.com/tayloregivens), Microsoft, PM

- Organization/project driving the design: Microsoft Edge

- This work is being funded by: Microsoft

- Incubation and standards groups that have discussed the design:
  - [WHATWG](https://github.com/whatwg/html/issues/11478)

- Standards group(s) that you expect to discuss and/or adopt this work when it's
  ready: WHATWG HTML


### Feedback so far

- Multi-stakeholder feedback:
  - Chromium comments: [Prototyping](https://chromestatus.com/feature/6297362687066112)
  - Mozilla comments: (https://github.com/mozilla/standards-positions/issues/1289)
  - WebKit comments: https://github.com/WebKit/standards-positions/issues/541
- Major unresolved issues with or opposition to this design: None


### You should also know that...

Currently, authors can’t perform range-based operations (e.g., getting bounding rects, setting custom highlights) inside native text controls (`<input>`, `<textarea>`). As a result, they often resort to workarounds such as replicating the control and its styles in a `contenteditable` container and reimplementing input behavior -- an approach that’s tedious and error-prone to keep in sync with native behavior.

`FormControlRange `is a specialized, live `AbstractRange` subclass scoped to `input`/`textarea` value space. It enables those operations directly in native controls while restricting standard Range mutations to preserve encapsulation. It integrates cleanly with existing selection/editing behavior and closes a long-standing gap for form controls.

<!-- Content below this is maintained by @w3c-tag-bot -->
---

Track conversations at https://tag-github-bot.w3.org/gh/w3ctag/design-reviews/1142


-- 
Reply to this email directly or view it on GitHub:
https://github.com/w3ctag/design-reviews/issues/1142
You are receiving this because you are subscribed to this thread.

Message ID: <w3ctag/design-reviews/issues/1142@github.com>

Received on Friday, 22 August 2025 15:09:46 UTC