layer at (0,0) size 785x703
  RenderView at (0,0) size 785x600
layer at (0,0) size 785x703
  RenderBlock {HTML} at (0,0) size 785x703
    RenderBody {BODY} at (8,21) size 769x666
      RenderBlock {H1} at (0,0) size 769x37
        RenderText {#text} at (0,0) size 315x36
          text run at (0,0) width 315: "Generic Table 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 683x17
            text run at (0,0) width 683: "Browsers that are subjected to this test should support CSS1 and the CSS2 table model, and multiple classes."
      RenderBlock {P} at (0,144) size 769x99 [border: (5px double #FF0000)]
        RenderBlock (anonymous) at (13,13) size 743x18
          RenderText {#text} at (0,0) size 233x17
            text run at (0,0) width 233: "If this paragraph breaks the line here:"
        RenderTable {SPAN} at (13,31) size 58x18
          RenderTableSection (anonymous) at (0,0) size 58x18
            RenderTableRow (anonymous) at (0,0) size 58x18
              RenderTableCell (anonymous) at (0,0) size 58x18 [r=0 c=0 rs=1 cs=1]
                RenderText {#text} at (0,0) size 58x17
                  text run at (0,0) width 58: "and here:"
        RenderBlock (anonymous) at (13,49) size 743x36
          RenderText {#text} at (0,0) size 119x17
            text run at (0,0) width 119: "then your browser "
          RenderInline {EM} at (0,0) size 81x17
            RenderText {#text} at (119,0) size 81x17
              text run at (119,0) width 81: "does support"
          RenderText {#text} at (200,0) size 161x17
            text run at (200,0) width 161: " table values on 'display'. "
          RenderInline {STRONG} at (0,0) size 742x35
            RenderText {#text} at (361,0) size 742x35
              text run at (361,0) width 381: "If this paragraphs flows without any undue breaks, then"
              text run at (0,18) width 421: "you should mark your browser as not supporting table values!"
      RenderBlock {H2} at (0,262) size 769x28
        RenderText {#text} at (0,0) size 224x26
          text run at (0,0) width 224: "1. Table -> Table Cell"
      RenderBlock {P} at (0,309) size 769x37
        RenderText {#text} at (0,0) size 755x35
          text run at (0,0) width 755: "Below there should be a gray bar, spanning the width of the BODY, with the text \"Left\" to the left and the text \"Right\","
          text run at (0,18) width 217: "on the same line, flush to the right."
      RenderTable {DIV} at (0,361) size 769x19 [bgcolor=#C0C0C0]
        RenderTableSection (anonymous) at (0,0) size 769x18
          RenderTableRow (anonymous) at (0,0) size 769x18
            RenderTableCell {DIV} at (0,0) size 328x18 [r=0 c=0 rs=1 cs=1]
              RenderText {#text} at (0,0) size 26x17
                text run at (0,0) width 26: "Left"
            RenderTableCell {DIV} at (327,0) size 443x18 [r=0 c=1 rs=1 cs=1]
              RenderText {#text} at (406,0) size 36x17
                text run at (406,0) width 36: "Right"
      RenderBlock {H2} at (0,399) size 769x28
        RenderText {#text} at (0,0) size 154x26
          text run at (0,0) width 154: "Submit Results"
      RenderBlock {FORM} at (0,446) size 769x66
        RenderBlock {P} at (0,0) size 769x65
          RenderText {#text} at (0,8) size 263x17
            text run at (0,8) width 263: "How does your browser fare on this test? "
          RenderMenuList {SELECT} at (265,2) size 279x30 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
            RenderBlock (anonymous) at (1,1) size 277x28
              RenderText at (5,5) size 163x17
                text run at (5,5) width 163: "The test renders correctly."
          RenderText {#text} at (546,8) size 4x17
            text run at (546,8) width 4: " "
          RenderInline {LABEL} at (0,0) size 620x49
            RenderText {#text} at (550,8) size 70x17
              text run at (550,8) width 70: "Comment: "
            RenderTextControl {INPUT} at (2,37) size 173x24 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
          RenderText {#text} at (177,40) size 4x17
            text run at (177,40) width 4: " "
          RenderButton {INPUT} at (183,36) size 61x27 [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,527) size 769x3 [border: (1px inset #000000)]
      RenderBlock {P} at (0,545) 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,579) 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,613) 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,647) size 769x19
        RenderText {#text} at (0,0) size 182x17
          text run at (0,0) width 182: "Last updated in March 1999."
layer at (13,508) size 167x18
  RenderBlock {DIV} at (3,3) size 167x18
