Do we still need forward slashes when closing void elements in HTML5?

HtmlXhtml

Html Problem Overview


In HTML5, do we still need the end slash like in XHTML?

<img src="some_image.png" />

validator.w3.org didn't complain if I dropped it, not even a warning. But some online documents seem to indicate the end slash is still required for tags such as img, link, meta, br, etc.

Html Solutions


Solution 1 - Html

In HTML 5, the closing slash is optional on void elements such img (I am adding this because the currently accepted answer only says: "end tags must not be specified for void elements", and does not address closing slashes in void elements).

Citing from http://www.w3.org/TR/html5/syntax.html#start-tags (number 6):

> Then, if the element is one of the void elements, or if the element is a foreign element, then there may be a single "/" (U+002F) character. This character has no effect on void elements, but on foreign elements it marks the start tag as self-closing.

Solution 2 - Html

img tags are Void Elements so they do not need an end tag.

> Void elements area, base, br, col, command, embed, hr, img, input, keygen, link, meta, param, source, track, wbr

...

> Void elements only have a start tag; end tags must not be specified for void elements.

W3C | WHATWG

That being said it's not strict parsing in HTML5 so it won't do any major harm.

Solution 3 - Html

The end slash for void elements is optional.

Both are valid HTML5:

<img src="some_image.png" />

and

<img src="some_image.png">

Void Elements are:

  • area
  • base
  • br
  • col
  • embed
  • hr
  • img
  • input
  • link
  • meta
  • param
  • source
  • track
  • wbr

Besides interesting:

> Void elements can't have any contents (since there's no end tag, no content can be put between the start tag and the end tag).

More details at: https://html.spec.whatwg.org/multipage/syntax.html#elements-2


See also the SO-question here:
Self-closing tags (void elements) in HTML5

Solution 4 - Html

Nope. HTML has never required it, even before HTML5. If you plan to use XHTML with HTML features, then yes, it is necessary.

Solution 5 - Html

According to Start Tags they are optional.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionCaptSaltyJackView Question on Stackoverflow
Solution 1 - HtmlFree RadicalView Answer on Stackoverflow
Solution 2 - HtmlBrian R. BondyView Answer on Stackoverflow
Solution 3 - HtmlAvatarView Answer on Stackoverflow
Solution 4 - HtmlRy-View Answer on Stackoverflow
Solution 5 - HtmlJosh LeeView Answer on Stackoverflow