Summarized test results:
Direction & unicode-bidi

Intended audience: users, XHTML/HTML coders (using editors or scripting), script developers (PHP, JSP, etc.), CSS coders, Web project managers, and anyone who wants to know how CSS directionality properties work in browsers.

Updated

These tests check whether browsers support the CSS direction and unicode-bidi properties for HTML documents. These properties are used to control inline direction of text.

Note that CSS properties are not needed for documents served as HTML; the HTML markup should suffice. This is also the case for XHTML served as XML. They are needed, however, for other documents served as XML.

Note also that the snapshot summaries of these test results are for released versions of the browsers tested. Versions that are still in development may provide better support for these features. The tests themselves do not test any vendor prefixes.

results

To see the test, click on the link in the left-most column. To see detailed results for a single test, click on the link in the right-most column. To submit test data for a single test, click on the link in the right-most column and then follow the link on that page.

The tables show the latest results from the W3C Test Framework. Below the tables are summaries of the results at a given date. The table data may be more up-to-date than the summary. The tables may also contain some incorrectly scored tests, and tests that relate to non-released versions of browsers. These are not included in the summary.

Direction on inline elements

Assertion Gecko Presto Trident WebKit Detailed results
default context, direction rtl, unicode-bidi embed In the default context, if direction:rtl and unicode-bidi:embed are applied to an inline element containing mixed direction text, the text in that element will be displayed correctly.
default context, direction rtl, unicode-bidi none In the default context, if direction:rtl alone is applied to an inline element containing mixed direction text, the different directional runs in that element will not be in the correct order.
ltr context, direction rtl, unicode-bidi embed In a LTR context, if direction:rtl and unicode-bidi:embed are applied to an inline element containing mixed direction text, the text in that element will be displayed correctly.
ltr context, direction rtl, unicode-bidi none In a LTR context, if direction:rtl alone is applied to an inline element containing mixed direction text, the different directional runs in that element will not be in the correct order.
rtl context, direction ltr, unicode-bidi embed In a RTL context, if direction:ltr and unicode-bidi:embed are applied to a LTR inline element containing mixed direction text, the text in that element will be displayed correctly.
rtl context, direction ltr, unicode-bidi none In a RTL context, if direction:ltr alone is applied to a LTR inline element containing mixed direction text, the different directional runs in that element will not be in the correct order.
direction of a ltr tspan In a RTL context, if direction:ltr and unicode-bidi:embed are applied to an inline element containing mixed direction text, the the inline element will interact with surrounding ltr text as a LTR directional run.
direction of a rtl tspan In a LTR context, if direction:rtl and unicode-bidi:embed are applied to an inline element containing mixed direction text, the the inline element will interact with surrounding rtl text as a RTL directional run.

Snapshot summary, 2012-04-02

All user agents passed all tests.

Direction on block elements

Assertion Gecko Presto Trident WebKit Detailed results
on element, direction ltr, unicode-bidi none direction:ltr alone on a block element will cause the text to be left-aligned, directional runs to be arranged LTR (but the words should look correct within each run), and punctuation should be treated as LTR.
on element, direction rtl, unicode-bidi none direction:rtl alone on a block element will cause the text to be right-aligned, directional runs to be arranged RTL (but the words should look correct within each run), and punctuation should be treated as RTL.
inherited, direction ltr, unicode-bidi none direction:ltr on a container element will be inherited by an embedded block element.
inherited, direction rtl, unicode-bidi none direction:rtl on a container element will be inherited by an embedded block element.

Snapshot summary, 2011-04-02

All user agents passed all tests.

Overriding direction on inline elements

Assertion Gecko Presto Trident WebKit Detailed results
default context, direction none, unicode-bidi override In the default context, if unicode-bidi:bidi-override and no direction are applied to an inline element containing mixed direction text, the characters in that element will be displayed in backing-store order from left to right.
default context, direction ltr, unicode-bidi override In the default context, if direction:ltr and unicode-bidi:bidi-override are applied to an inline element containing mixed direction text, the characters in that element will be displayed in backing-store order from left to right.
default context, direction rtl, unicode-bidi override In the default context, if unicode-bidi:bidi-override and direction:rtl are applied to an inline element containing mixed direction text, the characters in that element will be displayed in reverse backing-store order from left to right.
ltr context, direction none, unicode-bidi override In a LTR context, if unicode-bidi:bidi-override and no direction are applied to an inline element containing mixed direction text, the characters in that element will be displayed in backing-store order from left to right.
ltr context, direction ltr, unicode-bidi override In a LTR context, if direction:ltr and unicode-bidi:bidi-override are applied to an inline element containing mixed direction text, the characters in that element will be displayed in backing-store order from left to right.
ltr context, direction rtl, unicode-bidi override In a LTR context, if unicode-bidi:bidi-override and direction:rtl are applied to an inline element containing mixed direction text, the characters in that element will be displayed in reverse backing-store order from left to right.
rtl context, direction none, unicode-bidi override In a RTL context, if unicode-bidi:bidi-override and no direction are applied to a LTR inline element containing mixed direction text, the characters in that element will be displayed in backing-store order from right to left.
rtl context, direction ltr, unicode-bidi override In a RTL context, if direction:ltr and unicode-bidi:bidi-override are applied to a LTR inline element containing mixed direction text, the characters in that element will be displayed in reverse backing-store order from right to left.
rtl context, direction rtl, unicode-bidi override In a RTL context, if unicode-bidi:bidi-override and direction:rtl are applied to a LTR inline element containing mixed direction text, the characters in that element will be displayed in backing-store order from right to left.

Snapshot summary, 2011-04-02

All user agents passed all tests.

Overriding direction on block elements

Assertion Gecko Presto Trident WebKit Detailed results
on element, direction ltr, unicode-bidi override direction:ltr and unicode-bidi:bidi-override on a block element will cause the text to be left-aligned, and all text to be displayed in backing-store order from left to right.
on element, direction rtl, unicode-bidi override direction:rtl and unicode-bidi:bidi-override on a block element will cause the text to be right-aligned, and all text to be displayed in backing-store order from right to left.
inherited, direction ltr, unicode-bidi override When direction:ltr and unicode-bidi:bidi-override is set on a block element, the override will not be inherited by a child block element, but the direction will.
inherited, direction rtl, unicode-bidi override When direction:rtl and unicode-bidi:bidi-override is set on a block element, the override will not be inherited by a child block element, but the direction will.

Snapshot summary, 2011-04-02

All user agents passed all tests.

Overriding direction on block elements with mixed content

Assertion Gecko Presto Trident WebKit Detailed results
right to left block When direction:ltr and unicode-bidi:bidi-override is set on a block element containing block and inline elements, only the direction of the inline text will be overridden.
left to right block When direction:rtl and unicode-bidi:bidi-override is set on a block element containing block and inline elements, only the direction of the inline text will be overridden.
inner block converted to inline When direction:rtl and unicode-bidi:bidi-override is set on a block element containing block and inline elements, and CSS is used to change the block element to an inline element, the direction of all the text will be overridden.

Snapshot summary, 2011-04-02

All user agents passed all tests, with one minor exception in Firefox.

The exception was that if an override was applied to a block element which was then converted to an inline element, Firefox no longer applied the override to that element's content.