Status of CSS Writing Modes Level 3 Test Suites
Test Failures
This document analyzes
tests
that do not meet the exit criteria and are not required as of Jan 2016.
See links below for other data and links.
- 1: Introduction to Writing Modes:
all failures are for sideways-lr or sideways-rl.
- 2: Inline Direction and Bidirectionality:
all failures are for
isolate-override or plaintext value
of the unicode-bidi property.
- 2.1: Specifying Directionality: the direction property
has 2 types of failures:
- 2.2: Embeddings and Overrides: the unicode-bidi property:
only 1 implementation has unprefixed values for unicode-bidi property.
Note that other layout tests run with prefix support.
- 2.4.2: CSS–Unicode Bidi Control Translation, Text Reordering:
2 failures are about bidi reordering of RLO/PDF bidi control characters.
The tests cannot diagnose if this is a failure of the mapping in CSS
or a failure in underlying UAX#9 implementations.
No implementations pass these 2 tests.
- 2.4.5: Reordering-induced Box Fragmentation:
the same tests as 2.4.2.
- 3.1: Block Flow Direction: the writing-mode property
has 3 types of failures:
- 4.2: Text Baselines:
all failures are for sideways-lr or sideways-rl.
- 4.3: Atomic Inline Baselines
has two types of failures:
- 5.1: Orienting Text: the text-orientation property
has 3 types of failures:
- 5 are for sideways-lr or sideways-rl.
- 2 are the same tests as 2.1 and 3.1.
- 16 tests use getBoundingClientRect() API
to measure orientations of characters after layout,
and Gecko failures are because of the API implementation.
Since Gecko passes ref tests and manual tests for this section,
I consider these 16 failures are irrelevant.
- 7.1: Principles of Layout in Vertical Writing Modes
has 2 types of failures:
- 4 are for sideways-lr or sideways-rl.
- 5 are orthogonal absolute-positioned objects.
There are 270 tests for absolute-positioned objects in this spec
to cover combinations of a) direction,
b) text-align,
c) box offsets (top, left, right, bottom, auto),
d) orthogonal and non-orthogonal,
and e) ICB.
5 failures is ~1.8% of total cases,
and all of them are for orthogonal flows.
- 7.5: Line-Relative Mappings:
all failures are for sideways-lr or sideways-rl.
- 9.1: Horizontal-in-Vertical Composition: the text-combine-upright property
- Only 1 unprefixed implementation for none and all.
Note that other layout tests run with prefix and old syntax support.
- 0 implementations for digits with the up-to-date syntax.
Note that Trident/Edge has digits in the pre-CR name with prefix
(-ms-text-combine-horizontal).
- 9.1.3.1: Full-width Characters:
all tests fail in all implementations.
List of Non-interoperable Items
- 1 unprefixed implementation pass
all tests for unicode-bidi: isolate-override and plaintext.
[2]
- 0 implementations for
the ordering of RTL scripts in vertical flow
when upright glyphs is specified (text-orientation: upright).
[2.1]
- 1 unprefixed implementation for
new values of unicode-bidi in L3
(isolate, isolate-override, plaintext).
[2.2]
- 0 implementations for
baseline of multiple lines in inline-block/inline-table in vertical-lr.
[4.3]
- 1 implementation for 1.8% of combinations of
absolute positioned objects with orthogonal writing-modes.
[7.1]
- 1 unprefixed implementation for
text-combine-upright: none | all.
[9.1]
- 0 implementations for
automatic full-width conversion in text-combine-upright. [9.1.3.1]
Non-interoperable Items with At Risk
- 1 unprefixed implementation for
writing-mode: sideways-lr and sideways-rl.
[3.1]
- 0 unprefixed implementations for
text-combine-upright: digits.
[9.1]
Non-interoperable Items in Other Specs
- 0 implementations for
2 speicific test cases of
bidi control characters in UAX#9. [2.4.2]
- 1 implementation for
Flexbox row-reverse. [3.1]
- 1 implementation for
CSSOM View Range.getBoundingClientRect() method. [5.1]
Links