Videos
» npm install w3c-html-validator
HTTP Error 500 is an Internal Server Error, so that will be their fault. Try validator.nu whilst you are waiting.
W3C validator maintainer here. Tip: Next time you see that message, try validating your document directly at http://validator.w3.org/nu/ instead.
Because if you see that 500 error it means the validator is trying to reach the HTML5 backend, which runs as a separate service/process responding at localhost:8888 on the validator host.
But we actually run several validator hosts, round-robin, so if you see that 500 error it could mean that only one of the HTML5 backends on one of the hosts is temporarily down. And if you go to http://validator.w3.org/nu/ you might get lucky and hit a different host and it'll work.
On the other hand if you get a 404 from http://validator.w3.org/nu/ it most likely means you caught me in the middle of restarting/redeploying the W3C HTML5 validator backends to pull in changes I've made to the sources from https://github.com/validator/validator
But that never takes me more than a few minutes, so on your end you should never be seeing that 500 error for more than, say, 10 minutes at most. So if/when you do see it for any longer than that, please report it either by tweeting to @w3c or @sideshowbarker on twitter, or pinging me on IRC (MikeSmith on #whatwg or #w3c on irc.freenode.net).
Maintainer of the current W3C HTML Checker (validator) here. I think it's important to understand the intended purpose of the current HTML checker, which is different from the purpose of the legacy W3C Markup Validator.
The purpose of the checker is documented at https://validator.w3.org/nu/about.html#why-validate:
The core reason to run your HTML documents through a conformance checker is simple: To catch unintended mistakes—mistakes you might have otherwise missed—so that you can fix them.
Beyond that, some document-conformance requirements (validity rules) in the HTML spec are there to help you and the users of your documents avoid certain kinds of potential problems.
There are some markup cases defined as errors because they are potential problems for accessibility, usability, interoperability, security, or maintainability—or because they can result in poor performance, or that might cause your scripts to fail in ways that are hard to troubleshoot. Along with those, some markup cases are defined as errors because they can cause you to run into potential problems in HTML parsing and error-handling behavior—so that, say, you’d end up with some unintuitive, unexpected result in the DOM
Validating your documents alerts you to those potential problems.
So as far as your question about "are better approaches to ensure contemporary standards-compliant markup", the answer is that it's not an either-or thing; there are a variety of approaches and the W3C HTML Checker is just one of them, and its goal isn't to be the single way to determine anything but instead to just help you catch mistakes you might otherwise miss and that might cause unexpected problems for your users.
As far as ways to get alerted to specific device issues or browser-implementation issues, we don’t have good automated checking tools for that, but a couple of things which are huge help there are:
https://caniuse.com/ — detailed information about the level of support for particular web-runtime features in different browsers, and in different versions of those browsers, and in release of the browsers for mobile devices vs desktop
https://wptdashboard.appspot.com/ — current test results across all major browser engines for dozens of web-runtime features/specs; if https://caniuse.com/ doesn’t have information about a particular feature, you can look through this dashboard and browse to the directory that has tests for that feature, and find whether a browser passes the tests for the feature
But as far as good automated tools we do actually have for checking other things, here are two:
- https://validator.w3.org/i18n-checker/ — W3C Internationalization Checker
- https://observatory.mozilla.org/ — for doing a security assessment of the content of your site
I recently faced a problem with mentioned above W3C HTML Checker. I respect a huge amount of work that was done by author of this validator, but it did not allow me in any way a tag <script type="text/vbscript" src="file.vbs">. It was said to change type value to empty string, a JavaScript MIME type, or module, which makes my page useless.
I know than VBScript language is rarely used now, it was just a test page, but let me share with you less tricky alternative, as good as the first one for HTML error checking.
Maintainer of the current JsonFormatter (validator) is here