<!DOCTYPE html> | |
<meta charset="UTF-8"> | |
<title>CSS Writing Modes Test: 'writing-mode: sideways-rl' set to <body> 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-4/#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? | |
https://github.com/w3c/csswg-drafts/issues/3066 | |
--> | |
<link rel="match" href="wm-propagation-body-042-ref.html"> | |
<meta name="assert" content="This test checks that when the root element has a <body> 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. Finally, in order to make sure that the principal writing mode is indeed 'sideways-rl', the test checks that a simple text is not affected by 'text-orientation: upright' since 'text-orientation: upright' should have no impact and no rendering effect on it."> | |
<!-- | |
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: vertical-rl; | |
} | |
html::after | |
{ | |
content: "This text must be written sideways: vertically, with letters rotated 90 degrees."; | |
text-orientation: upright; | |
/* 'text-orientation: upright' has no effect with 'sideways-rl', but does with 'vertical-rl' */ | |
} | |
body | |
{ | |
writing-mode: sideways-rl; | |
} | |
div | |
{ | |
background-color: blue; | |
height: 100px; | |
width: 100px; | |
} | |
h1#second-test-condition | |
{ | |
background-color: red; | |
color: yellow; | |
} | |
</style> | |
<script> | |
function verifyComputedValueDocRoot() | |
{ | |
if(getComputedStyle(document.documentElement)["writing-mode"] == "vertical-rl") | |
{ | |
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></div> | |
<p><img src="support/block-flow-direction-025-exp-res.png" width="359" height="36" alt="Image download support must be enabled"> | |
<!-- | |
The image says: | |
Test passes if there is a blue square in the | |
<strong>upper-right corner</strong> of the page. | |
--> | |
<h1 id="second-test-condition">FAIL</h1> |