Skip to main content

HTML Guide

Free site validation

Find out what web pages on your sites are affected by HTML issues.

Element “script” must not have attribute “defer” unless attribute “src” is also specified.

The defer and async boolean attributes of the <script> element control how an external script should be executed once it has been downloaded. These attributes only make sense when referring to external scripts, so a src attribute must also be present to specify the location of the script.

Example:

<script defer src="app.js"></script>

If your script is not external, and is inlined within the HTML document, then you should remove the defer attribute, like in this example:

<script>
  console.log("hello");
</script>

Learn more:

Related W3C validator issues