You can usually trip the html error with a <form:error/> or even an <iframe/> or any other unapproved-for-self-closing tag.
An easy way to see what happens is to download the twitter-bootstrap library ( http://twitter.github.com ) along with the 'docs' -- and insert a self-closing <iframe /> tag about 2/3 down one of the lengthier pages. That should cause Safari and Firefox to both choke and stop rendering the page. It's been hit&miss for me on recreating it with a form:error tag - I think it just happens to be a function of the specific browser release version and the complexity of the underlying html/css.
In any event, the issue is that (according to the specs) while <form:error /> is valid for XHTML it is invalid for HTML5 . <form:error></form:error> should work on both.
This is only an issue if you're not parsing the original state of the form with htmlfill , or if you're having a front-end team mark up standalone html pages before passing off to the backend -- but it can pop up.
As long as the tests pass, I'm inclined to accept this. We'll need to work out how we can move the change to github though since we are closing down this repo and going to https://github.com/formencode/formencode