<!DOCTYPE html>

  <meta charset="UTF-8">

  <title>CSS Writing Modes Test: 'writing-mode: horizontal-tb' 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-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-033-ref.html">

  <meta name="flags" content="">
  <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: sideways-rl;
    }

  body
    {
      writing-mode: horizontal-tb;
    }

  img#orange-square
    {
      height: 100px;
      padding-right: 1em;
      vertical-align: top;
      width: 100px;
    }

  h1#second-test-condition
    {
      background-color: red;
      color: yellow;
    }
  </style>

  <script>
  function verifyComputedValueDocRoot()
  {
  if(getComputedStyle(document.documentElement)["writing-mode"] == "sideways-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><img id="orange-square" src="support/swatch-orange.png" alt="Image download support must be enabled"><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>
