You might have missed this. Because of this lengthy thread on throwing for
atob() space characters will no longer cause the method to throw from revision>6874 onwards. This is the WHATWG Weekly, with some standards related updates just before the world slacks off to feast and watch reindeer on Google Earth.
Dimitri Glazkov (from good morning, WHATWG!) published Shadow DOM. A while earlier he also published, together with Dominic Cooney, Web Components Explained. The general idea is to be able to change the behavior and style of elements without changing their intrinsic semantics. A very basic example would be adding a bunch of children to a certain element to have more styling hooks (since this is the shadow DOM the children will not appear as actual children in the normal DOM, but can be styled).
Two weeklies ago you were informed about the encoding problem we have on the platform. While HTML already took quite a few steps to tighten up things (discouraging support for UTF-7, UTF-32, etc. defining encoding label matching more accurately), more were needed. Especially when it comes to actually decoding and encoding with legacy encodings. The Encoding Standard aims to tackle these issues and your input is much appreciated. Especially with regards to the implementation details of multi-octet encodings.
James Hawkins proposed the
intent element in a way that brings back memories of HTML4. Happy to be reminded we are over SGML now. This is the WHATWG Weekly.
Overnight a complete proposal for better autocomplete appeared on the WHATWG Wiki, apparently already experimentally implemented in Chrome (prefixed). It proposes a new
autocompletetype attribute that takes values such as
cc-number. The advantage over ECML is that changes only need to happen on the frontend. The backend can stay the same.
Adrian Bateman proposed to remove the
readAsBinaryString() method from the File API standard. Everyone else seems to be on board so it will likely go away soon. Thanks to
ArrayBuffer the method became useless.
He also proposed a new argument for
createObjectURL() to indicate the resource will only be used once and can then be garbage collected.
Sort of analogous to
Blob objects a new
Stream object has been proposed by Microsoft and it comes with a bunch of friends too so you can interact with it. Combined with XMLHttpRequest this will allow streaming data to the server or downloading large amounts of data and processing it as it comes in.
If you want to contribute to the WHATWG Blog or Wiki, join IRC (
#whatwg on Freenode). We had to shut down user registration unfortunately due to excessive spam. Welcome to another WHATWG Weekly. If it were themed, this would be about Sinterklaas.
In response to Faruk Ateş' plea for defaulting to UTF-8, David Baron explained the platform encoding problem. The problem is that currently the default encoding varies per user (depending on locale primarily) and sites rely on locale-specific default encodings. Such sites visited by a user using a Dutch computer and a user using a Chinese computer, will render differently. In particular, their byte streams will be decoded using a different encoding. The implication is that the web is less global than it should be. How exactly we are to overcome the platform encoding problem, without everyone explicitly opting in to an encoding using
<meta charset=utf-8> (please do so if you are a web developer), is still unclear. Ideas welcome!
Revision 6837 made it possible for WebVTT to be published as a standalone Living Standard. It will primarily be developed by the Web Media Text Tracks Community Group on the firstname.lastname@example.org mailing list. WebVTT is the platform's captioning and subtitle format (for HTML video) and its development can be tracked on Twitter via @webvtt.
The same revision that let WebVTT be published as standalone document, removed everything related to peer-to-peer connections and video conferencing. The W3C Web Real-Time Communications Working Group forked our work in WebRTC 1.0: Real-time Communication Between Browsers and we (the WHATWG) are okay with them working on it instead.
My colleague Karl has been blogging again on the W3C Blog, read his summaries from the weeks of November 14 and
Yours truly added native JSON support to XMLHttpRequest. Just set
responseType to "
response will give you a JSON-decoded object once fetching is done.
Next to @WHATWG, we now have +WHATWG. Hopefully ⸮WHATWG is next. Not to dispair, WHATWG Weekly will remain right here, without funny characters preceding it.
HTML is big, so follow what interests you!
Ian Hickson announced a new system on the mailing list that allows people to subscribe to specific sub-topics in the HTML specification, such as
<canvas> or the HTML Syntax and Parsing sections. You can do so right from the specification itself. If you are interested in topics that are not yet a sub-topic, please let us know.
XMLHttpRequest is now developed as a single specification again, to reduce confusion, and make it easier for everyone to look at the same copy. Some subtle changes have been made as well, such as allowing
responseType to be set before invoking
open(), and restrictions on synchronous usage outside a worker context are planned. Synchronous in the main thread is bad, and you will not find any new
XMLHttpRequest goodness there real soon now.
Because not everyone writes sites in a way that prevents future specifications from breaking them, Cameron McCormack has thought up a proposal that should help to make API design less restrictive. Karl Dubost pointed out that using
GET when you mean
POST is a bad idea.
Ryosuke Niwa is still working on the UndoManager and DOM Transaction specification and posted about a re-introduced
AutomaticDOMTransaction interface. He also announced an updated draft and summarized the changes thus far.
You can now put a fullscreen in your fullscreen. Brought to you by Fullscreen. This is the WHATWG Weekly, not quite weekly, but you are still welcome.
Revision 6827 introduced the new
time element. The one that also allows for years, yearless dates, durations, and so on. It is based on extensive research by Tantek Çelik. That same Tantek is now battling the
HTML WG co-chairs to get everything synchronized again. I am not privy of what is going on, as it happens behind closed doors.
Half a decade later we finally might get the short names for
querySelector() that we actually wanted. Or not, it remains to be seen how compatible they are. In any event, Jonas Sicking started a thread on
findAll()'s return value. An ECMAScript
Array with some extra features.
Ojan Vafai proposed a
tabindexscope attribute for better control of tabbing behavior in a widget that is part of larger application. A little before James Graham suggested constructors for HTML elements.
new HTMLButtonElement(), you name it. Michael A. Puls II briefly explains the difference between plugins and native support when it comes to attributes. Gavin Kistner found an oversight in data URL origin determination due to added support for CORS.
Kinuko Yasuda started a long thread on how drag-and-drop of folders is to be supported in the platform. Jonas Sicking suggested nothing much new is needed for that, though Glenn Maynard foresees problems reusing the current API. And on it goes.
Rafael Weinstein suggested a
template element that would have special parsing behavior. Basically making the nested elements not do anything (e.g. not fetch images, execute scripts).