In HTML 4.01 certain end tags are forbidden, that means it in not valid markup to have them, e.g.:
Invalid Valid
=================== =================
<BR/> <BR>
<BR></BR>
<IMG src="..."/> <IMG src="...">
<IMG ...></IMG>
<INPUT ... /> <INPUT ...>
<INPUT ...></INPUT>
In the HTML 4.01 specification the indication of an end tag being optional or forbidden is nicely summarized in the index of elements:
Name Start Tag End Tag
AREA F
BASE F
BASEFONT F
BODY O O
BR F
COL F
COLGROUP O
DD O
DT O
FRAME F
HEAD O O
HR F
HTML O O
IMG F
INPUT F
ISINDEX F
LI O
LINK F
META F
OPTION O
P O
PARAM F
TBODY O O
TD O
TFOOT O
TH O
THEAD O
TR O
Where is the HTML 5 equivalent of indicating which end tags are:
- required
- optional (implicit)
- forbidden
When and how optional end tags should behave, in HTML5 spec:
http://www.w3.org/TR/html5/syntax.html#void-elements
A more concise form: