Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

<!DOCTYPE html>
<meta charset="UTF-8">
<title>CSS Writing Modes Test: 'writing-mode: vertical-lr' set to &lt;body&gt; element propagates to viewport</title>
<link rel="author" title="GĂ©rard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
<link rel="help" href="https://www.w3.org/TR/css-writing-modes-3/#principal-flow" title="8. The Principal Writing Mode">
<!--
Issue 3066: [css-writing-modes] Does vertical writing mode of an HTML body
element cause an orthogonal flow?
-->
<link rel="match" href="wm-propagation-body-033-ref.html">
<meta name="assert" content="This test checks that when the root element has a &lt;body&gt; child element, then the principal writing mode is instead taken from the values of writing-mode and direction on the first such child element instead of taken from the root element. Also, a small script in this test verifies that the computed value of 'writing-mode' of the root element itself is not affected by such propagation.">
<!--
Tests 032 to 035: html's writing-mode is not specified
Tests 036 to 039: html's writing-mode is specified as horizontal-tb
Tests 040 to 043: html's writing-mode is specified as vertical-rl
Tests 044 to 047: html's writing-mode is specified as vertical-lr
Tests 048 to 051: html's writing-mode is specified as sideways-rl
Tests 052 to 055: html's writing-mode is specified as sideways-lr
-->
<style>
html
{
writing-mode: horizontal-tb;
}
html::before
{
background-color: orange;
content: "";
display: block;
height: 100px;
margin-left: 8px;
margin-top: 8px;
margin-right: 1em;
width: 100px;
}
body
{
writing-mode: vertical-lr;
}
h1#second-test-condition
{
background-color: red;
color: yellow;
}
</style>
<script>
function verifyComputedValueDocRoot()
{
if(getComputedStyle(document.documentElement)["writing-mode"] == "horizontal-tb")
{
document.getElementById("second-test-condition").style.display = "none";
};
/*
If the computed value of 'writing-mode' of the root element
itself is not affected by such propagation, then the big FAIL
word will not be displayed.
*/
}
</script>
<body onload="verifyComputedValueDocRoot();">
<div><img src="support/wm-propagation-body-003-exp-res.png" width="340" height="37" alt="Image download support must be enabled"></div>
<!--
The image says:
Test passes if there is an orange square
in the <strong>upper-left corner</strong> of the page.
-->
<h1 id="second-test-condition">FAIL</h1>