The W3C has never been quite sure if it is a standards body or not. It is an industry consortium consisting of member organizations who participate in working groups that produce specifications, which must be approved by the membership. What’s difficult to know is how much the W3C feels its obligation to serve the interests of the entire Web community, or to cater to the needs of its members.
This largely unresolved question sometimes puts the W3C in an awkward position. What happens, for instance, if W3C members fail to implement a W3C specification to the letter? Or more specifically, when Microsoft fails to implement fully the specifications that affect the browser, what can the W3C do about it?
Not much, judging from the W3C’s recent Note Common User Agent Problems. This Note, produced by three W3C staff members, usefully points out “some common mistakes in user agents due to incorrect or incomplete implementation of specifications.” But it is clear from the Note’s introduction that the W3C is uncomfortable pointing out these problems, perhaps because it might be perceived as criticizing one of its member organizations. How else to read the following?
This document is a Note made available by the W3C for discussion only. Publication of this Note by W3C indicates no endorsement by W3C or the W3C Team, or any W3C Members. There is no commitment by W3C to invest additional resources in topics addressed by this Note.
In short, this Note is merely informative. It has no teeth. The W3C seems to accept a fairly passive role in enforcing, or even encouraging, compliance with its specifications.
This sheepishness creates a lot of uncertainty on the Web. We have to wait to see how well a W3C specification will be implemented, if at all, before deciding if the specification is real. The dominant implementation is what’s really real; it becomes the defacto standard. In the case of the Web browser, what matters is how IE actually works, not how the W3C specifications say it should work.
The authors of this Note say that they did not want to “incriminate specific user agents” and presumably, the members that developed them. Yet, that is precisely what they should do to monitor compliance and point out deficencies in implementations. Name names. Document which browsers cause the problems.
The W3C should be proactive in determining whether common problems are the fault of the developer’s implementation or an ambiguity in the language of the specification. The W3C needs to be a fearless champion of its own standards, defending the Web against those who fail to comply.