Standards advocates bemoan ditching semantics for genericism
This weekend saw a change to HTML5 that has riled many standards advocates. The element <time> has been dropped, replaced by the generic <data> element, and the 'pubdate' attribute has been removed entirely, no longer enabling devs to indicate the publication data of a piece of work.
Ian Hickson, editor of the HTML5 spec, decided to ditch <time>, arguing its ability to make styling dates and times from CSS didn't have much traction, nor did providing a means to mark up the publication time/date for an article.
In terms of machine-readable times and dates for microformats and microdata, he said that "applies to more than just dates, and the lack of [a] solution for stuff outside dates and times is being problematic to many communities". His decision: dump the first two use cases and "pivot <time> on [the last one], changing it to <data> and making it like the <abbr> for machine-readable data, primarily for use by microformats and HTML's microdata feature."
On Twitter, Ben Ward (platform developer at Twitter) remarked: "Oh for fuck's sake. We may as well just 'consider replacing all HTML tags with <derp>'", and he argued that <time> would have offered huge accessibility benefits.
On his blog, Opera's Bruce Lawson went further, deconstructing the entire affair. He also told us why he's opposed to the change: "It's easy to understand what <time> is for. And the 'datetime' attribute was in a certain standard format so that it could be validated, too.
“Once it's replaced by a generic <data> element that takes an arbitrarily-formatted 'value' attribute, it's much less obvious what it's for, and a machine can't validate the date and time, so the chances of badly formed dates and times increases. That makes it less reliable and therefore less usable."
Several prominent advocates are rallying against the change, although Lawson said he has "little hope" Hickson will change his mind. And Stephanie Rewis commented that she was so frustrated with the change that it "nearly made [her] want to give up on teaching and using HTML5", because semantics matter, but this decision seems counter to that.
We also asked Lawson if the change pointed to problems regarding an ongoing spec (rather than set versioning), since lots of people are using this element that will probably be scrapped. "It plays greatly into the hands of those who say 'you can't use HTML5 yet as it's not ready until 2022!'. <time> was simple to understand, simple to author and was implemented in Github, WordPress, Reddit and was being implemented in Drupal," he said, adding that commercial web developer Kean Richmond told him: "I, like many, have been using HTML5 in a range of sites and although I understood the spec was far from finished I had some confidence in using elements like <time> as they simply make sense. To now find that so many sites I’ve built would need to be changed to remain HTML5-compliant makes me question if I jumped on the bandwagon too early."
Lawson added that another, named David, had fought hard in his organisation to get people using HTML5, and now, just as he was getting traction, this happens. David concluded: "So now I’m going to be back to square-one with the 'you can’t use any of it until it's a finalised spec in 2022' brigade. I anticipate this may do some damage to the case of people like me who are fighting for HTML5 against the inertia and proprietary-framework-insanity of corporate organisations."
When we asked Ian Hickson for comment, he told us: "The decision was carefully considered over a period of several months, in public, and the rationale was explained in detail, on the bug [at www.w3.org]".