A user account is required in order to edit this wiki, but we've had to disable public user registrations due to spam.

To request an account, ask an autoconfirmed user on IRC (such as one of these permanent autoconfirmed members).


From WHATWG Wiki
Revision as of 02:08, 9 April 2008 by Hixie (talk | contribs)
Jump to: navigation, search

Here are some ideas for how to include custom data in HTML documents.


<span data-thing="50" data-doohickey="4,5,1,2">bla bla</span>

if (span.dataSet.thing > 10) { ... }
span.dataSet.doohickey = '1,2,3,4';


<span custom:my-thing="50" custom:my-other-thing="4,5,1,2">bla bla</span>
(rejected because colons have special meaning in XML and so this would lead to
the HTML and XML DOM representations differing, which violates our intent to
keep the DOM accessors serialisation-agnostic.)
<span><param name=my-thing value="50"><param name=my-other-thing value="4,5,1,2">bla bla</span>
(rejected because it's so verbose that people would likely just do what
they do now, violating the spec, instead of using it.)
<span custom-my-thing="50" custom-my-other-thing="4,5,1,2">bla bla</span>
(rejected because "custom-" is not as good a prefix as "data-".)

If "custom" was site-specific, then wouldn't, e.g. "markbaker-my-thing" be better than a global "data-my-thing"? Otherwise there's a pretty good chance of collisions. Much more author friendly than namespaces. "data-" suggests that a central registry/wiki would be required to avoid collision.

The whole feature is site-specific -- who are you going to collide with? In syndication environments, of course, you could provide per-site prefixes as a convention, e.g. data-markbaker-thing, but if you're syndicating Web apps you're much more likely to run into problems with JS globals first. --Hixie