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 365x36
          text run at (0,0) width 365: "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 401x17
          text run at (0,0) width 401: "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 172x26
          text run at (0,0) width 172: "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 266x21
          text run at (0,0) width 266: "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 228x26
          text run at (0,0) width 228: "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 266x21
          text run at (0,0) width 266: "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 384x26
          text run at (0,0) width 384: "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 266x21
          text run at (0,0) width 266: "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 373x26
          text run at (0,0) width 373: "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 369x26
          text run at (0,0) width 369: "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 549x30 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
            RenderBlock (anonymous) at (1,1) size 547x28
              RenderText at (5,5) size 521x17
                text run at (5,5) width 521: "The tests all render identically, and this browser may or may not grok CSS2 tables."
          RenderText {#text} at (553,26) size 4x17
            text run at (553,26) width 4: " "
          RenderInline {LABEL} at (0,0) size 627x49
            RenderText {#text} at (557,26) size 70x17
              text run at (557,26) width 70: "Comment: "
            RenderTextControl {INPUT} at (2,55) size 173x24 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
          RenderText {#text} at (177,58) size 4x17
            text run at (177,58) width 4: " "
          RenderButton {INPUT} at (183,54) size 61x27 [color=#2E3436] [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
            RenderBlock (anonymous) at (8,4) size 45x18
              RenderText at (0,0) size 45x17
                text run at (0,0) width 45: "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 73x17 [color=#0000EE]
          RenderText {#text} at (63,0) size 73x17
            text run at (63,0) width 73: "Table Tests"
        RenderText {#text} at (136,0) size 4x17
          text run at (136,0) width 4: "."
      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 98x17 [color=#0000EE]
          RenderText {#text} at (63,0) size 98x17
            text run at (63,0) width 98: "Evil Tests Page"
        RenderText {#text} at (161,0) size 4x17
          text run at (161,0) width 4: "."
      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 167x18
  RenderBlock {DIV} at (3,3) size 167x18
