bidirectionality with white-space collapsing

The last line of says "This is best avoided by using the natural bidirectionality of characters instead of explicit embedding levels."

My view is the following (also expressed perhaps slightly too succinctly in the FAQ that gave rise to the section in the CSS spec):

1. As a general principle it is best to put white space on the outside of markup rather immediately inside (ie. "XXX <markup>YYY</markup> ZZZZ" is better than "XXX<markup> YYY </markup>ZZZZ" or "XXX <markup> YYY </markup> ZZZZ"); and such an approach would solve the problem here.

2. Also, *if* the required presentation would be achieved by the bidirectional algorithm alone, and without markup that creates a new embedding level, then it is better to omit the directional attribute from the markup or remove the markup altogether (depending on how the markup is used) (which I think was what the CSS spec was trying to say). Eg. a single word in arabic or hebrew in an English sentence usually requires no markup to achieve the correct visual ordering in an XHTML document. You may want to surround it by something like a span element to apply font styling, but you don't need the dir attribute.

Hope that helps,

Richard Ishida

contact info: 

Received on Wednesday, 10 March 2004 08:07:54 UTC