The bidi algorithm considers an empty inline container, such (e.g. <span></span>) as an "other neutral". Firefox and WinIE ignore it completely. The difference affects the ordering of the rest of the line. See the testcase and how it's rendered by TOT WebKit, Firefox 1.5 and WinIE. Obviously when the empty inline is left out of the reordering algorithm, Firefox and IE don't know where to put it (it should be visibly due to padding). You can see their original solutions to this problem. I think a good solution for WebKit is to stick empty inilne containers in the last bidi run preceding them (and think of something to do if they're first in their line).
Created attachment 4907 [details] testcase
Created attachment 4908 [details] WebKit rendering
Created attachment 4909 [details] Firefox rendering
Created attachment 4910 [details] WinIE rendering This is what is expected in terms of the ordering of Hebrew and Latin in each case.
I'm surprised mitz hasn't fixed this one yet. :) After all, he knows this code as well as anybody...
Created attachment 75128 [details] WinIE8 rendering This is the rendering in WinIE8. Now looks identical to WebKit rendering (which has not changed since 2005!) except for the "Nothing" case, which has nothing to do with this bug.
Created attachment 75129 [details] Firefox 3.6.12 rendering Now looks identical to WebKit rendering (which has not changed since 2005!), except for the "An image" case, where the difference seems to be due to Firefox's way of dealing with an img that has no src and hyas nothing to do with this bug.
As far as I can see, there is no bug here. The current versions of IE and Firefox do exactly the same thing as WebKit always did for empty spans.
Thanks for the update!