não há como criar uma seleção invertida (da direita para a esquerda) do JavaScript?

Estou tentando criar uma seleção que vai da direita para a esquerda no texto, mas parece que a API do intervalo do DOM não me permite fazer isso. (Não vejo nada sobre isso nas especificações - não que eu tenha lido de perto -, mas todas as implementações parecem concordar em não apoiá-lo.)

Por exemplo, dado um documento muito mínimo:

data:text/html,<div> this is a test </div>

Eu posso usar esse script para ativar a edição e criar uma seleção normal (por exemplo, de um bookmarklet, mas a quebra de linha foi adicionada para maior clareza):

javascript:document.designMode='on';
var r=document.createRange(),d=document.getElementsByTagName('div')[0]; 
r.setStart(d.firstChild, 3); 
r.setEnd(d.firstChild, 7); 
window.getSelection().addRange(r); void(0);

No entanto, se eu trocar 3 e 7, nenhuma seleção será criada.

Alguém conhece uma maneira de fazer isso?

questionAnswers(1)

yourAnswerToTheQuestion