Conformance Checking
Rules that validate HTML against the HTML Living Standard.
| Rule | Default | Description |
|---|---|---|
attr-duplication | error | Detect duplicate attributes |
attr-value-quotes 🔧 | warning | Detect unquoted attribute values |
colspan-rowspan-range | error | Validate colspan (1-1000) and rowspan (0-65534) ranges |
dfn-no-dfn-descendants | error | Disallow dfn nested inside another dfn |
deprecated-attr | error | Detect deprecated attributes |
deprecated-element | error | Detect deprecated elements |
disallowed-element | off | Detect disallowed elements |
doctype 🔧 | error | Require DOCTYPE declaration |
empty-title | error | Detect empty title element |
end-tag | warning | Detect missing end tags |
figcaption-position | warning | Require figcaption as first or last child of figure |
form-dup-name | warning | Detect duplicate form control names |
header-footer-nesting | error | Detect header/footer/main nesting inside header or footer |
heading-levels | error | Detect skipped heading levels |
id-duplication | error | Detect duplicate id values |
input-attr-applicability | warning | Detect attributes that don't apply to the input type |
invalid-attr | error | Detect attributes not in the spec |
link-constraints | error | Validate link element attribute constraints |
meta-constraints | error | Validate meta element attribute constraints |
no-empty-track-label | warning | Disallow empty label on track elements |
no-duplicate-base | error | Detect multiple base or title elements |
no-duplicate-dt | error | Detect duplicate dt names in dl |
no-duplicate-in-head | error | Detect duplicate charset/viewport/description meta |
no-empty-palpable-content | warning | Detect empty palpable content elements |
no-implicit-button-type | warning | Require explicit type on button |
no-autoplay-media | warning | Detect autoplay without muted on video/audio |
no-nested-forms | error | Detect nested form elements |
no-nested-interactive | error | Detect interactive content inside a or button |
no-non-scalable-viewport | error | Detect user-scalable=no in viewport meta |
no-orphaned-end-tag | error | Detect unmatched closing tags |
no-tabindex-on-dialog | error | Detect tabindex on dialog elements |
obsolete-but-conforming | warning | Detect obsolete but conforming features |
permitted-contents | error | Detect children not permitted by the spec |
picture-structure | error | Validate picture element structure |
placeholder-label-option | warning | Detect missing placeholder option in required select |
require-datetime | error | Require datetime attribute on time element |
require-meta-charset | off | Require meta charset declaration |
required-attr | error | Detect missing required attributes |
required-element | error | Detect missing required child elements |
script-type | error | Validate script type attribute values |
src-not-empty | error | Detect empty src or href attributes |
summary-first-child | error | Require summary as first child of details |
th-content-restrictions | error | Detect disallowed elements inside th |
unique-main | error | Require at most one visible main element |
valid-attr-value | error | Validate enumerated attribute values |
valid-autocomplete | warning | Validate autocomplete attribute values |
valid-id | error | Require valid id values (non-empty, no whitespace) |
valid-rel | error | Validate rel attribute values |
track-has-srclang | error | Require srclang on subtitles track |
void-content | error | Detect content inside void elements |
no-duplicate-track | error | Detect duplicate track elements with same kind/srclang/label |
no-multiple-default-track | error | Detect multiple default tracks in same category |
base-before-urls | warning | Require base href before URL-bearing elements |
address-content-model | error | Detect heading/sectioning/header/footer inside address |
link-rel-or-itemprop | error | Require rel or itemprop on link |
base-has-href-or-target | error | Require href or target on base |