One of the complexities of writing a web-based text editor is accounting for differences between browser selection APIs. This has been the topic of recent discussions in WordPress #core-editor, in the context of backward compatibility for project gutenberg. Looking at the comparison of what is supported by various browsers, it is clear that support for browsers prior to Edge is challenging from a
![A quick guide to browser selection models](https://cdn-ak-scissors.b.st-hatena.com/image/square/9ad124f4d917e74def4ccac5682f64b03bf4bedf/height=288;version=1;width=512/https%3A%2F%2Fimages.ctfassets.net%2Fs600jj41gsex%2F6zfHmjbMtiVMcClusKRcHB%2F086ad9a0a8049df10d1fc4dd8d887df8%2FiStock-609056396_A-quick-guide-to-browser-selection-models-1024x655.jpg%3Fw%3D768%26q%3D50%26fit%3Dscale)