HTML is the "father" of XHTML.
Therefore HTML doesn't conform to its children rules, habits, or idioms. It might approve them, but in no way does this oblige it to also obey them. It never did and never should!
Therefore the correct HTML5 syntax is and will be, forever: <img alt="nada" src = "zzz.png" >.
In contrast to XML, ML was always a cAse insensitive! One should know that HTML is a ML, not a XML - that is: XHTML, and learn to discern them.
HTML is always served as "text/html" therefore: all HTML is parsed as case insensitive, including the majority of XHTML-like written code!
Therefore the HTML5 Doctype declaration is:
<!DOCTYPE html>
...providing that you can type it in ALLCAPS, Mixed Caps, or small caps.
This <!DOCTYPE html> will trigger the HTML5 standards mode on the browser. The reason - as it seems - has finally prevailed …, therefore specifying the Meta tag in pure HTML, is also a breeze:
<META charset=UTF-8>
...as always! -You don't have to self-close a 'singleton', for it is not a XM Language. Never was!
You may also notice that you don't need to close (a parameter) value with quotes, you never did, but you never knew you don't need to.
In pure html, - elements such as <HTML>, <HEAD> including <BODY> (in html5) are also optional.
In fact they always were. Because ML is not XML and because ML has its own parser while XML is not using one in 99% of all cases.
As about XHTML vs HTML syntax this quote might shed some more light :
"Check your MIME type. (Actually, if you don’t know what MIME type you’re using, I can pretty much guarantee that you’re still using text/html.) Unless you’re serving your pages with a MIME type of application/xhtml+xml, your so-called “XHTML” is XML in name only."
Mark Pilgrim
One thing is for sure, XML was in collision with the Nature of the Web core purpose -which is :
Internet Hosted Content and Information Delivery to the end User, not its form or data structure.
Regards.
Bookmarks