Summarized test results:
HTML5, Bidirectional text rendering

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 whether browsers take bidi rendering into account as described in the HTML5 spec.

Updated

These tests check whether user agents correctly render elements per the CSS rules in the Bidirectional Text subsection of the Rendering chapter of the HTML5 spec.

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 Details column and look just above the table. The detailed results show the date(s) the test result was recorded, and the version of the browser tested.

Any dependencies are shown in notes above the table, and notes below the table will usually provide any additional useful information, including an explanation of why a result was marked as 'partially successful'.

Results

Note that 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 do not use any vendor prefixes. Tests that do show support for vendor prefixes are listed in the next section.

input and dir=auto

Basic tests

Test link Assertion Detail
input with dir=auto, start with L
bidi-rendering-input-020.html
When dir='auto', the direction of an input element of type text is set according to the first strong character of its value. In this test, the first strong character is the Latin letter A, thus the direction must be resolved as LTR.
input with dir=auto, start with R/AL
bidi-rendering-input-021.html
en dir='auto', the direction of an input element is set according to the first strong character of its value. In this test, it is the Hebrew or Arabic letter Alef, thus the direction must be resolved as RTL.
input with dir=auto, various types of input starting with L
bidi-rendering-input-022.html
When dir='auto', the direction of an input element of type search, telephone, url, or email is set as LTR when the first strong character of its value is of type L (here the Latin letter A).
input with dir=auto, various types of input starting with R
bidi-rendering-input-023.html
When dir='auto', the direction of an input element of type search, telephone, url, or email is set as RTL when the first strong character of its value is of type R (here the Hebrew letter aleph).
input with dir=auto, various types of input starting with AL
bidi-rendering-input-023a.html
When dir='auto', the direction of an input element of type search, telephone, url, or email is set as RTL when the first strong character of its value is of type AL (here the Arabic letter alef).

Other tests

Test link Assertion Detail
input with dir=auto, start with EN+L
bidi-rendering-input-030.html
When dir='auto', the direction of an input element is set according to the first strong character of its value. In this test, it is the Latin letter A since digits are not strongly directional, thus the direction must be resolved as LTR.
input with dir=auto, start with EN+R
bidi-rendering-input-031.html
When dir='auto', the direction of an input element is set according to the first strong character of its value. In this test, it is the Hebrew letter Alef since digits are not strongly directional, thus the direction must be resolved as RTL.
input with dir=auto, start with N+EN+L
bidi-rendering-input-032.html
When dir='auto', the direction of an input element is set according to the first strong character of its value. In this test, it is the Latin letter A since neutrals and digits are not strongly directional, thus the direction must be resolved as LTR.
input with dir=auto, start with N+EN+R
bidi-rendering-input-033.html
When dir='auto', the direction of an input element is set according to the first strong character of its value. In this test, it is the Hebrew letter Alef since neutrals and digits are not strongly directional, thus the direction must be resolved as RTL.
input with dir=auto, all N+EN
bidi-rendering-input-034.html
When dir='auto', the direction of an input element is set according to the first strong character of its value, or to LTR if there is no such character. In this test, there is no strongly directional character in the value, thus the direction must be resolved as LTR.
input with dir=auto, start with N+L
bidi-rendering-input-035.html
When dir='auto', the direction of an input element is set according to the first strong character of its value. In this test, it is the Latin letter A since neutrals are not strongly directional, thus the direction must be resolved as LTR.
input with dir=auto, start with N+R
bidi-rendering-input-036.html
When dir='auto', the direction of an input element is set according to the first strong character of its value. In this test, it is the Hebrew letter Alef since neutrals are not strongly directional, thus the direction must be resolved as RTL.

Scripted tests

Test link Assertion Detail
input with dir=auto, script assigns to start with EN+L
bidi-rendering-input-037.html
When dir='auto', the direction of an input element is set according to the first strong character of its value. In this test, it is the Latin letter A since digits are not strongly directional, thus the direction must be resolved as LTR.
input with dir=auto, script assigns to start with EN+R
bidi-rendering-input-038.html
When dir='auto', the direction of an input element is set according to the first strong character of its value. In this test, it is the Hebrew letter Alef since digits are not strongly directional, thus the direction must be resolved as RTL.
input with dir=auto, script assigns to start with L
bidi-rendering-input-039.html
When dir='auto', the direction of an input element is set according to the first strong character of its value. In this test, it is the Latin letter A, thus the direction must be resolved as LTR.
input with dir=auto, script assigns to start with N+EN+L
bidi-rendering-input-040.html
When dir='auto', the direction of an input element is set according to the first strong character of its value. In this test, it is the Latin letter A since neutrals and digits are not strongly directional, thus the direction must be resolved as LTR.
input with dir=auto, script assigns to start with N+EN+R
bidi-rendering-input-041.html
When dir='auto', the direction of an input element is set according to the first strong character of its value. In this test, it is the Hebrew letter Alef since neutrals and digits are not strongly directional, thus the direction must be resolved as RTL.
input with dir=auto, script assigns to all N+EN
bidi-rendering-input-042.html
When dir='auto', the direction of an input element is set according to the first strong character of its value, or to LTR if there is no such character. In this test, there is no strongly directional character in the value, thus the direction must be resolved as LTR.
input with dir=auto, script assigns to start with N+L
bidi-rendering-input-043.html
When dir='auto', the direction of an input element is set according to the first strong character of its value. In this test, it is the Latin letter A since neutrals are not strongly directional, thus the direction must be resolved as LTR.
input with dir=auto, script assigns to start with N+R
bidi-rendering-input-044.html
When dir='auto', the direction of an input element is set according to the first strong character of its value. In this test, it is the Hebrew letter Alef since neutrals are not strongly directional, thus the direction must be resolved as RTL.
input with dir=auto, script assigns to start with R
bidi-rendering-input-045.html
When dir='auto', the direction of an input element is set according to the first strong character of its value. In this test, it is the Hebrew letter Alef, thus the direction must be resolved as RTL.

pre and dir=auto

Test link Assertion Detail
dir=auto, pre, paragraph by paragraph
bidi-rendering-pre-110.html
When dir='auto', the direction is set according to the first strong character of the text. For pre elements, the heuristic is applied on a per-paragraph level.
pre with dir=auto, mixed L and R paragraphs
bidi-rendering-pre-111.html
When dir='auto', the direction is set according to the first strong character of the text. For textarea and pre elements, the heuristic is applied on a per-paragraph level.
pre with dir=auto, all N+EN
bidi-rendering-pre-112.html
When dir='auto', the direction is set according to the first strong character of the text. For textarea and pre elements, the heuristic is applied on a per-paragraph level. If there is no strong character, as in this test, the direction defaults to LTR.
pre with dir=auto, all-N between all-Rs
bidi-rendering-pre-114.html
When dir='auto', the direction is set according to the first strong character of the text. For textarea and pre elements, the heuristic is applied on a per-paragraph level. If there is no strong character, as in this test, the direction defaults to LTR.
newline in pre separates bidi paragraphs
bidi-rendering-pre-115.html
A newline in a pre element should separate paragraphs for the purposes of the Unicode bidirectional algorithm.

textarea and dir=auto

Test link Assertion Detail
dir=auto, textarea, paragraph by paragraph
bidi-rendering-textarea-100.html
[Exploratory] When dir='auto', the direction is set according to the first strong character of the text. For textarea elements, the heuristic is applied on a per-paragraph level. The alignment of the line will vary with the direction.
textarea with dir=auto, mixed L and R paragraphs
bidi-rendering-textarea-101.html
When dir='auto', the direction is set according to the first strong character of the text. For textarea and pre elements, the heuristic is applied on a per-paragraph level.
textarea with dir=auto, all N+EN
bidi-rendering-textarea-102.html
When dir='auto', the direction is set according to the first strong character of the text. For textarea and pre elements, the heuristic is applied on a per-paragraph level. If there is no strong character, as in this test, the direction defaults to LTR.
textarea with dir=auto, script assigns to mixed L and R paragraphs
bidi-rendering-textarea-103.html
When dir='auto', the direction is set according to the first strong character of the text. For textarea and pre elements, the heuristic is applied on a per-paragraph level.
textarea with dir=auto, script assigns to all N+EN
bidi-rendering-textarea-104.html
When dir='auto', the direction is set according to the first strong character of the text. For textarea and pre elements, the heuristic is applied on a per-paragraph level. If there is no strong character, as in this test, the direction defaults to LTR.
textarea with dir=auto, script assigns to all-N between all-Rs
bidi-rendering-textarea-106.html
When dir='auto', the direction is set according to the first strong character of the text. For textarea and pre elements, the heuristic is applied on a per-paragraph level. If there is no strong character, as in this test, the direction defaults to LTR.
newline in textarea separates bidi paragraphs
bidi-rendering-textarea-107.html
A newline in a textarea element, and in its raw value, should separate paragraphs for the purposes of the Unicode bidirectional algorithm.

br

Test link Assertion Detail
BR separates bidi paragraph
bidi-rendering-br-001.html
A br element should separate paragraphs for the purposes of the Unicode bidirectional algorithm.
BR in inline ancestors
bidi-rendering-br-002.html
A br element should separate paragraphs for the purposes of the Unicode bidirectional algorithm. If an inline element is broken around a bidi paragraph boundary (e.g. if split by a block or forced paragraph break), then the bidi control codes corresponding to the end of the element are added before the interruption and the codes corresponding to the start of the element are added after it. (In other words, any embedding levels or overrides started by the element are closed at the paragraph break and reopened on the other side of it.)