layer at (0,0) size 785x2620
  RenderView at (0,0) size 785x600
layer at (0,0) size 785x2620
  RenderBlock {HTML} at (0,0) size 785x2621
    RenderBody {BODY} at (8,21) size 769x2584 [bgcolor=#FFFFFF]
      RenderBlock {H1} at (0,0) size 769x37
        RenderText {#text} at (0,0) size 360x36
          text run at (0,0) width 360: "Table Inheritance Tests - 1"
      RenderBlock {P} at (0,58) size 769x19
        RenderText {#text} at (0,0) size 387x17
          text run at (0,0) width 387: "If you have any comments to make regarding this test, e-mail "
        RenderInline {A} at (0,0) size 182x17 [color=#0000EE]
          RenderText {#text} at (387,0) size 182x17
            text run at (387,0) width 182: "py8ieh=eviltests@bath.ac.uk"
        RenderText {#text} at (569,0) size 4x17
          text run at (569,0) width 4: "."
      RenderBlock {DL} at (0,92) size 769x37
        RenderBlock {DT} at (0,0) size 769x18
          RenderText {#text} at (0,0) size 80x17
            text run at (0,0) width 80: "Prerequisites"
        RenderBlock {DD} at (40,18) size 729x18
          RenderText {#text} at (0,0) size 550x17
            text run at (0,0) width 550: "Browsers that are subjected to this test should support CSS1 and the CSS2 table model."
      RenderBlock {H2} at (0,148) size 769x28
        RenderText {#text} at (0,0) size 104x26
          text run at (0,0) width 104: "0. Control"
      RenderBlock {P} at (0,195) size 769x19
        RenderText {#text} at (0,0) size 400x17
          text run at (0,0) width 400: "The following four tests should look identical, namely, like this:"
      RenderBlock {DIV} at (0,229) size 769x75 [color=#FFFFFF] [bgcolor=#000000]
        RenderText {#text} at (0,0) size 716x73
          text run at (0,0) width 716: "This text should be white on black, bold, twice"
          text run at (0,37) width 587: "the size of normal text, and sans serif."
      RenderBlock {P} at (0,319) size 769x73
        RenderText {#text} at (0,0) size 754x71
          text run at (0,0) width 744: "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,18) width 750: "browsers attempting to have backwards compatability with the buggy behaviour of legacy browsers may omit to inherit"
          text run at (0,36) width 754: "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,54) width 38: "specs."
      RenderBlock {H2} at (0,411) size 769x28
        RenderText {#text} at (0,0) size 169x26
          text run at (0,0) width 169: "1. HTML Tables"
      RenderBlock {H3} at (0,458) size 769x23
        RenderText {#text} at (0,0) size 250x21
          text run at (0,0) width 250: "1.1 Inheritance through a DIV"
      RenderBlock {DIV} at (0,498) size 769x81 [color=#FFFFFF] [bgcolor=#000000]
        RenderTable {TABLE} at (0,0) size 769x80
          RenderTableSection {TBODY} at (0,0) size 769x80
            RenderTableRow {TR} at (0,2) size 769x76
              RenderTableCell {TD} at (2,2) size 765x76 [r=0 c=0 rs=1 cs=1]
                RenderText {#text} at (1,1) size 716x73
                  text run at (1,1) width 716: "This text should be white on black, bold, twice"
                  text run at (1,38) width 587: "the size of normal text, and sans serif."
      RenderBlock {H3} at (0,597) size 769x23
        RenderText {#text} at (0,0) size 265x21
          text run at (0,0) width 265: "1.2 Styles set directly on TABLE"
      RenderTable {TABLE} at (0,638) size 769x81 [color=#FFFFFF] [bgcolor=#000000]
        RenderTableSection {TBODY} at (0,0) size 769x80
          RenderTableRow {TR} at (0,2) size 769x76
            RenderTableCell {TD} at (2,2) size 765x76 [r=0 c=0 rs=1 cs=1]
              RenderText {#text} at (1,1) size 716x73
                text run at (1,1) width 716: "This text should be white on black, bold, twice"
                text run at (1,38) width 587: "the size of normal text, and sans serif."
      RenderBlock {H2} at (0,738) size 769x28
        RenderText {#text} at (0,0) size 226x26
          text run at (0,0) width 226: "2. Explicit CSS Tables"
      RenderBlock {H3} at (0,785) size 769x23
        RenderText {#text} at (0,0) size 250x21
          text run at (0,0) width 250: "2.1 Inheritance through a DIV"
      RenderBlock {DIV} at (0,825) size 769x75 [color=#FFFFFF] [bgcolor=#000000]
        RenderTable {DIV} at (0,0) size 769x74
          RenderTableSection (anonymous) at (0,0) size 769x74
            RenderTableRow {DIV} at (0,0) size 769x74
              RenderTableCell {DIV} at (0,0) size 769x74 [r=0 c=0 rs=1 cs=1]
                RenderText {#text} at (0,0) size 716x73
                  text run at (0,0) width 716: "This text should be white on black, bold, twice"
                  text run at (0,37) width 587: "the size of normal text, and sans serif."
      RenderBlock {H3} at (0,918) size 769x23
        RenderText {#text} at (0,0) size 265x21
          text run at (0,0) width 265: "2.2 Styles set directly on TABLE"
      RenderTable {DIV} at (0,959) size 769x75 [color=#FFFFFF] [bgcolor=#000000]
        RenderTableSection (anonymous) at (0,0) size 769x74
          RenderTableRow {DIV} at (0,0) size 769x74
            RenderTableCell {DIV} at (0,0) size 769x74 [r=0 c=0 rs=1 cs=1]
              RenderText {#text} at (0,0) size 716x73
                text run at (0,0) width 716: "This text should be white on black, bold, twice"
                text run at (0,37) width 587: "the size of normal text, and sans serif."
      RenderBlock {H3} at (0,1051) size 769x23
        RenderText {#text} at (0,0) size 248x21
          text run at (0,0) width 248: "2.3 Styles set directly on ROW"
      RenderTable {DIV} at (0,1092) size 769x75
        RenderTableSection (anonymous) at (0,0) size 769x74
          RenderTableRow {DIV} at (0,0) size 769x74 [color=#FFFFFF] [bgcolor=#000000]
            RenderTableCell {DIV} at (0,0) size 769x74 [r=0 c=0 rs=1 cs=1]
              RenderText {#text} at (0,0) size 716x73
                text run at (0,0) width 716: "This text should be white on black, bold, twice"
                text run at (0,37) width 587: "the size of normal text, and sans serif."
      RenderBlock {H3} at (0,1185) size 769x23
        RenderText {#text} at (0,0) size 253x21
          text run at (0,0) width 253: "2.4 Styles set directly on CELL"
      RenderTable {DIV} at (0,1226) size 769x75
        RenderTableSection (anonymous) at (0,0) size 769x74
          RenderTableRow {DIV} at (0,0) size 769x74
            RenderTableCell {DIV} at (0,0) size 769x74 [color=#FFFFFF] [bgcolor=#000000] [r=0 c=0 rs=1 cs=1]
              RenderText {#text} at (0,0) size 716x73
                text run at (0,0) width 716: "This text should be white on black, bold, twice"
                text run at (0,37) width 587: "the size of normal text, and sans serif."
      RenderBlock {H2} at (0,1319) size 769x28
        RenderText {#text} at (0,0) size 382x26
          text run at (0,0) width 382: "3. Implicit CSS Tables (table explicit)"
      RenderBlock {H3} at (0,1366) size 769x23
        RenderText {#text} at (0,0) size 250x21
          text run at (0,0) width 250: "3.1 Inheritance through a DIV"
      RenderBlock {DIV} at (0,1407) size 769x75 [color=#FFFFFF] [bgcolor=#000000]
        RenderTable {DIV} at (0,0) size 769x74
          RenderTableSection (anonymous) at (0,0) size 769x74
            RenderTableRow (anonymous) at (0,0) size 769x74
              RenderTableCell (anonymous) at (0,0) size 769x74 [r=0 c=0 rs=1 cs=1]
                RenderText {#text} at (0,0) size 716x73
                  text run at (0,0) width 716: "This text should be white on black, bold, twice"
                  text run at (0,37) width 587: "the size of normal text, and sans serif."
      RenderBlock {H3} at (0,1500) size 769x23
        RenderText {#text} at (0,0) size 265x21
          text run at (0,0) width 265: "3.2 Styles set directly on TABLE"
      RenderTable {DIV} at (0,1541) size 769x75 [color=#FFFFFF] [bgcolor=#000000]
        RenderTableSection (anonymous) at (0,0) size 769x74
          RenderTableRow (anonymous) at (0,0) size 769x74
            RenderTableCell (anonymous) at (0,0) size 769x74 [r=0 c=0 rs=1 cs=1]
              RenderText {#text} at (0,0) size 716x73
                text run at (0,0) width 716: "This text should be white on black, bold, twice"
                text run at (0,37) width 587: "the size of normal text, and sans serif."
      RenderBlock {H2} at (0,1634) size 769x28
        RenderText {#text} at (0,0) size 371x26
          text run at (0,0) width 371: "4. Implicit CSS Tables (row explicit)"
      RenderBlock {H3} at (0,1681) size 769x23
        RenderText {#text} at (0,0) size 250x21
          text run at (0,0) width 250: "4.1 Inheritance through a DIV"
      RenderBlock {DIV} at (0,1722) size 769x75 [color=#FFFFFF] [bgcolor=#000000]
        RenderTable at (0,0) size 769x74
          RenderTableSection (anonymous) at (0,0) size 769x74
            RenderTableRow {DIV} at (0,0) size 769x74
              RenderTableCell (anonymous) at (0,0) size 769x74 [r=0 c=0 rs=1 cs=1]
                RenderText {#text} at (0,0) size 716x73
                  text run at (0,0) width 716: "This text should be white on black, bold, twice"
                  text run at (0,37) width 587: "the size of normal text, and sans serif."
      RenderBlock {H3} at (0,1815) size 769x23
        RenderText {#text} at (0,0) size 248x21
          text run at (0,0) width 248: "4.2 Styles set directly on ROW"
      RenderTable at (0,1856) size 769x74
        RenderTableSection (anonymous) at (0,0) size 769x74
          RenderTableRow {DIV} at (0,0) size 769x74 [color=#FFFFFF] [bgcolor=#000000]
            RenderTableCell (anonymous) at (0,0) size 769x74 [r=0 c=0 rs=1 cs=1]
              RenderText {#text} at (0,0) size 716x73
                text run at (0,0) width 716: "This text should be white on black, bold, twice"
                text run at (0,37) width 587: "the size of normal text, and sans serif."
      RenderBlock {H2} at (0,1949) size 769x28
        RenderText {#text} at (0,0) size 367x26
          text run at (0,0) width 367: "5. Implicit CSS Tables (cell explicit)"
      RenderBlock {H3} at (0,1996) size 769x23
        RenderText {#text} at (0,0) size 250x21
          text run at (0,0) width 250: "5.1 Inheritance through a DIV"
      RenderBlock {DIV} at (0,2037) size 769x75 [color=#FFFFFF] [bgcolor=#000000]
        RenderTable at (0,0) size 769x74
          RenderTableSection (anonymous) at (0,0) size 769x74
            RenderTableRow (anonymous) at (0,0) size 769x74
              RenderTableCell {DIV} at (0,0) size 769x74 [r=0 c=0 rs=1 cs=1]
                RenderText {#text} at (0,0) size 716x73
                  text run at (0,0) width 716: "This text should be white on black, bold, twice"
                  text run at (0,37) width 587: "the size of normal text, and sans serif."
      RenderBlock {H3} at (0,2130) size 769x23
        RenderText {#text} at (0,0) size 253x21
          text run at (0,0) width 253: "5.2 Styles set directly on CELL"
      RenderTable at (0,2170) size 769x75
        RenderTableSection (anonymous) at (0,0) size 769x74
          RenderTableRow (anonymous) at (0,0) size 769x74
            RenderTableCell {DIV} at (0,0) size 769x74 [color=#FFFFFF] [bgcolor=#000000] [r=0 c=0 rs=1 cs=1]
              RenderText {#text} at (0,0) size 716x73
                text run at (0,0) width 716: "This text should be white on black, bold, twice"
                text run at (0,37) width 587: "the size of normal text, and sans serif."
      RenderBlock {H2} at (0,2264) size 769x28
        RenderText {#text} at (0,0) size 154x26
          text run at (0,0) width 154: "Submit Results"
      RenderBlock {FORM} at (0,2311) size 769x84
        RenderBlock {P} at (0,0) size 769x83
          RenderText {#text} at (0,0) size 259x17
            text run at (0,0) width 259: "How does your browser fare on this test?"
          RenderMenuList {SELECT} at (2,20) size 617x30 [color=#2E3436] [bgcolor=#FFFFFF] [border: (1px solid #2E3436)]
            RenderBlock (anonymous) at (1,1) size 615x28
              RenderText at (9,5) size 581x17
                text run at (9,5) width 581: "The tests all render identically, and this browser may or may not grok CSS2 tables."
          RenderText {#text} at (621,26) size 4x17
            text run at (621,26) width 4: " "
          RenderInline {LABEL} at (0,0) size 695x49
            RenderText {#text} at (625,26) size 70x17
              text run at (625,26) width 70: "Comment: "
            RenderTextControl {INPUT} at (2,55) size 191x24 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
          RenderText {#text} at (195,58) size 4x17
            text run at (195,58) width 4: " "
          RenderButton {INPUT} at (201,54) size 66x27 [color=#2E3436] [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
            RenderBlock (anonymous) at (8,4) size 50x18
              RenderText at (0,0) size 50x17
                text run at (0,0) width 50: "Submit"
          RenderText {#text} at (0,0) size 0x0
      RenderBlock {HR} at (0,2410) size 769x3 [border: (1px inset #000000)]
      RenderBlock {P} at (0,2428) size 769x19
        RenderText {#text} at (0,0) size 63x17
          text run at (0,0) width 63: "Up to the "
        RenderInline {A} at (0,0) size 71x17 [color=#0000EE]
          RenderText {#text} at (63,0) size 71x17
            text run at (63,0) width 71: "Table Tests"
        RenderText {#text} at (133,0) size 5x17
          text run at (133,0) width 5: "."
      RenderBlock {P} at (0,2462) size 769x19
        RenderText {#text} at (0,0) size 63x17
          text run at (0,0) width 63: "Up to the "
        RenderInline {A} at (0,0) size 97x17 [color=#0000EE]
          RenderText {#text} at (63,0) size 97x17
            text run at (63,0) width 97: "Evil Tests Page"
        RenderText {#text} at (159,0) size 5x17
          text run at (159,0) width 5: "."
      RenderBlock {P} at (0,2496) size 769x19
        RenderText {#text} at (0,0) size 61x17
          text run at (0,0) width 61: "Bugzilla: "
        RenderInline {A} at (0,0) size 63x17 [color=#0000EE]
          RenderText {#text} at (61,0) size 63x17
            text run at (61,0) width 63: "Bug 1044"
      RenderBlock {P} at (0,2530) size 769x19
        RenderText {#text} at (0,0) size 173x17
          text run at (0,0) width 173: "This page is maintained by "
        RenderInline {A} at (0,0) size 77x17 [color=#0000EE]
          RenderText {#text} at (173,0) size 77x17
            text run at (173,0) width 77: "Ian Hickson"
        RenderText {#text} at (250,0) size 9x17
          text run at (250,0) width 9: " ("
        RenderInline {A} at (0,0) size 123x17 [color=#0000EE]
          RenderText {#text} at (259,0) size 123x17
            text run at (259,0) width 123: "py8ieh@bath.ac.uk"
        RenderText {#text} at (382,0) size 9x17
          text run at (382,0) width 9: ")."
      RenderBlock {P} at (0,2564) size 769x19
        RenderText {#text} at (0,0) size 182x17
          text run at (0,0) width 182: "Last updated in March 1999."
layer at (13,2391) size 185x18
  RenderBlock {DIV} at (3,3) size 185x18
