<!DOCTYPE html>
<meta charset="utf-8">
<title>CSS Test: sideways-lr Table Row/Rowgroup/Cell Ordering</title>
<link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
<link rel="author" title="Elika J. Etemad" href="http://fantasai.inkedblade.net/contact">
<link rel="match" href="table-progression-slr-001-ref.html">
<meta name="assert" content="This test checks that sideways-lr tables order rows/rowgroups left to right and cells bottom-to-top (LTR) or top-to-bottom (RTL) per 'direction'. This test also checks that 'writing-mode' and 'direction' do not apply to table rows and row groups.">
<link rel="help" href="http://www.w3.org/TR/css-writing-modes-4/#block-flow" title="3.1 Block Flow Direction: the 'writing-mode' property">
<link rel="help" href="http://www.w3.org/TR/css-writing-modes-4/#direction" title="2.1 Specifying Directionality: the 'direction' property">

<style>
  .test {
    writing-mode: sideways-lr;
  }
  [dir=rtl] {
    direction: rtl;
  }

  table {
    border-spacing: 0;
    margin: 1em;
  }
  td {
    width: 1em;
    height: 1em;
    border: solid gray;
  }

  .navy { background: navy}
  .blue { background: blue }
  .aqua { background: aqua }
  .teal { background: teal }
  .purp { background: purple }
  .pink { background: fuchsia }
  .yllw { background: yellow }
  .orng { background: orange }


  /* These rules must have no effect. */
  .test thead,
  .test tfoot,
  .test tbody,
  .test tr,
  .test td {
    writing-mode: horizontal-tb; /* For UAs not supporting vertical-rl */
    writing-mode: sideways-rl;
    direction: rtl;
  }
  .test[dir=rtl] thead,
  .test[dir=rtl] tfoot,
  .test[dir=rtl] tbody,
  .test[dir=rtl] tr,
  .test[dir=rtl] td {
    direction: ltr;
  }
</style>

<p>Test passes if the following three tables look identical.

<table class="test">
  <thead>
    <tr>
      <td colspan=2>
      <td class="aqua">
      <td class="teal">
  <tfoot>
    <tr>
      <td class="navy">
      <td class="blue">
      <td colspan=2>
  <tbody>
    <tr>
      <td class="orng">
      <td colspan=3>
  <tbody>
    <tr>
      <td rowspan=3>
      <td class="yllw">
      <td rowspan=2 colspan=2>
    <tr>
      <td class="pink">
    <tr>
      <td colspan=2>
      <td class="purp">
</table>

<table dir=rtl class="test">
  <thead>
    <tr>
      <td class="teal">
      <td class="aqua">
      <td colspan=2>
  <tfoot>
    <tr>
      <td colspan=2>
      <td class="blue">
      <td class="navy">
  <tbody>
    <tr>
      <td colspan=3>
      <td class="orng">
  <tbody>
    <tr>
      <td rowspan=2 colspan=2>
      <td class="yllw">
      <td rowspan=3>
    <tr>
      <td class="pink">
    <tr>
      <td class="purp">
      <td colspan=2>
</table>

<table class="reference">
  <tr>
    <td class="teal">
    <td rowspan="3">
    <td colspan="2" rowspan="2">
    <td class="purp">
    <td rowspan="2">
  <tr>
    <td class="aqua">
    <td rowspan="2">
  <tr>
    <td rowspan="2">
    <td class="yllw">
    <td class="pink">
    <td class="blue">

  <tr>
    <td class="orng">
    <td colspan="3">
    <td class="navy">
</table>
