And the accepted answer doesn't even answer the question!
In a pissed off response to this answer on Stack Exchange, I need to vent.
The question opens with...
So what happened to
And the accepted answer doesn't even answer the question!
In a (IMO) very stupid move, the W3C has dropped support for
XHTML style syntax in favour of the supposedly easier-to-write less-valid HTML style syntax that we all realised was very bad back in the days of
The accepted answer correctly outlines that, but completely fails to understand that
XHTML5 is actually a thing that exists, as
HTML5 exists, and it is now just a flavour of
I will pick this answer apart here and now.
Only few people were really interested in XHTML. Most of the websites were written in plain HTML.
No, most people, which seems to be a growing trend, didn't take the time to understand logic and structure. They didn't take the time to learn the standard, because humans tend to fear change and stick to what they know.
Just because most of the websites that exist on the internet are coded in old
HTML4 syntax, doesn't mean they are right. They exist because
HTML4 existed as a standard far longer than
XHTML, and therefore, there are obviously more
HTML4 sites around.
Even fewer really understood what XHTML is about and how to use it. Too many websites which pretended to serve XHTML used wrong headers, instead of Content-Type: application/xhtml+xml.
The ansering person's next point goes to erase this one...
Even when you fully understand what XHTML is and what must be the headers, the thing is really tricky with some crappy browsers not accepting/supporting application/xhtml+xml content type. This meant that you had to change the header according to the browser.
Yes, it was the fault of browsers in the market not correctly implementing the standard, not people who coded it. They had to send incorrect headers and doctypes to counteract poor browser support.
The XML part of XHTML also caused some weird situations the developers had to solve. One is INVALID_STATE_ERR: DOM Exception 11 message appearing when you assign the text containing HTML characters (like é) to an element within the XHTML page. When you encounter this error with its very helpful message in a large web application after doing an AJAX request, you have really no idea if it's the fault of JQuery, AJAX, or something else.
I have been developign XML applications and XHTML websites for a very long time, and I have never ever ever come accross this error message. Ever. I can though, make an assumption that it was caused by developers not writing correct code. Googling this error shows that to be true; It's not the fault of
XHTML, rather the libraries being used.
Writing HTML 5 code doesn't mean mixing up tags all around. If you're passionate about XML and XHTML, you can still write HTML 5 code which will look very close to XML.
And, funnily enough, they call this
In the early days of mobile phones, XHTML was interesting for the mobile devices which were not very powerful. Parsing XML is much easier than HTML. Now, with dual-core mobile devices, it really doesn't matter if they have to parse clean valid XML or dirty HTML full of hacks and mixed tags.
I cannot believe that someone is suggesting that just because computers are faster at trawling through non-structured "dirty HTML full of hacks and mixed tags" as he so well puts it, it is the right thing to do. I mean, what world do we live in here?
Further down the page is another answer that is more accurate here.
What the hell happened?
I remember the days of
HTML4, and even before that; It was a mess. Browsers didn't know what to do. Their rendering engines were bloated because they had to guess what the hell was going on with the
HTML they were reading.
XHTML, and browsers began to speed up all on their own, without having to wait for 'better processors'. Sadly they still had to support the old engines, but the idea was they wouldn't have to for long.
XHTML was the beginning of a move towards machine readable code for machines to read, not awful code for lazy humans to write. The idea as I understood it was to slowly transition a switch from
XML being a structured flavour of
XML being the underlying foundation of all
HTML-like syntaxes; That meant logic, structure, ordered code. Code that you could read and understand as a machine could.
Sadly, people come and go in this industry, their lives mean less time can be aportioned to these things, and so in came new people; the 'cool kids', who didn't really 'get it' when it came to the big picture of
XHTML. Instead of asking questions to the right people, they just shit on it and went back to bad code. A standard was born, if you can call
HTML5 a standard, where poor syntax was acceptable; You do it how you choose to. Bad idea.
I can tell you that the stance the W3C has taken on
HTML5 over the emerging and growing
XHTML spec was a very bad decision indeed. I agree that the
XHTML2 spec was a little odd, and should have been merged with
HTML5 rather than dropped completely; Just becuase a group of people with less knowledge on how these things work favoured
HTML style syntax because it meant they could get away with not learning their trade properly, doesn't mean that the W3C should have gone down that road.
It is now very difficult to write structure logical
XHTML5) without having to trick the browser. That is a very bad thing when there are so many huge applications in the world that rely on true
XML to function. How are they supposed to adopt
HTML5? Oh, we have polyglots. Great. You try finding useful resources that explain that to you properly. In fact, don't, here you go:
In the future, when the smart people return to the scene, or when the 'cool kids' realise the mistake of shit markup, I can see a return to fully logical markup;
XHTML will return, some day.