html-conformv0.2.1

← All examples

Content model

A span directly inside a list and the obsolete align attribute fail the RELAX NG schema; a footer inside a footer, an image without alt and a button inside a link are caught by Schematron rules.

Content model

examples/showcase/content-model.html
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>Content model</title>
</head>
<body>
  <ul>
    <li>Allowed</li>
    <span>Not a list item</span>
  </ul>
  <p align="center">Obsolete attribute</p>
  <footer><footer>Nested footer</footer></footer>
  <p><img src="chart.png"></p>
  <a href="/order"><button>Order</button></a>
</body>
</html>
error   10:5   schema.html5
  unexpected element `{http://www.w3.org/1999/xhtml}span` at 10:5
error   12:3   schema.html5
  unexpected attribute `align` at 12:3
error   13:11  assertion.elements.no-footer-in-header-footer
  The element "footer" must not appear as a descendant of the "footer"
  or "header" element.
error   14:6   assertion.elements.img-missing-alt
  An "img" element must have an "alt" attribute, except under certain
  conditions. For details, consult guidance on providing text
  alternatives for images.
error   15:20  assertion.elements.button-in-a
  The element "button" must not appear as a descendant of the "a"
  element.

5 errors, 0 warnings
  • schema.html5
  • assertion.elements.no-footer-in-header-footer
  • assertion.elements.img-missing-alt
  • assertion.elements.button-in-a