Anne van Kesteren

WHATWG editing

I'm currently editing a part of the HTML 5 specification. The editing part. This should not be surprise to anyone if you have followed my weblog for the past weeks. As it is a rainy day here in Oslo I went to the office to update my specification a bit: Web Applications 1.0 — contenteditable and disabled. I'm hosting it here so I don't have any conflicts with Ian his version. (Did you know you pronounce his name as "Jan", as in Dutch?) There are currently quite some open issues and not all is correctly defined, so if possible, I would like your comments.

Besides fixing bugs I also need to replace references to elements and such with terms from the DOM, like node, parentNode, et cetera as the DOM is what matters, not the markup language. I'm not sure how I'm going to do that though, I should probably first spend a day or more on reading up on the DOM 3 Core specification.

Note also that the specification is currently defining what Internet Explorer does. This does not always make sense and some parts might be redefined eventually because of that, but for now we want to have there what Internet Explorer does and not what theoretically would be the best solution. (Although you are free to point that out, by the way.)


  1. Great work, Anne, it seems as if things are really going forward. :)

    Posted by Henrik Lied at

  2. Funny you mention the disabled attribute since it is buggy on formcontrols in Opera as I posted here
    OK, it came about when I was trying to use it in a CSS selector but I agree with MTKnight that it is actually a DOM2-HTML bug.

    Posted by Tino Zijdel at

  3. Just two things that struck me as odd:

    1. I'd call a double line-break simply a paragraph break. Especially since in no case two line-breaks will be inserted.

    2. Saying that ctrl+b denotes the start of an important phrase is not quite correct. It denotes both the start and the end. With a proper implementation there is no difference when pressing ctrl+b with or without selection.

    Posted by Sjoerd Visscher at

  4. Sjoerd, thanks for point two, that is indeed correct and quite helpful. Especially as it is true for more than just ctrl+b. I agree that the name mentioned in point one is not entirely correct, but it certainly is not a paragraph break. It does other things too as described in the document.

    Posted by Anne at

  5. I still think paragraph-break is a lot more correct than double line-break. Perhaps block-break then?

    Posted by Sjoerd Visscher at

  6. The one thing that bothers me about the doc is that its so rigidly written for HTML. I don't see why we have to say things like "Shift-enter creates a br tag. Enter creates a p tag, wrapping siblings, ..." I see no reason why this couldn't be written so that I could expect to have shift-enter create a line tag and an enter create a verse tag for my PoeticLicenseML that I've created. Or NewsML or any one of the other mixed content semantic languages out there. I'll be more than happy to do the leg work to make it happen but I don't want to have to build things from scratch. Especially if "save as" is going to ignore dom modifications.

    The number of times that I want my users actually generating HTML is very small.

    In my opinion, unless you write this so that someone can come along and put in the work to make the editor generate content in some other XML format, you may as well call it HTML Applications 1.0 not Web Applications 1.0.

    Posted by Adam Van Den Hoven at

  7. As said, it currently describes what Internet Explorer does. As Internet Explorer does not support this for XML that I know of, that is still undefined. I do expect it to become defined eventually.

    Posted by Anne at

  8. Regarding block break: I think pressing return at the end of a heading should create a new paragraph after the heading. Pressing return inside a heading should split the heading. This is analogous to the behavior of Word and OOo Writer.

    Regarding pronunciation: How do you pronounce Jan in Dutch? I would have pronounced Ian as [iːæn] and Jan as [jɑːn], but I don’t know Dutch.

    Posted by Henri Sivonen at

  9. In Dutch Jan is [jɑn], i.e. shorter than in German.

    Posted by Sjoerd Visscher at