I18N-ISSUE-167: Example of Bidirectional Text [.prep-CSS3-writing-modes]

I18N-ISSUE-167: Example of Bidirectional  Text [.prep-CSS3-writing-modes]


Raised by: Richard Ishida
On product: .prep-CSS3-writing-modes

Example of Bidirectional  Text

I've been meaning to say for some years now that this is a very bad example. It should use dedicated bidi specific markup (see http://www.w3.org/International/questions/qa-bidi-css-markup#markup "You should therefore use dedicated bidi markup whenever it is available. Do not simply attach CSS styling to a general element to achieve the effect."). Here is an proposal for an alternative version of parts of the example, which assumes an overall base direction for the document of ltr. 

<HEBREW dir="rtl">
<ENGLISH dir="ltr">
  <PAR>english9 english10 english11 HEBREW12 HEBREW13</PAR>
  <PAR>english14 english15 english16</PAR>
  <PAR>english17 <HE-QUO dir="rtl">HEBREW18 english19 HEBREW20</HE-QUO></PAR>

/* Rules for bidi */
*[dir=rtl]  {direction: rtl; unicode-bidi: embed;}
*[dir=ltr]         {direction: ltr; unicode-bidi: embed;} 

These generic style rules should be what goes in the separate style sheet.

Also, we recommend not using bidi markup unless you need to change the base direction, so if this document had an overall base direction of ltr (either by default, or via <ROOT dir="ltr">), you wouldn't need to have the dir="ltr" after ENGLISH. It may be worth adding a note to that effect.

It's also confusing that the markup is in uppercase, since the uppercase is used to indicate Hebrew characters. Unless you are trying to make a point that the markup uses hebrew element names (which I don't think is necessary here), they should probably be in lowercase.

Received on Wednesday, 25 July 2012 19:00:24 UTC