Some Very Strange Markup

Erica Kastner · November 7, 2007

I was viewing the source of the Facebook iPhone webapp to see how they did their fancy transitions between pages, when I found some very strange HTML:

<body home="home.php">
<div class="toolbar1 tops chrome">
<u href="home.php"><img src="images/facebook.png"/></u>
<u class="button plain leftButton" href="#status">Status</u>
<u class="button plain" href="#search" radio="true">Search</u>
</div>

How can a <body> tag have a “home” attribute or a <u> tag have an “href” attribute? I scoured the W3C spec and looked for a possible mobile HTML standard supporting it, but couldn’t find anything.Well, it turns out they’re doing some non-standard trickery by adding custom attributes to their elements. They’re then using JavaScript to get the values of those attributes and use them in their “onclick” handlers for each element. Sneaky!