I'd say this is a good start, but it's a little rough around the edges. The module is way too verbose when the page has validity errors. It prints them all out with every test. It also reports some erroneous validity errors, but that might not be this module's fault, but of HTML::Parser and the libraries it depends upon. (I.e., in this specific case, it seems to interpret the "name" attribute of form elements as having the same meaning as the "id" attribute, which doesn't appear as part of the HTML standard according to my reading.)
However, as for the module itself, the tests provided are really a good start, but it would be nice to see a few more. The no_tag() test should be able to make sure that no tag exists with certain attributes rather than just no_tag() named X exists. There's also no way to verify the textual contents of a specific tag, that I can find. Finally, the documentation for the module is sparse. The only way to figure out what the module is supposed to do is by reading the SYNOPSIS and then the source. There should be more.