Web Standards: from Working Draft to Recommendation
Complete Web Standards with multiple browser implementations and comprehensive test suites are the backbone of the interoperable Web. Getting web standards through the complete standardisation process and turned into official W3C Recommendations takes a lot of effort. While it is tempting to view the latest editor’s draft of a specification as a “standard”, a large part of the complexity that ensures good interoperability happens in the “last mile”. In the last couple of weeks, several key web specifications have reached important milestones and these examples illustrate how the process works.
Last Call is the signal that the working group believes the spec is functionally complete and is ready for broad review from both other working groups and the public at large. The working group must respond to all the comments received during Last Call and this often results in changes to the specification. A further Last Call could be necessary if the changes are substantial.
Getting to Last Call
Last Tuesday the chairs of the HTML working group announced a provisional time line for preparing the W3C HTML5 specification for Last Call. This has yet to be fully discussed in the working group and so is subject to change but this is the first step to setting out a solid plan for moving HTML5 forward. HTML5 is such a large document that it is going to take time to arrive at consensus on the remaining bugs and issues.
The next day the chairs of the W3C WebApps working group made the Last Call Announcement for DOM Level 3 Events. The previous DOM Events specification became a Recommendation back in November 2000 so the new version has been a long time in the making. Internet Explorer 9 implements the DOM L3 Events specification as we showed on the IE Test Drive site. Although it isn’t strictly necessary for Last Call, we submitted a number of DOM Events tests to the working group for consideration. These are also available on the IE Test Center.
Call for Implementations – Demonstrating Interoperability
Once Last Call is over and the working group has satisfactorily handled all comments they make a request to move to Candidate Recommendation (CR) and the W3C Director issues a Call for Implementations. At this stage, specifications are relatively stable and generally only minor modifications are necessary so web developers can have confidence that browsers supporting these features will have a high level of interoperability. DOM L3 Events should reach CR in the next two or three months.
Moving a specification beyond CR can be a challenge, especially for a large and complex document. As an example, CSS 2.1 first moved to CR in February 2004. In general, the working group must show that each feature of a proposed standard has two or more independent and interoperable implementations. Lack of interoperability often comes about because of ambiguous language in the spec and sometimes changes are required to clarify the language.
There are many sites on the web that claim to test standards support but measuring whether different implementations are truly interoperable requires a comprehensive test suite. For example, the CSS 2.1 test suite contains about 10,000 tests. The test suite validates the quality of the specification text since all requirements must be testable. It also provides a way for browser vendors to test their implementation and achieve unambiguous interoperability.
Proposed Recommendation – the final phase before Recommendation
Last month the W3C CSS working group held a face-to-face meeting in Oslo. During the meeting, the working group agreed to publish the Release Candidate of the CSS 2.1 test suite on September 15 and all the major desktop browsers agreed to publish their results as an implementation report within 1 month (by October 15). Once this is complete, the chairs of the working group will present this evidence to the Director and request that the spec progress to Proposed Recommendation. For CSS 2.1, this should happen by the end of 2010. This is important because most of the new CSS3 modules depend upon CSS 2.1 being complete to make progress.
Proposed Recommendation (PR) is the final step before a web standard becomes an official W3C Recommendation. The W3C Director issues a Call for Review of a Proposed Recommendation to all members of the W3C. When it is clear that there is significant support from the W3C and the general public the Director announces the publication of a W3C Recommendation. All being well, CSS 2.1 should reach Recommendation status early in 2011.
The most important thing the community can do now to make the future of the web better for developers and users alike is to review the W3C HTML5 specifications and submit feedback to the public bug database. If you cannot do this for some reason, send mail to public-html-comments@w3.org where your comments will be recorded as a bug in the database for you.
Adrian Bateman
Program Manager
Update 10/5/10 - adding a link to the HTML working groups public bug database.
Comments
Anonymous
September 13, 2010
hello again! I can't wait till the 15th i'm going to be happy :D cause the internet will be hitting a new era with internet explorer 9 :D yay! party! woot woot! xDAnonymous
September 13, 2010
I'm glad to see the IE team post about this and explain the process. I think that most people ignore what the state of a W3C standard is because some other browsers tend to implement (via community involvement) as soon as an idea comes to life. It is then translated to "its a standard", no matter how far along the trail it is. I know there's a lot of hype about HTML5, but I am curious if, and why not if not, the IE team will be working to fully support (and extend support for new elements in HTML5) to XHTML1.1. I find XHTML much more configurable and extendable (by the very nature of being XML). Additionally, the XML language, and subsets thereof, are evolving much more rapidly than HTML, when looking from a holistic view. SVG, for example is supported by HTML5, but only at the specified version number. Where XHTML could support SVG at any version number so long as the browser supports it. Because of that, the typical stagnation that results after HTML completes a new standard, and the fact that HTML resticts extensions to the language (besides the treatment of unknown tags, which is technically poor since one could never legally add block level elements of unknown nature to the DOM, and the lack of namespacing support), I see XHTML living on for quite some time. Additionally, while the XHTML charter has expired, there is nothing preventing someone from bringing XHTML back to life at any time, perhaps scrapping the supposedly "bad" elements in that spec and regaining community support. So, at the very least, can you fully support the XHTML 1.1 spec? Thanks.Anonymous
September 13, 2010
The comment has been removedAnonymous
September 13, 2010
@Kevin - the HTML5 draft includes both HTML and XHTML serialisations of the DOM. IE9 supports both HTML and XHTML. In fact, some of the demos on http://ietestdrive.com/ are served as XHTML. IE9 also includes new support for generic elements so it parses unknown elements correctly into the DOM.Anonymous
September 13, 2010
@Kevin - Standards are based on implementation. Standards bodies rarely "invent" anything on their own. @Meni - The "next stage of open standards" has already been with us for many months, even years, in any browser except IE. IE9 will just be attempting to catch up. For example, in Adrian's post above, all those things were available in any other browser for 12 years.Anonymous
September 13, 2010
Rob: 'The "next stage of open standards" has already been with us for many months, even years, in any browser except IE. IE9 will just be attempting to catch up. For example, in Adrian's post above, all those things were available in any other browser for 12 years.' You think that CSS 2.1, DOM Level 3 Events, and HTML5 have been available in other browsers for 12 years? Is that human years, or dog years?Anonymous
September 13, 2010
@Rob - “… all those things were available in any other browser for 12 years.” Really? 2010 – 12 = 1998. What browsers in 1998 supported CSS 2 or any of the current DOM standards? Apple’s WebKit-based Safari was released in 2003, Firefox in late 2004, and Chrome much more recently. Internet Explorer 5 was launched in 1999 but I don’t think you’re referring to that.Anonymous
September 13, 2010
Shelly and 'old enough', I think that Rob didn't mean html5 but DOM Events and manipulation, and basically everything Mozilla had and IE4/5/6 didn't. It's not 12 years but close. 'Old enough', Firefox might have come in late 2004, but the Mozilla suit came before. BTW, IE4, besides being non-standard was an amazing piece of technology, foreshadowing almost everything that came after. The problem was with Microsoft's attitude of "we cannot wait for stupid, slow committees, let's do it ourselves". I can see their point, but in hindsight it wreaked havoc on the web.Anonymous
September 13, 2010
@meni: Small correction. At that time nobody paid attention to standard, as there was browser war where all sides tried to gain share by implementing proprietary extensions and get web designers to use them,making competitors looking bad. (sites would render worse or almost not at all) Those who sticked only to standard were obliterated by those who included extensions and provided their own. And AFAIK IE6 was last browser of that era...Anonymous
September 13, 2010
yay! tomorrow internet explorer 9 beta! is going to come out :DAnonymous
September 13, 2010
The comment has been removedAnonymous
September 13, 2010
Great job guys! Your transparency is really appreciated and it will pay off. IE9 will be the "next IE4" -- Remember the time when IE4 beat Netscape 4 hands down in terms of Standards Compliance and Performance? IE9 is looking like that.Anonymous
September 13, 2010
@ieblog "all the major desktop browsers agreed to publish their results as an implementation report within 1 month " For what IE versions will Microsoft be publishing the test results of the CSS 2.1 testsuite. IE8 only ?Anonymous
September 14, 2010
@Kevin XHTML lives on in the HTML5 spec. Unless you need to use a modularised version of HTML, you shouldn't use XHTML1.1. :-)Anonymous
September 14, 2010
@hAl - we will submit an implementation report for IE9 to the working group. After CSS 2.1 gets to Recommendation, we will update all of our CSS 2.1 Standards Support documentation on MSDN including test suite results for both IE8 and IE9.Anonymous
September 14, 2010
hello will Internet explorer 9 support all the new stuff that the internet has to offer? i hope they will release updates for it like Internet Explorer 9.1 or 9.2 like firefox does with there webbrowser. if internet explorer was to do this Microsoft would be able to tell people that there was a bug and there is a new update for the browser with the bugs fix ;)Anonymous
September 14, 2010
hello I heard from a friend that internet explorer 9 will give me more protection online than google chrome would? is this all true?Anonymous
September 14, 2010
So many spammers on the ie blog has made reading the comments section unbearable, why not bring a 'sign in to comment ' system and a moderator.Anonymous
September 14, 2010
The comment has been removedAnonymous
September 14, 2010
@Kevin Peno XHTML 1.1 doesn't offer anything that HTML doesn't offer too. There are two remaining issues in XHTML 1.1 compared to XHTML 1.0 (Strict):
- There's a ruby module; (of which HTML5 contains the parts browser vendors actually want to implement*).
- It doesn't contain a lang attribute (only xml:lang - unfortunately the validator doesn't tell you about this). This makes it somwhat incompatible to XHTML 1.0 and adds no value over XHTML 1.0.
I think this is called simple ruby. I personally think it would be nice to have complex ruby as well, maybe this will happen in Firefox 5, but for now, we have limited ruby available on the web and it may stay this way no matter what XHTML 1.1 says. Oh, and HTML development is actually faster than XHTML development. In the old XHTML era, XHTML bugs were never fixed (usemap attribtue in XHTML 1.1 was only fixed this year). And XHTML didn't contain DOM APIs and related work. So the old XHTML is not really worth it. The new XHTML btw is the vocab XHTML defined in HTML5.
Anonymous
September 14, 2010
Hello Will there be Builds of internet explorer 9 like internet explorer 9.1 or 9.2 i would love to see that in Internet Explorer 9. ... ... ...just to fix alot of bugs :PAnonymous
September 14, 2010
hdw i agree they should have a mod check all the comments to see if they are not spam before they are posted i hate spammer! ☺Anonymous
September 14, 2010
The comment has been removedAnonymous
September 14, 2010
@Meni, yes, you understand my point exactly.Anonymous
September 16, 2010
"Last Call is the signal that the working group believes the spec is functionally complete and is ready for broad review from both other working groups and the public at large." is incorrect. The Last Call document is published after the document has received broad review from other working groups and the general public to give reviewers a chance to check that issues they raised have been addressed as agreed with the group; at Last Call the Working Group believes the only way to gather more feedback is through implementation experience. If the Last Call goes well (people just signal their support for the document to move on, and do not raise new issues), the group shortly thereafter calls for implementations of their specification. The W3C Process does not allow a group to issue a Last Call for comments when they haven't taken steps to ensure this will indeed be the last such call.