Categories
HTML5 Standards

Strategic designs in a strategy-less environment

Still no updates on my issues at the W3C HTML WG, but the co-chairs did decide on the fate of longdesc, the focus of another issue:

the HTML Working Group hereby adopts the Change Proposal to not include the longdesc attribute in the language. Of the three Change Proposals before us, this one has drawn the weaker objections.

This is a highly controversial decision, not the least of which because the HTML WG Accessibility Task Force had recommended longdesc be kept, and the HTML WG co-chairs have disregarded the recommendations of its own task force. In addition, other standards documents in the W3C, as well as elsewhere, not only recommend longdesc use, but also mandate its use (if appropriate) if a site is to conform to law.

The argument for dropping support for longdesc I found to be most disconcerting is the following:

The weakest proposal was the one that makes longdesc conforming but with a warning. The primary rationale given for this proposal was that a few sites may be using longdesc properly. Many of the objections to both of the other proposals also apply to this one. Additionally, there was a strong argument which is unique to this proposal: if longdesc is conforming, user agents will be required to support it; if there is a validator warning, users will be discouraged from using it. This combination is the worst of all possibilities. Eliminating this proposal early made the process of coming to a resolution simpler.

The existence of implementations was found to be a weak argument for inclusion, the quantify of bad data was found to be weak argument against inclusion. External references (standards, laws, etc) was also found to be a weak argument for inclusion.

The strongest argument against inclusion was the lack of use cases that clearly and directly support this specific feature of the language. The fact that longdesc has little observable uptake amongst users reinforces this: all the evidence indicates that users don’t see this feature to be compelling, and the lack of user demand has been noticed by implementors.

This entire section is extremely confusing, for multiple reasons. The first is that the section is describing what happens when a component of a language is deprecated—a concept that has been successfully utilized in technology for as long I can remember. The whole purpose of deprecation is that an element that has been previously supported is no longer, suddenly, not supported. The sudden cessation of support of an element between two releases of a language, library, or API causes confusion, as well as potentially introducing a great deal of breakage as people advance their applications from the older language or library, to the new.

In a mature, thoughtfully designed language or library, what happens, instead, is that the element is supported in the next version of the language, but a warning is given about its use. The warning instructs the user that they may use the element this one last time, but support for the element will most likely be pulled in a future version of the language, or application. The warning should also inform the individual about the preferred approach to take in the future. The use of deprecation ensures that people can gracefully advance their applications to the new release, and still have time to modify existing uses of the previously supported elements.

So the fact that the one of the proposals recommended deprecating the element rather than just making it suddenly obsolete, was considered a weak argument leaves one to wonder: what could possibly be a strong argument?

Of course, one of the primary problems with deprecation in HTML5 is the fact that deprecation isn’t supported in HTML5. No, we now have the new concept of obsolete, but conforming. Whereby deprecation is long known to be a way of gracefully moving a people from the use of one component to another more preferred approach, obsolete but conforming seems to be a way of saying—well, frankly, I don’t know what it’s supposed to be saying. Something profound and extremely clever, I’m sure.

Another reason I found the earlier quote from the co-chair decision to be confusing is that the existence of external laws and standards requiring support for longdesc is also considered a weak argument.

In what world, my friends?

To disdain external standards, not to mention government mandates, is extremely arrogant and incredibly short sighted. It is as if the HTML WG is attempting to undermine the credibility of the W3C. I don’t believe this is the intent but is, instead, a by-product of the obsessive focus, in both the HTML WG and the WhatWG, on meeting the interests of only one group when it comes to determining what’s in HTML5: the browser companies. The so-called Implementers.

Though it is true the browser companies—Apple, Google, Opera, Microsoft, and Mozilla—need to be on board with whatever is released in HTML5, it should also be a given that the browser companies, themselves, should be interested in meeting the needs of their community of users—and this includes the accessibility community, in addition to web developers, designers, other tool builders, and so on.

The HTML WG co-chair decision was, frankly, poorly reasoned. That people will formally object is a given. That the formal objection will succeed is also a given because the W3C has no choice but to reject this decision. The W3C cannot afford to be so cavalier as to arrogantly pronounce itself above government and other organizational mandates. The browser companies may deem themselves to be above such consideration, but the W3C cannot be so short sighted, and thoughtless. The W3C also cannot possibly afford to undermine its own credibility by introducing conflicts between its own recommendations: to recommend longdesc in one of its documents, while, at the exact same time, making it obsolete in another. The whole point of deprecation is to prevent such anomalies from occurring.

Folly. Pure folly.