If you want to create a rich text editing experiences on a web browser, it will turn out to be a tedious task supporting a diversity of browsers. Microsoft is working with W3C to on the future of web editing. They have been working with browsers and developers at the W3C to specify a Selection API, allowing developers to interact with the user’s selection consistently and predictably. Initial version of Selection API document recently reached First Public Working Draft and it will allow developers to have a simpler, more powerful and interoperable way to design the selection experience of their site.
As we’ve evolved this proposal, we helped ensure that it covered several currently used APIs so that it can be a reference for browsers and developers to use when building and using these APIs. In the latest preview builds of IE on Windows 10, several new APIs from the W3C spec are now available. These include containsNode(), extend(), setBaseAndExtent(), and collapse(). The definition for each of these methods can be found in the spec. We chose to add these APIs in IE because they are used across the web today, as well as being requested in feedback from developers on Connect. We’ve also received feedback requesting the modify() API and we are discussing how to specify it at the W3C. We hope to provide it in IE and Project Spartan in a future release.
Read more about it here.