Forum Moderators: open
If you ask Google [google.com], it spits out roughly 80k answers to the issue in less than half a second (fortunatelly, you can check only those that appeal you, and you can take as long as you want to review them ;) )
Whatever happens there, it will surely affect us, the webmasters. And what a better place to discuss the topic that at Webmaster World?
Basic guidelines: this is mostly common sense, but I think some points should be stated out.
This is a debate, not some sort of exam: feel free to say what you think and, especially, why do you think so. There is no goal of achieving any "consensus" or common ground, the only goal is to gather as many opinions as possible, so we all end up with a bigger picture of the whole topic.
This is a debate, not a battlefield: this topic is already polarizing in several sectors, and a debate like this might start heating up as soon as there are a few members on each side. I think it's worth to remind here the point 14 of the ToS [webmasterworld.com]:
14. Please keep your language clean and decent. This include personal inflammatory language as well as obscenities.
This is not a competition: it's unlikely that we will be changing anything from this thread, so don't get obsessed. There are no winers and losers in this debate: if we end up with a deeper understanding of the goings-on of the process then we all win; if we end up with everybody being upset or angry, or we manage to get this thread blocked due to uncivilized behaviour, then we all lose.
In summary, try to exercise your freedom of opinion and speech, and make your best to respect these freedoms' of others.
Ready? GO!
The namespace clash? I must admit I didn't understand your point
When a document is transmitted with an XML MIME type, such as application/xhtml+xml, then it is processed by an XML processor by Web browsers, and treated as an "XHTML5" document.
To ease migration from HTML to XHTML, UAs conforming to this specification will place elements in HTML in the [w3.org...] namespace
I think well-formedness is an issue with most pages on the web today - especially, but not exclusively, with the HTML ones
Again, if well-formedness is an issue for a given document, the best thing the author can do is to not put any kind of doctype or otherwise claiming to adhere to a specification it doesn't really comply with.
The problem with the fail on error cost in XHTML is it falls on the wrong person - the visitor, not the author. The author can be completely unaware of the error for some time - that's the problem.
Well, whether you like them or not, these are my opinions. I'll respect yours, but I'm not too likely to change my mind.
EDIT: woops, forgot to mention that part:
Adding an XForm to a page that has a simple search form in the page header at the top. This is a quite common requirement. <input> is not namespaced in XHTML1 or XForms(?)
[edited by: Herenvardo at 3:12 pm (utc) on Nov. 4, 2008]
[edited by: eelixduppy at 3:13 pm (utc) on Nov. 5, 2008]
[edit reason] disabled smileys [/edit]
because HTML5's <p> doesn't allow <b>
I'm not sure how you've arrived at this conclusion. I still don't fully understand - you're saying XHTML5 makes <p><b>...</b></p> non-conformant?!
If I've understood what you're saying about XHTML2 in XHTML1, it is theoretically possible to include XHTML2 functionality in existing well-formed XHTML1 pages delivered as application/xhtml+xml without having to completely re-write them(?)
So that would make upgrading to XHTML2 much easier than I originally stated for sites meeting these conditions, but I don't think this really qualifies as backward compatibility.
But all this is just academic. XHTML2 is a dead parrot, or at least is doing a very good impression of one. Most sites use HTML, not XHTML, and of those that do use XHTML, most are not delivered as application/xhtml+xml and would not parse as XML anyway. Resilience is more useful than brittleness.
HTML5 is not as backwards-compatible as it might seem at first glance - a valid HTML4 page should be conformant HTML5, but some presentational attributes have been removed. But we won't have to re-write markup or change mime-types to add new HTML5 features to existing pages.
How effective the HTML5 effort is at capturing browser innovations and standardising them across different browsers remains to be seen.
a site from such an author [using non-conformant markup] probably doesn't deserve the effort UAs will put in rendering it [...] if all browsers said something like "this is not a webpage, but a crappy non-sense of markup" and refused to render them, I'd be quite happy with that.
Well that's certainly an opinion! Of course it would mean you wouldn't actually be able to participate in this discussion, use Google, Slashdot, BBC...
IMO, authors who don't even bother to check their pages don't deserve their pages to be viewable at all.
Thought Experiment [diveintomark.org]
I'm not sure how you've arrived at this conclusion. I still don't fully understand - you're saying XHTML5 makes <p><b>...</b></p> non-conformant?!
This document is changing on a daily if not hourly basis in response to comments and as a general part of its development process.
When a document is transmitted with an XML MIME type, such as application/xhtml+xml, then it is processed by an XML processor by Web browsers, and treated as an "XHTML5" document.
If I've understood what you're saying about XHTML2 in XHTML1, it is theoretically possible to include XHTML2 functionality in existing well-formed XHTML1 pages delivered as application/xhtml+xml without having to completely re-write them(?)
But all this is just academic. XHTML2 is a dead parrot, or at least is doing a very good impression of one.
So, if you can deal with the "well-formedness" requirement, you can manage to perfectly render an XHTML2 document on current browsers (IE users would need IE8beta, for decent CSS2 support). OTOH, the last time I visited a page using the HTML5ish <canvas> (it was just last week, a JavaScript-based 8080 emulator to be more precisse), my recently updated FF 3.0.3 displayed a comment like "you need to use [unstable] nightly builds of Firefox or Webkit that support the <canvas> element to view this page." So, I'd rather say that, from the authoring usability PoV, XHTML2 is quite more alive than HTML5 ;).
Resilience is more useful than brittleness.
How effective the HTML5 effort is at capturing browser innovations and standardising them across different browsers remains to be seen.
Well that's certainly an opinion! Of course it would mean you wouldn't actually be able to participate in this discussion, use Google, Slashdot, BBC...
To put some order into the topic, this is a summary about my opinion of XML on the Web, and of the XHTML2 vs X/HTML5 clash:
Well, I guess that's been quite enough for a single post :P
The whole idea of the example is that an XHTML1 document including any of the Transitional elements that are not included in (X)HTML5 is not strictly conformant. If the page is served as application/xhtml+xml, which isn't an issue as long as the XHTML1 document is XHTML1-conformant, then it will miserably break when parsed as XHTML5;
Using legacy elements that are not in HTML5 will not break the page because browsers do not use validating parsers. Only well-formedness errors cause XHTML pages to break miserably when delivered as XML.
Well, that's a wrong impression
The war over the next version of HTML markup is over. Rightly or wrongly, the next version of (X)HTML will be (X)HTML5.
the last time I visited a page using the HTML5ish <canvas>... my recently updated FF 3.0.3 displayed a comment like "you need to use [unstable] nightly builds of Firefox or Webkit that support the <canvas> element to view this page." So, I'd rather say that, from the authoring usability PoV, XHTML2 is quite more alive than HTML5
Firefox currently offers partial support for <canvas>. Of course, we can't expect new features to work in browsers until they are implemented(!) and this applies as much to new XHTML2 features as it does to new HTML5 features.
Browsers are slowly implementing HTML5. They're not implementing XHTML2. How does this make XHTML2 "more alive"?
So, if you can deal with the "well-formedness" requirement, you can manage to perfectly render an XHTML2 document on current browsers (IE users would need IE8beta, for decent CSS2 support)
That's a strange definition of current browsers ;)
Using legacy elements that are not in HTML5 will not break the page because browsers do not use validating parsers. Only well-formedness errors cause XHTML pages to break miserably when delivered as XML.
The war over the next version of HTML markup is over. Rightly or wrongly, the next version of (X)HTML will be (X)HTML5.
Firefox currently offers partial support for <canvas>. Of course, we can't expect new features to work in browsers until they are implemented(!) and this applies as much to new XHTML2 features as it does to new HTML5 features.
Browsers are slowly implementing HTML5. They're not implementing XHTML2. How does this make XHTML2 "more alive"?
So, if you can deal with the "well-formedness" requirement, you can manage to perfectly render an XHTML2 document on current browsers (IE users would need IE8beta, for decent CSS2 support)That's a strange definition of current browsers ;)
I feel like a little kid waiting for the teacher to tell him to go ahead.
C'mon people, download that spec and use it! LOL
the final choice will fall upon us, webmasters; since we don't need [browsers] to implement XHTML2 to use it....
...as XHTML1.
They already implemented XHTML2 years ago, without even knowing it, and before XHTML2 even existed, when they implemented XML and XSLT.
You listed in your previous post what browser vendors would be required to do to support XHTML2.
It is possible to use XSLT to transform an XHTML2 document into an XHTML1 document. It would be a completely pointless waste of time, since you're not getting anything new that isn't already in XHTML1, but it is possible [w3future.com].
Support for XML and XSLT does not mean browsers magically support rendering SVG, or handling XForms, or rendering and interacting with XHTML2 pages. New functionality, even if XML-based, has to be implemented.
there is no sane way in which <canvas> could be made to work in current/older browsers. You need to wait for browser support to use HTML5, but you don't need to wait to use XHTML2
You're not comparing like with like. You're comparing the lack of support for entirely new functionality in HTML5, with the presence of support for existing (XHTML1) functionality in XHTML2 when it is transformed into XHTML1 i.e. with no new functionality.
By the same measure, we can use HTML5 now if we only use HTML4 (i.e. currently supported) features. No re-writing, no XSL, just change the doctype. This too, of course, would be completely pointless.
There is very little in the XHTML2 spec (if any at all, I can't think of anything) that doesn't work in todays browsers. ROFL, *what* are we waiting for indeed?!
The *new* functionality. Anything new that isn't currently supported in HTML4/XHTML1 in current browsers won't work. Minor things like XForms...
[Repeatedly bangs head on desk...]
C'mon people, download that spec and use it!
Don't do this.
You can either publish XHTML2 pages as XML with CSS, and use XBL and proprietary browser extensions to make anything interactive work (including links).
Or you can publish your pages as XHTML2 with an XSL transform to XHTML1, which of course means you're just delivering XHTML1 in a pointlessly complicated way.
Both methods offer a range of drawbacks and I can't see any benefits. What's stopping you? ;)
Support for XML and XSLT does not mean browsers magically support rendering SVG, or handling XForms, or rendering and interacting with XHTML2 pages. New functionality, even if XML-based, has to be implemented.
The point is, we can use it.
XSLT can't implement behaviour.
How?
Why?
we can transform an XHTML2 document into a HTML4 one that uses classic <input> to implement XForms's layout and <script> elements to deal with XForms's data model and XMLEvents's behavior
So, after writing our XHTML2 content and the relevant transforms, then writing some Javascript libraries to translate XHTML2, XForms and XMLEvents into HTML4, we now have all the features of HTML4 at our disposal?
Couldn't we just extend HTML4 and call it something like, erm... HTML5?
So, after writing our XHTML2 content and the relevant transforms, then writing some Javascript libraries to translate XHTML2, XForms and XMLEvents into HTML4, we now have all the features of HTML4 at our disposal?
Following the PoV you are showing in that post (if I understood it correctly), C and C++ would be completely useless: after all, they don't give us anything we can't do by hacking the machine-code through an hex editor, do they? Furthermore, compiling a C or C++ source is exactly converting it to its machine-code equivalent. These languages don't provide anything, but they are much more widely used than hard-typed binary code
In the line of this (quite close) metaphor, I hope you can see that the idea I'm speaking about is nothing else than a XSLT-based XHTML2 compiler.
Couldn't we just extend HTML4 and call it something like, erm... HTML5?
<blink><marquee><p><b><b>Look at meeee!</p></blink></b>
Yes, sure, there are some good points behind the HTML5 work. But they are messing things up so much that I simply can't believe they are taking it seriously enough.
there are some pages out there with stuff like <blink><p>Look at meeee!</p></blink>
Watch it! I use that <blink> element when appropriate. Can you believe Firefox still support it? Ya, I use it because I can and mainly because it annoys the heck out of certain visitors. ;)
<blink>Click here!</blink> That <blink> element rocks! :)
Do we want the whole WWW to become something like that?
When TV was introduced to the world it was -at first- seen as an educational tool. And when the world-wide-network, currently know as "the internet" was introduced to the public, it was seen as a tool to store human knowledge and retrieve it at any time and any place. Some even thought it might bring equality amongst nations.
One would think by now we know human nature is to abuse our own inventions. Unfortunately, it is also human nature to not admit that. The main problem we are discussing here IMO, is the fact that people "specialise" and group together. Each defining it's own goals and visions.
On the whatwg list I argued that browser vendors should not concern themselves with the naming and defining of markup elements. That this in fact should be the job for linguists, typographs, authors, and archivists. The only response so-far indicates but one argument: historic precedence. And then this is quickly associated with "backwards compatibility".
I will not pretend to have technical knowledge of browsers, In my time we programmed everything in assembly and we did not have to deal with oop-soup. (sub-routines were good enough for us ;-) ).
But I do know when I see people getting swept along with the tides of enthusiasm. I am sure it was a good idea at the time to try and unite the browsers, but in their enthusiasm, they gave themselves the right to "lay down the line" so to speak, on subjects that are only tangentially related to the subject of programming browsers.
HTML has been derived from SGML, and that was here long before anybody had ever heard of a browser. We are talking about a markup language here, but it is being turned into a guideline on how to build a browser. The two subjects are only related because of their mutual dependants.
Bottom line is, the X/HTML5 spec will be nothing more than a set of "rules" that tell us only one thing: "this is what browsers can do, and even if they could do more, they won't". And this is, I think, sad. Because it means the internet is being chained. Browsers will determine from now on, what the technical and creative limitations on the net are.
[edited by: Bert36 at 4:38 pm (utc) on Nov. 7, 2008]
a XSLT-based XHTML2 compiler
Right, so now we know exactly what we would need to be able to use XHTML2.
Browsers don't natively support XHTML2, and we can't just send XML+CSS, because it doesn't give us behaviour. XBL could give us behaviour but it isn't supported in IE, so we can't currently use this as a solution.
We can transform XHTML2 into HTML4 in the browser using XSLT. We can write Javascript libraries to extend browser functionality.
So if it's possible to write a XHTML2/XForms/XMLEvents/CSS/Xetc to HTML4/Javascript/CSS compiler in XSLT, and someone writes one, then we could use XHTML2 in current browsers.
On the whatwg list I argued that browser vendors should not concern themselves with the naming and defining of markup elements. That this in fact should be the job for linguists, typographs, authors, and archivists. The only response so-far indicates but one argument: historic precedence. And then this is quickly associated with "backwards compatibility".
And yes, I do believe <reference class="abbreviation" ...> would be
easier [than <abbr>], because then web authors wouldn't need to remember which
semantic content can be described by tags and which needs custom
classes.
HTML has been derived from SGML, and that was here long before anybody had ever heard of a browser.
We are talking about a markup language here, but it is being turned into a guideline on how to build a browser.
Browsers will determine from now on, what the technical and creative limitations on the [web] are.This has always been the case.
So if it's possible to write a XHTML2/XForms/XMLEvents/CSS/Xetc to HTML4/Javascript/CSS compiler in XSLT, and someone writes one, then we could use XHTML2 in current browsers.
BTW, I just did some counting throughout the HTML5 spec:
It defines 103 elements, and 240 arguments (34 of which are event hooks; another 8 are "common" (ie: defined for all elements), and among the rest some are a single argument, defined multiple times (and often with different meanings)). That's, IMHO, too bloated.
It also defines over 350 explicit algorithms, plus many implicit ones embeeded within the prose of the spec, split in more than 1.6k steps.
That document is not a markup language definition. It is a flawed browser written in pseudo-code. That's completely useless to anyone else beyond flawed browser vendors.
Sure, such a "guideline on how to build a browser" [i.e. parse HTML] should be defined somewhere
In the HTML *specifications* perhaps? Previous HTML specs have lots of holes and grey areas, so it's possible for two standard-compliant browsers to be incompatible with each other. This is why so much effort is going into defining how HTML should be parsed by browsers in the HTML5 spec.
Well, that's far more of what you can get from HTML5:
We haven't actually established that it is possible to write the mother-of-all-shims to render XHTML2 et al in HTML4, or that it is possible to write an XHTML2/XForms/XMLEvents/CSS/Xetc to HTML4/Javascript/CSS compiler in XSLT. At least some of it is feasible, but it's a non-trivial task isn't it? And, assuming for a moment that all this is possible, we haven't established that anyone is actually working on implementing it.
Plus we can also write shims to implement new HTML5 functionality [code.google.com] in older browsers, *temporarily*, too.
even if the most optimistic forecasts are fulfilled, by 2022 we will have a couple of browsers than can cope with documents in HTML5.
This is a common misconception. From the WHATWG FAQ: [wiki.whatwg.org]
You do not need to wait till HTML5 becomes a recommendation, because that can’t happen until after [a minimum of 2] implementations are completely finished.
The 2022 date is Ian Hickson's guesstimate [blogs.techrepublic.com.com] for two fully-compliant HTML5 browsers, feature complete, no bugs, and a full test-suite to measure compliance. The most optimistic forecast for HTML5 REC status is 2010 [w3.org] (as you previously posted).
This "two fully-compliant implementations" is the W3C's standard requirement for a W3C Candidate Recommendation to become a W3C Recommendation. We haven't got two fully-compliant implementations of, or full test suites for, HTML4 or CSS2 yet (and almost certainly never will), but they are both in widespread use.
In the HTML *specifications* perhaps? Previous HTML specs have lots of holes and grey areas, so it's possible for two standard-compliant browsers to be incompatible with each other.
First of all, why do browsers need to be compatible with each other? As long as they are compatible with HTML/CSS Unless I am missing something here.
The fact that HTML has lots of holes and greyareas I am not going to dispute. I wholeheartedly agree we need a new HTML spec.
BUT:
This is why so much effort is going into defining how HTML should be parsed by browsers in the HTML5 spec.
Which is the point I am trying to make, they are not only defining how HTML should be parsed, but they are also defining what HTML is. It is like having all paint manufacturers defining a standard as to how to to make paint and in the process also define which colours there are, how they are allowed to be mixed and applied.
Or (and I used this analogy on the whatwg-list) word processor manufacturers who define a standard to create a uniform native format, and do so by redefining the dictionary and telling you which grammar rules may and may not be used from now on.
First, backwards compatibility is a legitimate concern: there are billions of documents already in the WWW, and browsers simply can't afford stop rendering them.
True, but they shouldn't have to. This partly what the doctype is for and even so, just because browsers are able to render HTML5 (or LanguageX for all I care) doesn't mean they must stop rendering HTML4/3.2 etc.
So, it was actually a mistake to define it as SGML, because the implementation on which it was based didn't treat it as such.
This goes without saying ;-)
As far as the replies on my argument on the whatwg list are concerned, I did read Philipp's reply and it was the only one that did indeed at least seriously responded to my "Suggestions", but indeed afterthat it went silent.
Like you say:
This is, in the best case, frustrating.
And I was not trying to steer the subject into human nature, but the fact remains that humans want to structurise things, that is what we do. And while doing so we all think we are "right" and they are "wrong" and vise versa. That is the essence of of this problem as well.
So does this make this topic arbitrary? No, I don't think so, the (partial) solution is always to structurise only those things in your own corner, your own line of work. So browser vendors must standardise browsers, authors must standardise markup. (I am cutting corners here, but you get the general idea)
There was one reply early in the discussion on the list, and I can't find it right now so I have to paraphrase, which was: "you are free to define your own standard, just don't expect browsers to render it".
I think that one reply says a lot on many levels.
[edited by: Bert36 at 10:41 am (utc) on Nov. 8, 2008]
In the HTML *specifications* perhaps?
This is why so much effort is going into defining how HTML should be parsed by browsers in the HTML5 spec.
<a href="example.com/somewhere><p>Click here to go <a href="example.com/anywhere">anywhere</p>!
You do not need to wait till HTML5 becomes a recommendation
The 2022 date is Ian Hickson's guesstimate for two fully-compliant HTML5 browsers [...]
The most optimistic forecast for HTML5 REC status is 2010 (as you previously posted)
We haven't got two fully-compliant implementations of, or full test suites for, HTML4 or CSS2 yet (and almost certainly never will), but they are both in widespread use.
First of all, why do browsers need to be compatible with each other? As long as they are compatible with HTML/CSS Unless I am missing something here.
It is like having all paint manufacturers defining a standard as to how to to make paint and in the process also define which colours there are, how they are allowed to be mixed and applied.
Now, quoting the maling lists, On Tue, Nov 4, 2008 at 8:37 PM, Ian Hickson wrote:
The HTML5 spec exists for a number of groups, primarily Web authors (and
people writing tutorials for Web authors), Web browser implementors, tool
implementors, and validator implementors. Roughly in that order.
Like you say:This is, in the best case, frustrating.
First of all, why do browsers need to be compatible with each other? As long as they are compatible with HTML/CSS Unless I am missing something here.
If browsers are compatible with a standard (and that standard is sufficiently well-defined) then they are compatible with each other. That's the point of standards.
It is like having all paint manufacturers defining a standard as to how to to make paint and in the process also define which colours there are, how they are allowed to be mixed and applied.
We don't generally require interoperable wall colours (paint batch numbers are used for consistency), but there are times when standardised colours are useful (eg Pantone Matching System).
word processor manufacturers who define a standard to create a uniform native format, and do so by redefining the dictionary and telling you which grammar rules may and may not be used from now on.
A standard format would of course have to define how to express a heading, a paragraph, a list etc. It wouldn't require changes to the spelling or grammer used in the content expressed in that standard format, and neither does HTML5.
If browsers are compatible with a standard (and that standard is sufficiently well-defined) then they are compatible with each other. That's the point of standards.
I'm sorry, I don't understand. What is there to be compatible about? What do they need to inter-exchange? Let us say that BrowserX and BrowserY are both standards compliant. As I see it, this means they can both render a webpage in such a way that it looks and functions the same in both. But this does not have to mean that they both do it the same way. When the goal of a journey is to arrive in Rome, who cares if you do it by train or bus? The train and bus don't have to be compatible with each other, as long as they both arrive in Rome.
The analogies about paint and word processors are just that; analogies.
...and neither does HTML5.
[HTML should be specified] In the HTML *specifications* perhaps?Absolutely not. The HTML specification must specify HTML, by definition.
We both agree that the HTML spec is where HTML should be specified. I think... ;)
And, by specify HTML, I mean exactly that: it must be the ultimate normative source for each person or entity dealing with HTML (including browsers, authors, SEs, and several more sectors which I'm starting to get tired of listing on almost every post in this discussion). It must be usable by all those sectors, and using a language that is neutral among them is a critical requirement for this....
A quite sane alternative could be to rename the current spec (I think the former name, "Web Applications 1.0", would be quite a good match, but maybe not the best one); and then title the (relatively small) section dealing with markup itself as "The HTML5 Markup Language". With that, and some improvements on the way things are worded there, that section could claim to be a HTML Specification.
If by neutral language you mean non-technical language, you seem to be suggesting taking the spec bits out of the spec to make it a user reference, then putting the actual spec somewhere else(?) I don't think this is necessary, when instead we can just create user references based on the spec.
Come on! A bit of realism, please. We are in the real world, not in the happy-dancing-elves country. CSS2 has been a recommendation for almost 10 years, and still we can't use even a miserable "display: table;". Do you really believe we'll have at least the last (stable) version of each major rendering engine supporting at least a single new feature of HTML5 in a consistent (between them) way before [2022]? Chances are quite low.
You're arguing that not *one* single feature of HTML5 will be implemented because not *all* of CSS2 has been implemented.
In the past 14 years browsers have added a lot of new features including tables, frames, formatting tags, SSL, cookies, Javascript, CSS and XMLHttpRequest.
Do I think we'll see widespread browser support for at least one HTML5 feature in the next 14 years? Yes.
(edited for clarity)
[edited by: mattur at 5:22 pm (utc) on Nov. 9, 2008]
what does HTML provide us in terms of the future of the semantic web? Well, more of less everything that was also in HTML4 and a few extra things that function exactly the same as the old ones. I can see no mechanisms at all that take *advanced* AT into account, nor any visionary constructs that would even try to anticipate AI, let alone something as simple as cross-referencing.
Don't get me started on the Semantic Web... ;)