6.3. Bi-directional Text Collection in XHTML2

There are a few problems with the explanation of the dir attribute in
http://www.w3.org/TR/xhtml2/mod-attribute-collections.html#col_Bi-directiona
l.

1) The second sentence of the first paragraph says:

"This direction overrides the inherent directionality of characters as
defined in [UNICODE],..."

This is wrong when dir="ltr" or dir="rtl", although true for the "lro" and
"rlo" values.


2) The CSS rules given as normative definitions for the values "ltr" and
"rtl" do not match the rules given in the CSS2 spec for the HTML dir
attribute (cf. http://localhost/w3c/TR/CSS2/sample.html#bidi) and appear to
be wrong.  Specifically, the unicode-bidi property should be "embed", not
"normal", as this is necessary for a dir attribute appearing on an inline
element to create a new embedding level.  In support, note that the CSS2
spec says "For the 'direction' property to have any effect on inline-level
elements, the 'unicode-bidi' property's value must be 'embed' or
'override'."  (cf.
http://localhost/w3c/TR/CSS2/visuren.html#propdef-unicode-bidi).  As
proposed, the rules for "ltr" and "rtl" would be inoperative on inline
elements and would deprive users of the necessary capability of properly
declaring bidi embeddings.


3) The section is silent on the somewhat tricky issue of inheritance.  HTML4
has a whole subsection on this (cf.
http://www.w3.org/TR/1999/REC-html401-19991224/struct/dirlang.html#h-8.2.2)
Excerpts:

"When the dir attribute is set for a block-level element, it remains in
effect for the duration of the element and any nested block-level elements."

"Inline elements, on the other hand, do not inherit the dir attribute."

Section 8.2.6
(http://www.w3.org/TR/1999/REC-html401-19991224/struct/dirlang.html#h-8.2.6)
is probably also relevant.

Inheritance also needs to be specified for the new "lro" and "rlo" values.

-- 
François Yergeau

Received on Wednesday, 19 February 2003 15:44:52 UTC