I realized that I'm not sure how to create a grid that works right for
RTL languages. My current question,
https://bugzilla.mozilla.org/show_bug.cgi?id=393820, is about a <grid>,
but this is true for other elements, too.
We have chromedir attributes in our codebase, we have dir attributes in
the xul spec. Plus numerous hacks in intl.css for our RTL localizations.
Thus, what's the "right" (TM) way to do it?
Axel
The "right" way is that intl.css should set direction: rtl; which should
automatically affect all elements. Since we don't flip images any image
elements have to have a chromedir attribute which the theme CSS can then
use to flip the image. The dir attribute corresponds to
-moz-box-direction which works differently (it doesn't inherit for
instance).
--
Warning: May contain traces of nuts.
Though the right way doesn't actual enter the equation for bug 393820 -
the problem there is a box with three children, two of which together
make up a uri-element, and thus should be ltr even in rtl. So the right
way, the trunk way, is a parent for those two that sets direction: ltr.
The wrong way, the branch way, the intl.css way, really ought to be
setting -moz-box-ordinal-group on them, but it seems to have no effect.
Phil Ringnalda
> The wrong way, the branch way, the intl.css way, really ought to be
> setting -moz-box-ordinal-group on them, but it seems to have no effect.
IIRC dir: rtl; takes affect after -moz-box-ordinal group (but don't
think of it as a group, the ordinals really should all be different), so
if your children are numbered 2, 3, 1 then they will be 1, 3, 2 under
dir: rtl.