layer at (0,0) size 800x2672
  RenderView at (0,0) size 800x600
layer at (0,0) size 800x2672
  RenderBlock {HTML} at (0,0) size 800x2673
    RenderBody {BODY} at (8,21) size 784x2636 [bgcolor=#FFFFFF]
      RenderBlock {H1} at (0,0) size 784x38
        RenderText {#text} at (0,1) size 361x36
          text run at (0,1) width 361: "Table Inheritance Tests - 1"
      RenderBlock {P} at (0,59) size 784x21
        RenderText {#text} at (0,0) size 397x19
          text run at (0,0) width 397: "If you have any comments to make regarding this test, e-mail "
        RenderInline {A} at (0,0) size 186x19 [color=#0000EE]
          RenderText {#text} at (396,0) size 186x19
            text run at (396,0) width 186: "py8ieh=eviltests@bath.ac.uk"
        RenderText {#text} at (581,0) size 5x19
          text run at (581,0) width 5: "."
      RenderBlock {DL} at (0,95) size 784x41
        RenderBlock {DT} at (0,0) size 784x20
          RenderText {#text} at (0,0) size 83x19
            text run at (0,0) width 83: "Prerequisites"
        RenderBlock {DD} at (40,20) size 744x20
          RenderText {#text} at (0,0) size 560x19
            text run at (0,0) width 560: "Browsers that are subjected to this test should support CSS1 and the CSS2 table model."
      RenderBlock {H2} at (0,155) size 784x31
        RenderText {#text} at (0,1) size 104x28
          text run at (0,1) width 104: "0. Control"
      RenderBlock {P} at (0,205) size 784x21
        RenderText {#text} at (0,0) size 411x19
          text run at (0,0) width 411: "The following four tests should look identical, namely, like this:"
      RenderBlock {DIV} at (0,241) size 784x77 [color=#FFFFFF] [bgcolor=#000000]
        RenderText {#text} at (0,0) size 761x76
          text run at (0,0) width 761: "This text should be white on black, bold, twice the"
          text run at (0,38) width 523: "size of normal text, and sans serif."
      RenderBlock {P} at (0,333) size 784x81
        RenderText {#text} at (0,0) size 768x79
          text run at (0,0) width 757: "There are some minor exceptions, however. The x.1 tests should fill the viewport width, the other tests need not. Also,"
          text run at (0,20) width 766: "browsers attempting to have backwards compatability with the buggy behaviour of legacy browsers may omit to inherit"
          text run at (0,40) width 768: "the color and font-size in 1.1, which will make 1.1 (but only 1.1) unreadable. That is the problem with not following the"
          text run at (0,60) width 39: "specs."
      RenderBlock {H2} at (0,433) size 784x31
        RenderText {#text} at (0,1) size 168x28
          text run at (0,1) width 168: "1. HTML Tables"
      RenderBlock {H3} at (0,483) size 784x24
        RenderText {#text} at (0,0) size 247x22
          text run at (0,0) width 247: "1.1 Inheritance through a DIV"
      RenderBlock {DIV} at (0,524) size 784x83 [color=#FFFFFF] [bgcolor=#000000]
        RenderTable {TABLE} at (0,0) size 784x82
          RenderTableSection {TBODY} at (0,0) size 784x82
            RenderTableRow {TR} at (0,2) size 784x78
              RenderTableCell {TD} at (2,2) size 780x78 [r=0 c=0 rs=1 cs=1]
                RenderText {#text} at (1,1) size 761x76
                  text run at (1,1) width 761: "This text should be white on black, bold, twice the"
                  text run at (1,39) width 523: "size of normal text, and sans serif."
      RenderBlock {H3} at (0,625) size 784x24
        RenderText {#text} at (0,0) size 263x22
          text run at (0,0) width 263: "1.2 Styles set directly on TABLE"
      RenderTable {TABLE} at (0,667) size 784x83 [color=#FFFFFF] [bgcolor=#000000]
        RenderTableSection {TBODY} at (0,0) size 784x82
          RenderTableRow {TR} at (0,2) size 784x78
            RenderTableCell {TD} at (2,2) size 780x78 [r=0 c=0 rs=1 cs=1]
              RenderText {#text} at (1,1) size 761x76
                text run at (1,1) width 761: "This text should be white on black, bold, twice the"
                text run at (1,39) width 523: "size of normal text, and sans serif."
      RenderBlock {H2} at (0,769) size 784x31
        RenderText {#text} at (0,1) size 226x28
          text run at (0,1) width 226: "2. Explicit CSS Tables"
      RenderBlock {H3} at (0,819) size 784x24
        RenderText {#text} at (0,0) size 247x22
          text run at (0,0) width 247: "2.1 Inheritance through a DIV"
      RenderBlock {DIV} at (0,860) size 784x77 [color=#FFFFFF] [bgcolor=#000000]
        RenderTable {DIV} at (0,0) size 784x76
          RenderTableSection (anonymous) at (0,0) size 784x76
            RenderTableRow {DIV} at (0,0) size 784x76
              RenderTableCell {DIV} at (0,0) size 784x76 [r=0 c=0 rs=1 cs=1]
                RenderText {#text} at (0,0) size 761x76
                  text run at (0,0) width 761: "This text should be white on black, bold, twice the"
                  text run at (0,38) width 523: "size of normal text, and sans serif."
      RenderBlock {H3} at (0,955) size 784x24
        RenderText {#text} at (0,0) size 263x22
          text run at (0,0) width 263: "2.2 Styles set directly on TABLE"
      RenderTable {DIV} at (0,997) size 784x77 [color=#FFFFFF] [bgcolor=#000000]
        RenderTableSection (anonymous) at (0,0) size 784x76
          RenderTableRow {DIV} at (0,0) size 784x76
            RenderTableCell {DIV} at (0,0) size 784x76 [r=0 c=0 rs=1 cs=1]
              RenderText {#text} at (0,0) size 761x76
                text run at (0,0) width 761: "This text should be white on black, bold, twice the"
                text run at (0,38) width 523: "size of normal text, and sans serif."
      RenderBlock {H3} at (0,1091) size 784x24
        RenderText {#text} at (0,0) size 247x22
          text run at (0,0) width 247: "2.3 Styles set directly on ROW"
      RenderTable {DIV} at (0,1133) size 784x77
        RenderTableSection (anonymous) at (0,0) size 784x76
          RenderTableRow {DIV} at (0,0) size 784x76 [color=#FFFFFF] [bgcolor=#000000]
            RenderTableCell {DIV} at (0,0) size 784x76 [r=0 c=0 rs=1 cs=1]
              RenderText {#text} at (0,0) size 761x76
                text run at (0,0) width 761: "This text should be white on black, bold, twice the"
                text run at (0,38) width 523: "size of normal text, and sans serif."
      RenderBlock {H3} at (0,1228) size 784x24
        RenderText {#text} at (0,0) size 251x22
          text run at (0,0) width 251: "2.4 Styles set directly on CELL"
      RenderTable {DIV} at (0,1270) size 784x77
        RenderTableSection (anonymous) at (0,0) size 784x76
          RenderTableRow {DIV} at (0,0) size 784x76
            RenderTableCell {DIV} at (0,0) size 784x76 [color=#FFFFFF] [bgcolor=#000000] [r=0 c=0 rs=1 cs=1]
              RenderText {#text} at (0,0) size 761x76
                text run at (0,0) width 761: "This text should be white on black, bold, twice the"
                text run at (0,38) width 523: "size of normal text, and sans serif."
      RenderBlock {H2} at (0,1365) size 784x31
        RenderText {#text} at (0,1) size 381x28
          text run at (0,1) width 381: "3. Implicit CSS Tables (table explicit)"
      RenderBlock {H3} at (0,1415) size 784x24
        RenderText {#text} at (0,0) size 247x22
          text run at (0,0) width 247: "3.1 Inheritance through a DIV"
      RenderBlock {DIV} at (0,1457) size 784x77 [color=#FFFFFF] [bgcolor=#000000]
        RenderTable {DIV} at (0,0) size 784x76
          RenderTableSection (anonymous) at (0,0) size 784x76
            RenderTableRow (anonymous) at (0,0) size 784x76
              RenderTableCell (anonymous) at (0,0) size 784x76 [r=0 c=0 rs=1 cs=1]
                RenderText {#text} at (0,0) size 761x76
                  text run at (0,0) width 761: "This text should be white on black, bold, twice the"
                  text run at (0,38) width 523: "size of normal text, and sans serif."
      RenderBlock {H3} at (0,1552) size 784x24
        RenderText {#text} at (0,0) size 263x22
          text run at (0,0) width 263: "3.2 Styles set directly on TABLE"
      RenderTable {DIV} at (0,1594) size 784x77 [color=#FFFFFF] [bgcolor=#000000]
        RenderTableSection (anonymous) at (0,0) size 784x76
          RenderTableRow (anonymous) at (0,0) size 784x76
            RenderTableCell (anonymous) at (0,0) size 784x76 [r=0 c=0 rs=1 cs=1]
              RenderText {#text} at (0,0) size 761x76
                text run at (0,0) width 761: "This text should be white on black, bold, twice the"
                text run at (0,38) width 523: "size of normal text, and sans serif."
      RenderBlock {H2} at (0,1689) size 784x31
        RenderText {#text} at (0,1) size 370x28
          text run at (0,1) width 370: "4. Implicit CSS Tables (row explicit)"
      RenderBlock {H3} at (0,1739) size 784x24
        RenderText {#text} at (0,0) size 247x22
          text run at (0,0) width 247: "4.1 Inheritance through a DIV"
      RenderBlock {DIV} at (0,1781) size 784x77 [color=#FFFFFF] [bgcolor=#000000]
        RenderTable at (0,0) size 784x76
          RenderTableSection (anonymous) at (0,0) size 784x76
            RenderTableRow {DIV} at (0,0) size 784x76
              RenderTableCell (anonymous) at (0,0) size 784x76 [r=0 c=0 rs=1 cs=1]
                RenderText {#text} at (0,0) size 761x76
                  text run at (0,0) width 761: "This text should be white on black, bold, twice the"
                  text run at (0,38) width 523: "size of normal text, and sans serif."
      RenderBlock {H3} at (0,1876) size 784x24
        RenderText {#text} at (0,0) size 247x22
          text run at (0,0) width 247: "4.2 Styles set directly on ROW"
      RenderTable at (0,1918) size 784x76
        RenderTableSection (anonymous) at (0,0) size 784x76
          RenderTableRow {DIV} at (0,0) size 784x76 [color=#FFFFFF] [bgcolor=#000000]
            RenderTableCell (anonymous) at (0,0) size 784x76 [r=0 c=0 rs=1 cs=1]
              RenderText {#text} at (0,0) size 761x76
                text run at (0,0) width 761: "This text should be white on black, bold, twice the"
                text run at (0,38) width 523: "size of normal text, and sans serif."
      RenderBlock {H2} at (0,2013) size 784x31
        RenderText {#text} at (0,1) size 365x28
          text run at (0,1) width 365: "5. Implicit CSS Tables (cell explicit)"
      RenderBlock {H3} at (0,2063) size 784x24
        RenderText {#text} at (0,0) size 247x22
          text run at (0,0) width 247: "5.1 Inheritance through a DIV"
      RenderBlock {DIV} at (0,2105) size 784x77 [color=#FFFFFF] [bgcolor=#000000]
        RenderTable at (0,0) size 784x76
          RenderTableSection (anonymous) at (0,0) size 784x76
            RenderTableRow (anonymous) at (0,0) size 784x76
              RenderTableCell {DIV} at (0,0) size 784x76 [r=0 c=0 rs=1 cs=1]
                RenderText {#text} at (0,0) size 761x76
                  text run at (0,0) width 761: "This text should be white on black, bold, twice the"
                  text run at (0,38) width 523: "size of normal text, and sans serif."
      RenderBlock {H3} at (0,2200) size 784x24
        RenderText {#text} at (0,0) size 251x22
          text run at (0,0) width 251: "5.2 Styles set directly on CELL"
      RenderTable at (0,2241) size 784x77
        RenderTableSection (anonymous) at (0,0) size 784x76
          RenderTableRow (anonymous) at (0,0) size 784x76
            RenderTableCell {DIV} at (0,0) size 784x76 [color=#FFFFFF] [bgcolor=#000000] [r=0 c=0 rs=1 cs=1]
              RenderText {#text} at (0,0) size 761x76
                text run at (0,0) width 761: "This text should be white on black, bold, twice the"
                text run at (0,38) width 523: "size of normal text, and sans serif."
      RenderBlock {H2} at (0,2337) size 784x31
        RenderText {#text} at (0,1) size 156x28
          text run at (0,1) width 156: "Submit Results"
      RenderBlock {FORM} at (0,2387) size 784x50
        RenderBlock {P} at (0,0) size 784x49
          RenderText {#text} at (0,1) size 267x19
            text run at (0,1) width 267: "How does your browser fare on this test? "
          RenderMenuList {SELECT} at (268,2) size 436x20 [bgcolor=#FFFFFF02] [border: (1px solid #4C4C4C)]
            RenderBlock (anonymous) at (6,3) size 423x14
              RenderText at (0,0) size 403x14
                text run at (0,0) width 403: "The tests all render identically, and this browser may or may not grok CSS2 tables."
          RenderText {#text} at (705,1) size 5x19
            text run at (705,1) width 5: " "
          RenderInline {LABEL} at (0,0) size 782x43
            RenderText {#text} at (709,1) size 73x19
              text run at (709,1) width 73: "Comment: "
            RenderTextControl {INPUT} at (2,26) size 136x22 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
          RenderText {#text} at (139,25) size 5x19
            text run at (139,25) width 5: " "
          RenderButton {INPUT} at (145,26) size 59x20 [bgcolor=#FFFFFF02] [border: (1px solid #4C4C4C)]
            RenderBlock (anonymous) at (12,3) size 35x14
              RenderText at (0,0) size 35x14
                text run at (0,0) width 35: "Submit"
          RenderText {#text} at (0,0) size 0x0
      RenderBlock {HR} at (0,2452) size 784x3 [border: (1px inset #000000)]
      RenderBlock {P} at (0,2470) size 784x21
        RenderText {#text} at (0,0) size 64x19
          text run at (0,0) width 64: "Up to the "
        RenderInline {A} at (0,0) size 73x19 [color=#0000EE]
          RenderText {#text} at (63,0) size 73x19
            text run at (63,0) width 73: "Table Tests"
        RenderText {#text} at (135,0) size 5x19
          text run at (135,0) width 5: "."
      RenderBlock {P} at (0,2506) size 784x21
        RenderText {#text} at (0,0) size 64x19
          text run at (0,0) width 64: "Up to the "
        RenderInline {A} at (0,0) size 99x19 [color=#0000EE]
          RenderText {#text} at (63,0) size 99x19
            text run at (63,0) width 99: "Evil Tests Page"
        RenderText {#text} at (161,0) size 5x19
          text run at (161,0) width 5: "."
      RenderBlock {P} at (0,2542) size 784x21
        RenderText {#text} at (0,0) size 63x19
          text run at (0,0) width 63: "Bugzilla: "
        RenderInline {A} at (0,0) size 64x19 [color=#0000EE]
          RenderText {#text} at (62,0) size 64x19
            text run at (62,0) width 64: "Bug 1044"
      RenderBlock {P} at (0,2578) size 784x21
        RenderText {#text} at (0,0) size 177x19
          text run at (0,0) width 177: "This page is maintained by "
        RenderInline {A} at (0,0) size 79x19 [color=#0000EE]
          RenderText {#text} at (176,0) size 79x19
            text run at (176,0) width 79: "Ian Hickson"
        RenderText {#text} at (254,0) size 10x19
          text run at (254,0) width 10: " ("
        RenderInline {A} at (0,0) size 125x19 [color=#0000EE]
          RenderText {#text} at (263,0) size 125x19
            text run at (263,0) width 125: "py8ieh@bath.ac.uk"
        RenderText {#text} at (387,0) size 10x19
          text run at (387,0) width 10: ")."
      RenderBlock {P} at (0,2614) size 784x21
        RenderText {#text} at (0,0) size 185x19
          text run at (0,0) width 185: "Last updated in March 1999."
layer at (17,2438) size 122x14
  RenderBlock {DIV} at (6,3) size 123x15
