Peter, you are propably already aware of the fact that tclwebtest can run the validator 'tidy' on the result pages. I just saw this thread and added a -tidy switch to the tclwebtest commandline (in cvs).
Example output:
tils@tp:~/tclwebtest$ ./tclwebtest -tidy selftest/select_many.test
----- START: selftest/select_many.test at [30/May/2003:21:20:52] -----
--- do_request for file://selftest/select_many.html
--- TIDY START ---
line 12 column 5 - Warning: <form> attribute "action" lacks value
line 28 column 6 - Warning: <form> attribute "action" lacks value
line 58 column 6 - Warning: <form> attribute "action" lacks value
--- TIDY FINISH. WARNINGS. URL: file://selftest/select_many.html ---
V: {second option} 1
----- SUCCESS: selftest/select_many.test (took 0s) -----
DURATION: 0
tils@tp:~/tclwebtest$