W3C home > Mailing lists > Public > www-international@w3.org > October to December 2006

Embedded block elements should not reject the override

From: Richard Ishida <ishida@w3.org>
Date: Wed, 1 Nov 2006 16:57:18 -0000
To: <www-international@w3.org>, <www-style@w3.org>
Cc: "'Steven Pemberton'" <steven.pemberton@cwi.nl>
Message-ID: <00fc01c6fdd6$caf23f20$6501a8c0@w3cishida>

See http://www.w3.org/International/notes/notes-rlo-blocks-css.php


These notes relate to the handling of right-to-left and
left-to-right overrides in CSS and to some extent in HTML and xHTML.
They draw on information in the following mail threads:
  * [18]bidi-override scope in CSS2 and CSS 2.1

[18] http://www.w3.org/Search/Mail/Public/search?type-index=www-style&index-type=t&keywords=bidi-override+scope+in+CSS2+and+CSS+2.1&search=Search

Suppose we have the following code in an XML application such as
XHTML2, embedded in content with a base direction of ltr:
<div dir="rlo">Some inline text
and more inline text on another line
<p>A paragraph of text</p>
Some more <em>inline</em> text

and the following CSS style in the same document:
*[dir="lro"] { unicode-bidi: bidi-override; direction: ltr}
*[dir="rlo"] { unicode-bidi: bidi-override; direction: rtl}

Embedded block elements should not reject the override

With [19]CSS2.1 the result of the markup above would be (should be right-aligned):
enil rehtona no txet enilne erom dna txet enilni emoS
A paragraph of text
txet enilni erom emoS

[19] http://www.w3.org/TR/CSS21/visuren.html#propdef-unicode-bidi

My assumption as a user would be that if I apply the override CSS
properties to a block level element, all of the contents of that
block element would be ordered as indicated by the override setting,
not just the inline text (despite the fact that <bdo> was an inline
element in HTML.).

The CSS specification and current implementations in user agents
such as Firefox and IE should be changed to reflect such behaviour.

>From the email:

Martin Dürst: Given the spec text that Richard has copied in his
mail, what Bert says below seems to be correct, but I have tried to
make some sense of it, and can't. What's the reason for having
bidi-override apply to the direct inline descendents of an element
only? It doesn't seem to make sense from an user point of view, and
it doesn't seem to make sense from an implementer's point of view,
and I can't immagine that we designed it that way when we designed
it (which was 9 or 10 years ago.

Steven Pemberton: I agree that this would be my expectation. (I have
never understood why the override stops with nested blocks, and
assumed it was because someone like Richard Ishida had said it must
:-) )

Mati Alouche: I agree.

Richard Ishida
Internationalization Lead
W3C (World Wide Web Consortium)

Received on Wednesday, 1 November 2006 16:57:40 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 21 September 2016 22:37:27 UTC