Html – URI doesn’t validate on W3C Markup Validator, identical direct input does

htmlruby-on-railsw3cw3c-validation

I'm trying to get a site to validate as HTML5 on the W3C Markup Validator. When I use the "Validate by URI" option, it generates a ton of errors, but when I copy and paste the HTML into the "Validate by direct input", it validates perfectly. When I run a diff on the two sources returned by the validator, the only differences are the Rails authenticity tokens (random strings Rails uses to validate forms – this is expected).

I've noticed that under both circumstances, I get a "No Character encoding declared at document level" warning, which I've seen on other sites but always assumed was a bug in the HTML5 validator, as I have an appropriate meta tag:

<meta charset="UTF-8">

Most of the errors are something along the lines of the following:

  • Quote " in attribute name. Probable cause: Matching quote missing somewhere earlier.
  • Bad value for attribute for on element label: An ID must not be the empty string.
  • Attribute "password" not allowed on element label at this point.

It acts like there's a mismatched quote, but I can't find anything wrong, and again, the identical direct input validates perfectly.

Any clue what's going on here? Thanks!

Best Answer

This is a known bug in the W3C Perl layer. Validator.nu has the same back end but without the Perl layer.

Related Topic