CSS Writing Modes Module Level 3 CR Test Suite

Inline Direction and Bidirectionality (210 tests)

Test Refs Flags Info
+ 2 Inline Direction and Bidirectionality
bidi-embed-001 = direction/unicode-bidi: span direction rtl, unicode-bidi embed (1)
  • 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 in rtl order.
bidi-embed-002 = direction/unicode-bidi: span direction rtl, unicode-bidi embed (2)
  • 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 in rtl order.
bidi-embed-003 = direction/unicode-bidi: span direction ltr, unicode-bidi embed (1)
  • In a rtl context, if direction:ltr and unicode-bidi:embed are applied to an inline element containing mixed direction text, the text in that element will be displayed in ltr order.
bidi-embed-004 = direction/unicode-bidi: span direction ltr, unicode-bidi embed (2)
  • In a rtl context, if direction:ltr and unicode-bidi:embed are applied to an inline element containing mixed direction text, the text in that element will be displayed in ltr order.
bidi-embed-005 = direction/unicode-bidi: element as directional character with unicode-bidi embed, rtl
  • If unicode-bidi:embed is applied to an inline element, that element will interact with the surrounding text like a strongly directional character.
bidi-embed-006 = direction/unicode-bidi: element as directional character with unicode-bidi embed, ltr
  • If unicode-bidi:embed is applied to an inline element, that element will interact with the surrounding text like a strongly directional character.
bidi-embed-007 = direction/unicode-bidi: element isolation and unicode-bidi embed, rtl + number
  • If unicode-bidi:embed is applied to an inline element, the text in that element will NOT be directionally isolated from surrounding text.
bidi-embed-008 = direction/unicode-bidi: element isolation and unicode-bidi embed, ltr + number
  • If unicode-bidi:embed is applied to an inline element, the text in that element will NOT be directionally isolated from surrounding text.
bidi-embed-009 = direction/unicode-bidi: element isolation and unicode-bidi embed, rtl list
  • If unicode-bidi:embed is applied to an inline element, the text in that element will NOT be directionally isolated from following content.
bidi-embed-010 = direction/unicode-bidi: element isolation and unicode-bidi embed, ltr list
  • If unicode-bidi:embed is applied to an inline element, the text in that element will NOT be directionally isolated from following content.
bidi-embed-011 = direction/unicode-bidi: direction alone and inherited, unicode-bidi embed
  • Directionality is not changed by the direction property on its own, but unicode-bidi: embed will apply direction declared on a higher level element.
bidi-isolate-001 = direction/unicode-bidi: span direction rtl, unicode-bidi isolate (1)
  • In a ltr context, if direction:rtl and unicode-bidi:isolate are applied to an inline element containing mixed direction text, the text in that element will be displayed in rtl order.
bidi-isolate-002 = direction/unicode-bidi: span direction rtl, unicode-bidi isolate (2)
  • In a ltr context, if direction:rtl and unicode-bidi:isolate are applied to an inline element containing mixed direction text, the text in that element will be displayed in rtl order.
bidi-isolate-003 = direction/unicode-bidi: span direction ltr, unicode-bidi isolate (1)
  • In a rtl context, if direction:ltr and unicode-bidi:isolate are applied to an inline element containing mixed direction text, the text in that element will be displayed in ltr order.
bidi-isolate-004 = direction/unicode-bidi: span direction ltr, unicode-bidi isolate (2)
  • In a rtl context, if direction:ltr and unicode-bidi:isolate are applied to an inline element containing mixed direction text, the text in that element will be displayed in ltr order.
bidi-isolate-005 = direction/unicode-bidi: element as directional character with unicode-bidi isolate, rtl
  • If unicode-bidi:isolate is applied to an inline element, that element will interact with the surrounding text like a neutral directional character.
bidi-isolate-006 = direction/unicode-bidi: element as directional character with unicode-bidi isolate, ltr
  • If unicode-bidi:isolate is applied to an inline element, that element will interact with the surrounding text like a neutral directional character.
bidi-isolate-007 = direction/unicode-bidi: element isolation and unicode-bidi isolate, rtl + number
  • If unicode-bidi:isolate is applied to an inline element, the text in that element WILL be directionally isolated from surrounding text.
bidi-isolate-008 = direction/unicode-bidi: element isolation and unicode-bidi isolate, ltr + number
  • If unicode-bidi:isolate is applied to an inline element, the text in that element WILL be directionally isolated from surrounding text.
bidi-isolate-009 = direction/unicode-bidi: element isolation and unicode-bidi isolate, rtl list
  • If unicode-bidi:isolate is applied to an inline element, the text in that element WILL be directionally isolated from following content.
bidi-isolate-010 = direction/unicode-bidi: element isolation and unicode-bidi isolate, ltr list
  • If unicode-bidi:isolate is applied to an inline element, the text in that element will NOT be directionally isolated from following content.
bidi-isolate-011 = direction/unicode-bidi: direction alone and inherited, unicode-bidi embed
  • Directionality is not changed by the direction property on its own, but unicode-bidi: isolate will apply direction declared on a higher level element.
bidi-isolate-override-001 = direction/unicode-bidi: span direction rtl, isolate-override (1)
  • In a ltr context, if direction:rtl and unicode-bidi:isolate-override are applied to an inline element containing mixed direction text, the characters in that element will all be displayed in rtl order, ignoring the bidi algorithm.
bidi-isolate-override-002 = direction/unicode-bidi: span direction rtl, isolate-override (2)
  • In a ltr context, if direction:rtl and unicode-bidi:isolate-override are applied to an inline element containing mixed direction text, the characters in that element will all be displayed in rtl order, ignoring the bidi algorithm.
bidi-isolate-override-003 = direction/unicode-bidi: span direction ltr, isolate-override (1)
  • In a rtl context, if direction:ltr and unicode-bidi:isolate-override are applied to an inline element containing mixed direction text, the characters in that element will all be displayed in ltr order, ignoring the bidi algorithm.
bidi-isolate-override-004 = direction/unicode-bidi: span direction ltr, isolate-override (2)
  • In a rtl context, if direction:ltr and unicode-bidi:isolate-override are applied to an inline element containing mixed direction text, the characters in that element will all be displayed in ltr order, ignoring the bidi algorithm.
bidi-isolate-override-005 = direction/unicode-bidi: element as directional character with isolate-override, rtl
  • If unicode-bidi:isolate-override is applied to an inline element, that element will interact with the surrounding text like a neutral directional character.
bidi-isolate-override-006 = direction/unicode-bidi: element as directional character with isolate-override, ltr
  • If unicode-bidi:isolate-override is applied to an inline element, that element will interact with the surrounding text like a neutral directional character.
bidi-isolate-override-007 = direction/unicode-bidi: element isolation and isolate-override, rtl + number
  • If unicode-bidi:isolate-override is applied to an inline element, the text in that element WILL be directionally isolated from surrounding text.
bidi-isolate-override-008 = direction/unicode-bidi: element isolation and isolate-override, ltr + number
  • If unicode-bidi:isolate-override is applied to an inline element, the text in that element WILL be directionally isolated from surrounding text.
bidi-isolate-override-009 = direction/unicode-bidi: element isolation and isolate-override, rtl list
  • If unicode-bidi:isolate-override is applied to an inline element, the text in that element WILL be directionally isolated from following content.
bidi-isolate-override-010 = direction/unicode-bidi: element isolation and isolate-override, ltr list
  • If unicode-bidi:isolate-override is applied to an inline element, the text in that element WILL be directionally isolated from following content.
bidi-isolate-override-011 = direction/unicode-bidi: direction alone and inherited, isolate-override
  • unicode-bidi: isolate-override will apply direction declared on a higher level element.
bidi-isolate-override-012 = direction/unicode-bidi: default direction, isolate-override
  • unicode-bidi: When no direction is set, isolate-override will apply ltr ordering to text within its scope.
bidi-normal-001 = direction/unicode-bidi: span direction rtl, unicode-bidi normal (1)
  • In a ltr context, if direction:rtl and unicode-bidi:normal are applied to an inline element containing mixed direction text, the text in that element will NOT be displayed in rtl order.
bidi-normal-002 = direction/unicode-bidi: span direction rtl, unicode-bidi normal (2)
  • In a ltr context, if direction:rtl and unicode-bidi:normal are applied to an inline element containing mixed direction text, the text in that element will NOT be displayed in rtl order.
bidi-normal-003 = direction/unicode-bidi: span direction ltr, unicode-bidi normal (1)
  • In a rtl context, if direction:ltr and unicode-bidi:normal are applied to an inline element containing mixed direction text, the text in that element will NOT be displayed in ltr order.
bidi-normal-004 = direction/unicode-bidi: span direction ltr, unicode-bidi normal (2)
  • In a rtl context, if direction:ltr and unicode-bidi:normal are applied to an inline element containing mixed direction text, the text in that element will NOT be displayed in ltr order.
bidi-normal-005 = direction/unicode-bidi: element as directional character with unicode-bidi normal, rtl
  • If unicode-bidi:normal is applied to an inline element, that element will NOT interact with the surrounding text like a strong or neutral directional character.
bidi-normal-006 = direction/unicode-bidi: element as directional character with unicode-bidi normal, ltr
  • If unicode-bidi:normal is applied to an inline element, that element will NOT interact with the surrounding text like a strong or neutral directional character.
bidi-normal-007 = direction/unicode-bidi: element isolation and unicode-bidi normal, rtl + number
  • If unicode-bidi:normal is applied to an inline element, the text in that element will NOT be directionally isolated from surrounding text.
bidi-normal-008 = direction/unicode-bidi: element isolation and unicode-bidi normal, ltr + number
  • If unicode-bidi:normal is applied to an inline element, the text in that element will NOT be directionally isolated from surrounding text.
bidi-normal-009 = direction/unicode-bidi: element isolation and unicode-bidi normal, rtl list
  • If unicode-bidi:normal is applied to an inline element, the text in that element will NOT be directionally isolated from following content.
bidi-normal-010 = direction/unicode-bidi: element isolation and unicode-bidi normal, ltr list
  • If unicode-bidi:normal is applied to an inline element, the text in that element will NOT be directionally isolated from following content.
bidi-normal-011 = direction/unicode-bidi: direction alone and inherited, unicode-bidi normal
  • Directionality is not changed by the direction property on its own, nor by unicode-bidi:normal set on a lower level element.
bidi-override-001 = direction/unicode-bidi: span direction rtl, bidi-override (1)
  • In a ltr context, if direction:rtl and unicode-bidi:bidi-override are applied to an inline element containing mixed direction text, the characters in that element will all be displayed in rtl order, ignoring the bidi algorithm.
bidi-override-002 = direction/unicode-bidi: span direction rtl, bidi-override (2)
  • In a ltr context, if direction:rtl and unicode-bidi:bidi-override are applied to an inline element containing mixed direction text, the characters in that element will all be displayed in rtl order, ignoring the bidi algorithm.
bidi-override-003 = direction/unicode-bidi: span direction ltr, bidi-override (1)
  • In a rtl 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 all be displayed in ltr order, ignoring the bidi algorithm.
bidi-override-004 = direction/unicode-bidi: span direction ltr, bidi-override (2)
  • In a rtl 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 all be displayed in ltr order, ignoring the bidi algorithm.
bidi-override-005 = direction/unicode-bidi: element as directional character with bidi-override, rtl
  • If unicode-bidi:bidi-override is applied to an inline element, that element will interact with the surrounding text like a strongly directional character.
bidi-override-006 = direction/unicode-bidi: element as directional character with bidi-override, ltr
  • If unicode-bidi:bidi-override is applied to an inline element, that element will interact with the surrounding text like a strongly directional character.
bidi-override-007 = direction/unicode-bidi: element isolation and bidi-override, rtl + number
  • If unicode-bidi:bidi-override is applied to an inline element, the text in that element will NOT be directionally isolated from surrounding text.
bidi-override-008 = direction/unicode-bidi: element isolation and bidi-override, ltr + number
  • If unicode-bidi:bidi-override is applied to an inline element, the text in that element will NOT be directionally isolated from surrounding text.
bidi-override-009 = direction/unicode-bidi: element isolation and bidi-override, rtl list
  • If unicode-bidi:bidi-override is applied to an inline element, the text in that element will NOT be directionally isolated from following content.
bidi-override-010 = direction/unicode-bidi: element isolation and bidi-override, ltr list
  • If unicode-bidi:bidi-override is applied to an inline element, the text in that element will NOT be directionally isolated from following content.
bidi-override-011 = direction/unicode-bidi: direction alone and inherited, bidi-override
  • unicode-bidi: bidi-override will apply direction declared on a higher level element.
bidi-override-012 = direction/unicode-bidi: default direction, bidi-override
  • unicode-bidi: When no direction is set, bidi-override will apply ltr ordering to text within its scope.
bidi-plaintext-001 = unicode-bidi: span unicode-bidi plaintext, rtl (1)
  • If unicode-bidi:plaintext is applied to an inline element containing mixed direction text with a first strong directional character that is rtl, the text in that element will be displayed in rtl order.
bidi-plaintext-002 = direction/unicode-bidi: span unicode-bidi plaintext, rtl (2)
  • If unicode-bidi:plaintext is applied to an inline element containing mixed direction text with a first strong directional character that is rtl, the text in that element will be displayed in rtl order.
bidi-plaintext-003 = unicode-bidi: span unicode-bidi plaintext, ltr (1)
  • If unicode-bidi:plaintext is applied to an inline element containing mixed direction text with a first strong directional character that is ltr, the text in that element will be displayed in ltr order.
bidi-plaintext-004 = unicode-bidi: span unicode-bidi plaintext, ltr (2)
  • If unicode-bidi:plaintext is applied to an inline element containing mixed direction text with a first strong directional character that is ltr, the text in that element will be displayed in ltr order.
bidi-plaintext-005 = unicode-bidi: element as directional character with unicode-bidi plaintext, rtl
  • If unicode-bidi:plaintext is applied to an inline element, that element will interact with the surrounding text like a neutral directional character.
bidi-plaintext-006 = direction/unicode-bidi: element as directional character with unicode-bidi plaintext, ltr
  • If unicode-bidi:plaintext is applied to an inline element, that element will interact with the surrounding text like a neutral directional character.
bidi-plaintext-007 = unicode-bidi: element isolation and unicode-bidi plaintext, rtl + number
  • If unicode-bidi:plaintext is applied to an inline element, the text in that element WILL be directionally isolated from surrounding text.
bidi-plaintext-008 = unicode-bidi: element isolation and unicode-bidi plaintext, ltr + number
  • If unicode-bidi:plaintext is applied to an inline element, the text in that element WILL be directionally isolated from surrounding text.
bidi-plaintext-009 = unicode-bidi: element isolation and unicode-bidi plaintext, rtl list
  • If unicode-bidi:plaintext is applied to an inline element, the text in that element WILL be directionally isolated from following content.
bidi-plaintext-010 = unicode-bidi: element isolation and unicode-bidi plaintext, ltr list
  • If unicode-bidi:plaintext is applied to an inline element, the text in that element WILL be directionally isolated from following content.
bidi-plaintext-011 = direction/unicode-bidi: span unicode-bidi plaintext, no strong (1)
  • If unicode-bidi:plaintext is applied to an inline element containing mixed direction text with no strong directional character, the text in that element will be displayed in ltr order.
bidi-table-001 = direction: table columns
  • If direction is applied to the ancestor of a table element, columns will be displayed in that direction.
bidi-unset-001 = direction/unicode-bidi: span direction rtl, unicode-bidi unset (1)
  • In a ltr context, if direction:rtl is set but unicode-bidi is not set on an inline element containing mixed direction text, the text in that element will NOT be displayed in rtl order.
bidi-unset-002 = direction/unicode-bidi: span direction rtl, unicode-bidi unset (2)
  • In a ltr context, if direction:rtl is set but unicode-bidi is not set on an inline element containing mixed direction text, the text in that element will NOT be displayed in rtl order.
bidi-unset-003 = direction/unicode-bidi: span direction ltr, unicode-bidi unset (1)
  • In a rtl context, if direction:ltr is set but unicode-bidi is not set on an inline element containing mixed direction text, the text in that element will NOT be displayed in ltr order.
bidi-unset-004 = direction/unicode-bidi: span direction ltr, unicode-bidi unset (2)
  • In a rtl context, if direction:ltr is set but unicode-bidi is not set on an inline element containing mixed direction text, the text in that element will NOT be displayed in ltr order.
bidi-unset-005 = direction/unicode-bidi: element as directional character with unicode-bidi unset, rtl
  • If direction is set but unicode-bidi is not set on an inline element, that element will NOT interact with the surrounding text like a strong or neutral directional character.
bidi-unset-006 = direction/unicode-bidi: element as directional character with unicode-bidi unset, ltr
  • If direction is set but unicode-bidi is not set on an inline element, that element will NOT interact with the surrounding text like a strong or neutral directional character.
bidi-unset-007 = direction/unicode-bidi: element isolation and unicode-bidi unset, rtl + number
  • If direction is set but unicode-bidi is not set on an inline element, the text in that element will NOT be directionally isolated from surrounding text.
bidi-unset-008 = direction/unicode-bidi: element isolation and unicode-bidi unset, ltr + number
  • If direction is set but unicode-bidi is not set on an inline element, the text in that element will NOT be directionally isolated from surrounding text.
bidi-unset-009 = direction/unicode-bidi: element isolation and unicode-bidi unset, rtl list
  • If direction is set but unicode-bidi is not set on an inline element, the text in that element will NOT be directionally isolated from following content.
bidi-unset-010 = direction/unicode-bidi: element isolation and unicode-bidi unset, ltr list
  • If direction is set but unicode-bidi is not set on an inline element, the text in that element will NOT be directionally isolated from following content.
block-embed-001 = direction: div direction rtl
  • If direction is applied to a block element containing mixed direction text, the text in that element will be displayed in the expected order.
block-embed-002 = direction: div direction ltr
  • If direction is applied to a block element containing mixed direction text, the text in that element will be displayed in the expected order.
block-embed-003 = direction: div direction rtl
  • If direction is applied to a block element, contained block elements inherit that direction.
block-override-001 = direction: div override rtl
  • If unicode-bidi:bidi-override is applied to a block element, characters are displayed strictly in sequence according to the direction property.
block-override-002 = direction: div override ltr
  • If unicode-bidi:bidi-override is applied to a block element, characters are displayed strictly in sequence according to the direction property.
block-override-003 = direction: div direction ltr
  • If unicode-bidi:bidi-override is applied to a block element with no direction value set, characters are displayed strictly in sequence, in ltr order.
block-override-004 = unicode-bidi: div override inheritance
  • If unicode-bidi:bidi-override is applied to a block element, all characters in immediate inline text are displayed strictly in sequence according to the direction property, but content of contained blocks is not.
block-override-isolate-001 = direction: div override rtl
  • If unicode-bidi:isolate-override is applied to a block element, characters are displayed strictly in sequence according to the direction property.
block-override-isolate-002 = direction: div override ltr
  • If unicode-bidi:isolate-override is applied to a block element, characters are displayed strictly in sequence according to the direction property.
block-override-isolate-003 = direction: div direction ltr
  • If unicode-bidi:isolate-override is applied to a block element with no direction value set, characters are displayed strictly in sequence, in ltr order.
block-override-isolate-004 = unicode-bidi: div override inheritance
  • If unicode-bidi:isolate-override is applied to a block element, all characters in immediate inline text are displayed strictly in sequence according to the direction property, but content of contained blocks is not.
block-plaintext-001 = unicode-bidi: div plaintext, rtl
  • If unicode-bidi: plaintext is applied to a div element containing mixed direction text, the order of directional runs in the text in that element will be determined by its first strong character.
block-plaintext-002 = unicode-bidi: div plaintext, ltr
  • If unicode-bidi: plaintext is applied to a div element containing mixed direction text, the order of directional runs in the text in that element will be determined by its first strong character.
block-plaintext-003 = unicode-bidi: div plaintext inheritance
  • If unicode-bidi:plaintext is applied to a block element, directional runs are displayed according to the first strong character, but content of contained blocks is not.
block-plaintext-004 = unicode-bidi: div plaintext with br
  • If unicode-bidi:plaintext is applied to a div element containing br tags, each line of characters that starts after br is displayed according to the first strong character after the br.
block-plaintext-005 unicode-bidi: textarea plaintext
  • If unicode-bidi:plaintext is applied to a textarea element, each line of characters after a linebreak is displayed according to the first strong character after the linebreak.
block-plaintext-006 = unicode-bidi: pre plaintext
  • If unicode-bidi:plaintext is applied to a pre element, each line of characters after a linebreak is displayed according to the first strong character after the linebreak.
+ 2.1 Specifying Directionality: the direction property
direction-001 = Direction set to 'ltr'
  • The 'direction' property set to 'ltr' sets the direction of an element to left-to-right.
direction-002 = Direction set to 'rtl'
  • The 'direction' property set to 'rtl' sets the direction of an element to right-to-left.
direction-003 = Direction set to 'inherit' sets a value that is inherited from parent element
  • The 'direction' property set to 'inherit' sets a direction value to the same as the parent element.
direction-applies-to-001 = Ahem Direction applied to element with 'display' set to 'table-row-group'
  • The 'direction' property does not apply to elements with a display of 'table-row-group'.
direction-applies-to-002 = Ahem Direction applied to element with 'display' set to 'table-header-group'
  • The 'direction' property does not apply to elements with a display of 'table-header-group'.
direction-applies-to-003 = Ahem Direction applied to element with 'display' set to 'table-footer-group'
  • The 'direction' property does not apply to elements with a display of 'table-footer-group'.
direction-applies-to-004 = Ahem Direction applied to element with 'display' set to 'table-row'
  • The 'direction' property does not apply to elements with a display of 'table-row'.
direction-applies-to-005 = Ahem Direction applied to element with 'display' set to 'table-column-group'
  • The 'direction' property does not apply to elements with a display of 'table-column-group'.
direction-applies-to-006 = Ahem Direction applied to element with 'display' set to 'table-column'
  • The 'direction' property does not apply to elements with a display of 'table-column'.
direction-applies-to-007 = Ahem Direction applied to element with 'display' set to 'table-cell'
  • The 'direction' property applies to elements with a display of 'table-cell'.
direction-applies-to-008 = Direction applied to element with 'display' set to inline
  • The 'direction' property applies to elements with a display of inline as it can set the direction of embeddings and overrides.
direction-applies-to-009 = Ahem Direction applied to element with 'display' set to block
  • The 'direction' property applies to elements with a display of block.
direction-applies-to-010 Ahem Direction applied to element with 'display' set to list-item
  • The 'direction' property applies to elements with a display of list-item.
direction-applies-to-012 = Ahem Direction applied to element with 'display' set to inline-block
  • The 'direction' property applies to elements with a display of inline-block.
direction-applies-to-013 = Ahem Direction applied to element with 'display' set to 'table'
  • The 'direction' property can apply to elements with a display of 'table' as it specifies the direction of table column layout.
direction-applies-to-014 = Ahem Direction applied to element with 'display' set to 'inline-table'
  • The 'direction' property can apply to elements with a display of 'inline-table' as it specifies the direction of table column layout.
direction-applies-to-015 = Ahem Direction applied to element with 'display' set to 'table-caption'
  • The 'direction' property applies to elements with a display of 'table-caption'.
table-column-order-002 = Ahem 'direction: rtl' - table columns order and vertical-rl
  • This test checks that a table with 'writing-mode' set to 'vertical-rl' and with 'direction' set to 'rtl' will have its column displayed from bottom (1st column) to top (last column). This test relies on right-to-left directionality applying to characters that are strongly sensitive to directionality. In this test, we use digits [0-9] and non-breaking spaces which are all strongly sensitive to bidi directionality.
table-column-order-003 = Ahem 'direction: rtl' - table columns order and vertical-lr
  • This test checks that a table with 'writing-mode' set to 'vertical-lr' and with 'direction' set to 'rtl' will have its column displayed from bottom (1st column) to top (last column). This test relies on right-to-left directionality applying to characters that are strongly sensitive to directionality. In this test, we use digits [0-9] and non-breaking spaces which are all strongly sensitive to bidi directionality.
table-column-order-004 = Ahem 'direction: rtl' - table columns order and vertical-rl
  • This test checks that colspanned cells in a table with 'direction' set to 'rtl' are handled according to a bottom-to-top column direction. This test relies on right-to-left directionality applying to characters that are strongly sensitive to directionality. In this test, we use digits [0-9] and non-breaking spaces which are all strongly sensitive to bidi directionality.
table-column-order-005 = Ahem 'direction: rtl' - table columns order and vertical-lr
  • This test checks that colspanned cells in a table with 'direction' set to 'rtl' are handled according to a bottom-to-top column direction. This test relies on right-to-left directionality applying to characters that are strongly sensitive to directionality. In this test, we use digits [0-9] and non-breaking spaces which are all strongly sensitive to bidi directionality.
table-progression-vlr-001 = vertical-lr Table Row/Rowgroup/Cell Ordering
  • This test checks that vertical-lr tables order rows/rowgroups left to right and cells top-to-bottom (LTR) or bottom-to-top (RTL) per 'direction'. This test also checks that 'writing-mode' and 'direction' do not apply to table rows and row groups.
table-progression-vlr-002 = vertical-lr Table Column/Colgroup Ordering
  • This test checks that vertical-lr tables order columns top-to-bottom (LTR) or bottom-to-top (RTL) per the table's 'direction'. This test also checks that 'writing-mode' and 'direction' do not apply to table columns and column groups.
table-progression-vlr-003 = vertical-lr upright orientation Table Row/Rowgroup/Cell Ordering
  • This test checks that vertical-lr tables, whether LTR or RTL, order rows/rowgroups left to right and cells top-to-bottom when text-orientation is upright.
table-progression-vlr-004 = vertical-lr upright orientation Table Column/Colgroup Ordering
  • This test checks that vertical-lr tables, whether LTR or RTL, order columns top-to-bottom when text-orientation is upright.
table-progression-vrl-001 = vertical-rl Table Row/Rowgroup/Cell Ordering
  • This test checks that vertical-rl tables order rows/rowgroups right to left and cells top-to-bottom (LTR) or bottom-to-top (RTL) per 'direction'. This test also checks that 'writing-mode' and 'direction' do not apply to table rows and row groups.
table-progression-vrl-002 = vertical-rl Table Column/Colgroup Ordering
  • This test checks that vertical-rl tables order columns top-to-bottom (LTR) or bottom-to-top (RTL) per the table's 'direction'. This test also checks that 'writing-mode' and 'direction' do not apply to table columns and column groups.
table-progression-vrl-003 = vertical-rl upright orientation Table Row/Rowgroup/Cell Ordering
  • This test checks that vertical-rl tables, whether LTR or RTL, order rows/rowgroups right to left and cells top-to-bottom when text-orientation is upright.
table-progression-vrl-004 = vertical-rl upright orientation Table Column/Colgroup Ordering
  • This test checks that vertical-rl tables, whether LTR or RTL, order columns top-to-bottom when text-orientation is upright.
direction-computed Script CSS Writing Modes: getComputedStyle().direction
  • direction computed value is as specified.
direction-invalid Script CSS Writing Modes Level 3: parsing direction with invalid values
  • direction supports only the grammar 'ltr | rtl'.
direction-valid Script CSS Writing Modes Level 3: parsing direction with valid values
  • direction supports the full grammar 'ltr | rtl'.
+ 2.2 Embeddings and Overrides: the unicode-bidi property
bidi-alt-001 unicode-bidi: bidi-override in alt text
  • If alt text is not treated as replaced content, then unicode-bidi applies to image alt text.
bidi-line-break-001 Script Test implicit bidi controls do not affect line breaking
unicode-bidi-001 = Unicode-bidi set to 'normal'
  • The property 'unicode-bidi' set to 'normal' doesn't modify the directionality of text.
unicode-bidi-002 = Unicode-bidi set to 'embed'
  • The property 'unicode-bidi' set to 'embed' opens a new level of embedding in the Unicode bi-directional algorithm.
unicode-bidi-003 = Unicode-bidi set to 'bidi-override'
  • The property 'unicode-bidi' set to 'bidi-override' overrides the directionality of text.
unicode-bidi-004 = Unicode-bidi set to 'inherit'
  • The property 'unicode-bidi' set to 'inherit' sets a value the same as parent element's value.
unicode-bidi-applies-to-001 = Unicode-bidi applied to element with 'display' set to 'table-row-group'
  • The 'unicode-bidi' property does not apply to elements with a display of 'table-row-group'. 'unicode-bidi' property only applies to inline elements or block containers' immediate inline-level descendants.
unicode-bidi-applies-to-002 = Unicode-bidi applied to element with 'display' set to 'table-header-group'
  • The 'unicode-bidi' property does not apply to elements with a display of 'table-header-group'. 'unicode-bidi' property only applies to inline elements or block containers' immediate inline-level descendants.
unicode-bidi-applies-to-003 = Unicode-bidi applied to element with 'display' set to 'table-footer-group'
  • The 'unicode-bidi' property does not apply to elements with a display of 'table-footer-group'. 'unicode-bidi' property only applies to inline elements or block containers' immediate inline-level descendants.
unicode-bidi-applies-to-004 = Unicode-bidi applied to element with 'display' set to 'table-row'
  • The 'unicode-bidi' property does not apply to elements with a display of 'table-row'. 'unicode-bidi' property only applies to inline elements or block containers' immediate inline-level descendants.
unicode-bidi-applies-to-005 = Unicode-bidi applied to element with 'display' set to 'table-column-group'
  • The 'unicode-bidi' property does not apply to elements with a display of 'table-column-group'. 'unicode-bidi' property only applies to inline elements or block containers' immediate inline-level descendants.
unicode-bidi-applies-to-006 = Unicode-bidi applied to element with 'display' set to 'table-column'
  • The 'unicode-bidi' property does not apply to elements with a display of 'table-column'. 'unicode-bidi' property only applies to inline elements or block containers' immediate inline-level descendants.
unicode-bidi-applies-to-007 = Unicode-bidi applied to element with 'display' set to 'table-cell'
  • The 'unicode-bidi' property applies to elements with a display of 'table-cell'.
unicode-bidi-applies-to-008 = Unicode-bidi applied to element with 'display' set to inline
  • The 'unicode-bidi' property applies to elements with a display of inline.
unicode-bidi-applies-to-009 = Unicode-bidi applied to element with 'display' set to block
  • The 'unicode-bidi' property applies to elements with a display of block.
unicode-bidi-applies-to-010 Unicode-bidi applied to element with 'display' set to list-item
  • The 'unicode-bidi' property applies to elements with a display of list-item.
unicode-bidi-applies-to-012 = Unicode-bidi applied to element with 'display' set to inline-block
  • The 'unicode-bidi' property applies to elements with a display of inline-block.
unicode-bidi-applies-to-013 = Unicode-bidi applied to element with 'display' set to 'table'
  • The 'unicode-bidi' property does not apply to elements with a display of 'table'. 'unicode-bidi' property only applies to inline elements or block containers' immediate inline-level descendants.
unicode-bidi-applies-to-014 = Unicode-bidi applied to element with 'display' set to 'inline-table'
  • The 'unicode-bidi' property does not apply to elements with a display of 'inline-table'. 'unicode-bidi' property only applies to inline elements or block containers' immediate inline-level descendants.
unicode-bidi-applies-to-015 = Unicode-bidi applied to element with 'display' set to 'table-caption'
  • The 'unicode-bidi' property applies to elements with a display of 'table-caption'.
unicode-bidi-parsing-001 DOM/JSScript CSS Writing Modes: parsing unicode-bidi: normal, embed, bidi-override
  • This test asserts the parser and getComputedStyle works correctly for the unicode-bidi: normal, embed, bidi-override.
unicode-bidi-parsing-002 DOM/JSScript CSS Writing Modes: parsing unicode-bidi: isolate, isolate-override, plaintext
  • This test asserts the parser and getComputedStyle works correctly for the unicode-bidi: isolate, isolate-override, plaintext.
unicode-bidi-computed Script CSS Writing Modes: getComputedStyle().unicodeBidi
  • unicode-bidi computed value is as specified.
unicode-bidi-invalid Script CSS Writing Modes Level 3: parsing unicode-bidi with invalid values
  • unicode-bidi supports only the grammar 'normal | embed | isolate | bidi-override | isolate-override | plaintext'.
unicode-bidi-valid Script CSS Writing Modes Level 3: parsing unicode-bidi with valid values
  • unicode-bidi supports the full grammar 'normal | embed | isolate | bidi-override | isolate-override | plaintext'.
trailing-ideographic-space-020 = handling trailing ideographic space sequence
  • Disabled hypenation and unicode-bidi 'isolate' should not affect, hence the trailing ideographic spaces must hang; however, the rest of the sequence is wrapped due to the forced break.
trailing-ideographic-space-021 = handling trailing ideographic space sequence
  • Disabled hypenation and unicode-bidi 'isolate' should not affect, hence the trailing ideographic spaces must hang; however, the rest of the sequence is wrapped due to the forced break.
trailing-ideographic-space-022 = handling trailing ideographic space sequence
  • Disabled hypenation and unicode-bidi 'isolate' should not affect, hence the trailing ideographic spaces must hang; however, the rest of the sequence is wrapped due to the forced break.
bidi-plaintext-br-001 = unicode-bidi: plaintext with forced breaks
trailing-ideographic-space-017 = handling trailing ideographic space sequence
  • Disabled hypenation and unicode-bidi 'plaintext' should not affect, hence the trailing ideographic spaces must hang; however, the rest of the sequence is wrapped due to the forced break.
trailing-ideographic-space-018 = handling trailing ideographic space sequence
  • Disabled hypenation and unicode-bidi 'plaintext' should not affect, hence the trailing ideographic spaces must hang; however, the rest of the sequence is wrapped due to the forced break.
trailing-ideographic-space-019 = handling trailing ideographic space sequence
  • Disabled hypenation and unicode-bidi 'plaintext' should not affect, hence the trailing ideographic spaces must hang; however, the rest of the sequence is wrapped due to the forced break.
trailing-ideographic-space-023 = handling trailing ideographic space sequence
  • Auto hypenation and unicode-bidi 'plaintext' should not affect, hence the trailing ideographic spaces must hang; however, the rest of the sequence is wrapped due to the forced break.
trailing-ideographic-space-024 = handling trailing ideographic space sequence
  • Auto hypenation and unicode-bidi 'plaintext' should not affect, hence the trailing ideographic spaces must hang; however, the rest of the sequence is wrapped due to the forced break.
trailing-ideographic-space-025 = handling trailing ideographic space sequence
  • Auto hypenation and unicode-bidi 'plaintext' should not affect, hence the trailing ideographic spaces must hang; however, the rest of the sequence is wrapped due to the forced break.
+ 2.3 Example of Bidirectional Text
+ 2.4 Applying the Bidirectional Reordering Algorithm
bidi-breaking-001 = Bidi paragraph boundaries: Blocks
  • Block boundaries break bidi paragraphs.
bidi-breaking-002 = Bidi paragraph boundaries: Forced Line Breaks
  • Forced line breaks of class B (but not class WS) break bidi paragraphs.
bidi-breaking-003 = Optional Bidi paragraph boundaries: Forced Line Breaks (Unicode)
  • Forced line breaks of class B (but not class WS) break bidi paragraphs.
bidi-glyph-mirroring-001 = unicode-bidi: bidi-override - glyph mirroring
  • Glyph mirroring of characters with unicode Bidi_Mirrored property should be performed when unicode-bidi: bidi-override is applied
bidi-glyph-mirroring-002 = unicode-bidi: bidi-override - glyph mirroring
  • Glyph mirroring of characters with unicode Bidi_Mirrored property should be performed direction:rtl is applied
bidi-inline-001 = unicode-bidi: bidi-override on inline - rtl
  • bidi-override should be applied to inlines with no interruptions to surrounding text
bidi-inline-002 = unicode-bidi: bidi-override on inline - nested
  • Nested bidi-override should be applied to inlines with no interruptions to surrounding text
+ 2.4.1 Bidi Paragraph Embedding Levels
+ 2.4.2 CSS–Unicode Bidi Control Translation, Text Reordering
bidi-001 = RLO/PDF bidi reordering across closing inline element boundary
  • Tests that RLO + closing inline element boundary + PDF reorders text, splitting inline and rendering borders and padding appropriately.
bidi-002 = RLO/PDF bidi reordering across closing inline element boundary + soft line break
  • Tests that RLO + closing inline element boundary + soft line break + PDF reorders text, placing text correctly on each line while also splitting inline and rendering borders and padding appropriately.
bidi-003 = RLO/PDF bidi reordering across closing inline element boundary + opening inline boundary
  • Tests that RLO + closing inline element boundary + opening inline element boundary + PDF reorders text, splitting inlines and rendering their borders and padding appropriately.
bidi-004 = AhemOptional The bidi algorithm and inlines in CSS
bidi-005 = The bidi algorithm and inlines in CSS: embed levels and white-space: pre;
bidi-005a = The bidi algorithm and inlines in CSS: embed levels and white-space: pre;
bidi-005b = The bidi algorithm and inlines in CSS: embed levels and white-space: pre;
bidi-006 = The bidi algorithm and inlines in CSS: embed levels and white-space: nowrap;
bidi-006a = The bidi algorithm and inlines in CSS: embed levels and white-space: nowrap;
bidi-006b = The bidi algorithm and inlines in CSS: embed levels and white-space: nowrap;
bidi-007 = The bidi algorithm and inlines in CSS: embed levels and float: left;
bidi-007a = The bidi algorithm and inlines in CSS: embed levels and float: left;
bidi-007b = The bidi algorithm and inlines in CSS: embed levels and float: left;
bidi-008 = The bidi algorithm and inlines in CSS: embed levels and display: table;
bidi-008a = The bidi algorithm and inlines in CSS: embed levels and display: table;
bidi-008b = The bidi algorithm and inlines in CSS: embed levels and display: table;
bidi-009 = The bidi algorithm and inlines in CSS: embed levels and display: table-row;
bidi-009a = The bidi algorithm and inlines in CSS: embed levels and display: table-row;
bidi-010 = The bidi algorithm and inlines in CSS: embed levels and position: absolute
bidi-010a = The bidi algorithm and inlines in CSS: embed levels and position: absolute
bidi-010b = The bidi algorithm and inlines in CSS: embed levels and position: absolute
bidi-011 = The bidi algorithm and inlines in CSS wrapping bidi formatting characters
white-space-collapsing-bidi-001 = Ahem White-space collapsing and the bidi algorithm
white-space-collapsing-bidi-002 = Ahem White-space collapsing and the bidi algorithm (using <dir>)
white-space-collapsing-bidi-003 = Ahem Trailing spaces in table cells
+ 2.4.3 Bidi Treatment of Atomic Inlines
+ 2.4.4 Paragraph Breaks Within Embeddings and Isolates
+ 2.4.5 Reordering-induced Box Fragmentation
bidi-001 = RLO/PDF bidi reordering across closing inline element boundary
  • Tests that RLO + closing inline element boundary + PDF reorders text, splitting inline and rendering borders and padding appropriately.
bidi-002 = RLO/PDF bidi reordering across closing inline element boundary + soft line break
  • Tests that RLO + closing inline element boundary + soft line break + PDF reorders text, placing text correctly on each line while also splitting inline and rendering borders and padding appropriately.
bidi-003 = RLO/PDF bidi reordering across closing inline element boundary + opening inline boundary
  • Tests that RLO + closing inline element boundary + opening inline element boundary + PDF reorders text, splitting inlines and rendering their borders and padding appropriately.
bidi-004 = AhemOptional The bidi algorithm and inlines in CSS
bidi-005 = The bidi algorithm and inlines in CSS: embed levels and white-space: pre;
bidi-005a = The bidi algorithm and inlines in CSS: embed levels and white-space: pre;
bidi-005b = The bidi algorithm and inlines in CSS: embed levels and white-space: pre;
bidi-006 = The bidi algorithm and inlines in CSS: embed levels and white-space: nowrap;
bidi-006a = The bidi algorithm and inlines in CSS: embed levels and white-space: nowrap;
bidi-006b = The bidi algorithm and inlines in CSS: embed levels and white-space: nowrap;
bidi-007 = The bidi algorithm and inlines in CSS: embed levels and float: left;
bidi-007a = The bidi algorithm and inlines in CSS: embed levels and float: left;
bidi-007b = The bidi algorithm and inlines in CSS: embed levels and float: left;
bidi-008 = The bidi algorithm and inlines in CSS: embed levels and display: table;
bidi-008a = The bidi algorithm and inlines in CSS: embed levels and display: table;
bidi-008b = The bidi algorithm and inlines in CSS: embed levels and display: table;
bidi-009 = The bidi algorithm and inlines in CSS: embed levels and display: table-row;
bidi-009a = The bidi algorithm and inlines in CSS: embed levels and display: table-row;
bidi-010 = The bidi algorithm and inlines in CSS: embed levels and position: absolute
bidi-010a = The bidi algorithm and inlines in CSS: embed levels and position: absolute
bidi-010b = The bidi algorithm and inlines in CSS: embed levels and position: absolute
bidi-011 = The bidi algorithm and inlines in CSS wrapping bidi formatting characters
bidi-box-model-001 = bidirection box model - borders on inline in normal block
  • Border sides should be unaffected by directionality
bidi-box-model-002 = bidirection box model - borders on inline in embed block
  • Border sides should be unaffected by directionality
bidi-box-model-003 = bidirection box model - borders on inline in bidi-override block
  • Border sides should be unaffected by directionality
bidi-box-model-004 = bidirection box model - borders on normal inline
  • Border sides should be unaffected by directionality
bidi-box-model-005 = bidirection box model - borders on embed inline
  • Border sides should be unaffected by directionality
bidi-box-model-006 = bidirection box model - borders on bidi-override inline
  • Border sides should be unaffected by directionality
bidi-box-model-007 = bidirection box model - borders on normal block
  • Border sides should be unaffected by directionality
bidi-box-model-008 = bidirection box model - borders on embed block
  • Border sides should be unaffected by directionality
bidi-box-model-009 = bidirection box model - borders on bidi-override block
  • Border sides should be unaffected by directionality
bidi-box-model-034 = Ahem bidirection box model - padding-left on bidi-override block
  • Side padding should be unaffected by directionality
bidi-box-model-035 = Ahem bidirection box model - padding-left on normal block
  • Side padding should be unaffected by directionality
bidi-box-model-036 = Ahem bidirection box model - padding-left on embed block
  • Side padding should be unaffected by directionality
bidi-box-model-043 = Ahem bidirection box model - padding-right on bidi-override block
  • Side padding should be unaffected by directionality
bidi-box-model-044 = Ahem bidirection box model - padding-right on normal block
  • Side padding should be unaffected by directionality
bidi-box-model-045 = Ahem bidirection box model - padding-right on embed block
  • Side padding should be unaffected by directionality
white-space-collapsing-bidi-001 = Ahem White-space collapsing and the bidi algorithm
white-space-collapsing-bidi-002 = Ahem White-space collapsing and the bidi algorithm (using <dir>)
white-space-collapsing-bidi-003 = Ahem Trailing spaces in table cells