“But none of this answers the original question: why do we have an element? Why not an
“Scripting is here to stay, but should be avoided where more convenient declarative markup can be used. Scripting should be device and presentation neutral unless scoped in a device-specific way (e.g. unless included in XBL).”
I do, however, strongly agree with keeping the languages as neutral as possible. Ubiquitous support and good, fast debuggability is key for developing any app.
If the standard bodies want to maintain the largely stupid and meaningless distinction between markup and code, then they need to provide sufficiently extensible markup to allow us to avoid code for meaningless tasks. HTML 5 data attributes don’t really cut it, and you already have toolkits such as Dojo “abusing” them to implement functionality that would actually allow for markup to be used as desired. Why they couldn’t copy XML namespaces is entirely beyond me.