この動作は Chrome に固有のものです (執筆時点ではバージョン 26.0.1410.64 m ですが、しばらくの間発生していることはわかっています)。
次の HTML を見てください。
<div contenteditable="true">
<div contenteditable="false">
<div contenteditable="true"><div><span contenteditable="false">[Interruption]</span><span style="display: none;"></span></div></div>
</div>
結果の ContentEditable Div で、キャレットを「中断」スパンの後に置きます。次に、バックスペースを使用して削除してみてください。これは不可能であることがわかります。
これを説明するjsfiddleを次に示します。
「中断」スパンの直後にテキストを入力すると問題が修正されることに注意してください。左矢印キーでスパンが終了した場所に戻り、通常どおりバックスペースを正常に戻すことができます。しかし、このテキストを削除するとすぐに、問題が再発します。
Span of は、私が使用している範囲および選択ライブラリであるRangydisplay: none
の不可欠な部分であるため、私にとって特に懸念事項です。Rangy を使用すると Spans が削除されないことがありますが、これが根本的な原因のようです。