- From: Tommy Thorsen <tommy@kvaleberg.com>
- Date: Thu, 04 Dec 2008 11:34:56 +0100
Consider the following simple markup: <!doctype html></br> If I run it through my parser, which is implemented after the html5 algorithm, the resulting dom is as follows: <html> <head> <body> The br end tag is a bit special, and should be handled as if it was a br start tag. What happens here is as follows: The "before head" insertion mode will, upon receiving a br end tag, create a head node and switch to the "in head" insertion mode. "in head" will close the head node and move on to the "after head" insertion mode. I was expecting "after head" to see the </br> and do like it does on a start tag, which is to create a body node and move to the "in body" state, but the </br> is just ignored. I've changed my implementation of "after head" to handle </br> just like the "in head" insertion mode, which is: An end tag whose tag name is "br" Act as described in the "anything else" entry below. This results in the following dom, for the example above: <html> <head> <body> <br> This matches Internet Explorer and Opera, but not Firefox and Safari. Then again, it looks like Firefox and Safari ignore all </br> tags. Regards, Tommy
Received on Thursday, 4 December 2008 02:34:56 UTC