This behaviour is specific to Chrome (at time of writing version 26.0.1410.64 m but I know it's been happening for a while).
Take the following HTML:
<div contenteditable="true">
<div contenteditable="false">
<div contenteditable="true"><div><span contenteditable="false">[Interruption]</span><span style="display: none;"></span></div></div>
</div>
In the resulting ContentEditable Div, put the caret after the 'Interruption' span. Then try to use backspace to delete it. You'll find this is impossible.
Here is a jsfiddle illustrating this.
Note that typing some text immediately after the 'Interruption' span fixes the issue, in that you can then left-arrow back to where the span finishes and backspace successfully as usual. But as soon as you remove this text, the issue recurs.
It is of particular concern to me because a Span of display: none
is an integral part of Rangy, the range and selection library I am using. I am finding that using Rangy will sometimes prevent Spans from being deleted and this seems to be the root cause.