In this post we will investigate a bit on who has the say with HTML5. We will start with another demo called the towers of Hanoi – often implemented in wood or plastics as a child’s game. This game was also used by our computer science teachers to introduce the principles of recursion. We will use it to introduce HTML5 drag and drop. (In the end it could also serve as a demo for CSS3 because it accomplishes quite some graphical tasks just by using some simple CSS3). Try it:
To be fair it should be said that the main use of drag and drop is not moving elements in HTML but rather to upload files.
In “Surprising developers” we wondered about the strange specification of content Editing. In “HTML design principles?” figured out that there is a design principle that explains this design. In a similar way the Drag and drop feature is a good source for developer’s confusion. Peter-Paul Koch has done an excellent analysis of this feature in his post “The HTML5 drag and drop disaster” on his quirksmode blog. As with contentEditable: the design of this feature is not by accident but with reason.
Ian Hickson, the head of WHATWG and former editor of W3C HTML5, provided the following comment: “The drag-and-drop API is horrible, but it has one thing going for it: IE6 implements it, as do Safari and Firefox.” Can you imagine a better argument？Remember: we are talking about “the cornerstone of the Open Web Platform that the web community is building” as W3C CEO Jeff Jaffe uses to say.
The good news is: not every every garbage that browser vendors invented as extension of existing standards makes it into HTML5. Some W3C virtues survived the “some vendor implemented it before” (or “pave the cow paths” and “do not reinvent the wheel”) principle. Mostly constructs that violate the “separation of concerns (aka ‘separation of content and presentation’)” principle have been deprecated or removed. This in turn contributes to improving accessibility and mobile Web.