Checks if HTML is valid to W3C standards using the W3C Validation Service
(sudo) npm i -D posthtml-w3c
For general usage and build process integration see PostHTML Docs
You can modify the behavior by passing an options object to the method:
var options = {
filter: [
'An “img” element must have an “alt” attribute, except under certain conditions.',
],
hideEmpty: true
}
var validate = require('posthtml-w3c')(options)
filter
- an array of strings to filter the messages. If you want to silence some warnings or errors, you can add a substring of the message to this collection. Any messages that contain a string from thefilter
array will be ignored.hideEmpty
- iftrue
and no messages are found, nothing will be printed. Iffalse
or skipped and no messages are found, the header and summary will be printed. This option is backward-compatible.
const fs = require('fs')
var posthtml = require('posthtml')
var validate = require('posthtml-w3c')()
var html = fs.readFileSync('./index.html', 'utf8')
posthtml([ validate ])
.process(html)
.then(result => console.log(result.html))
PostHTML W3C Validation
-----------------------
⚠ info [14:5]
Consider using the “h1” element as a top-level heading only
(all “h1” elements are treated as top-level headings by many
screen readers and other tools).
⚠ info [19:5]
Consider using the “h1” element as a top-level heading only
(all “h1” elements are treated as top-level headings by many
screen readers and other tools).
⚠ info [18:5]
Consider using the “h1” element as a top-level heading only
(all “h1” elements are treated as top-level headings by many
screen readers and other tools).
⚠ 3 Errors