<!DOCTYPE html>
<html>
  <head>
    <title>Check for correctly updating :required matching on type change</title>
    <link rel="match" href="selector-required-type-change-001-ref.html">
    <link rel="help" href="https://drafts.csswg.org/selectors-4/#opt-pseudos">
    <style>
      span { color: green; }
      :required + span { color: red }
    </style>
    <script>
      onload = function() {
        document.querySelector("input").type = "button";
      }
    </script>
  </head>
  <body>
    <input required><span>This should be green</span>
  </body>
</html>
