.. And IE6 to the pitfall..
Referencing
this valid CSS 2.1 declaration,
Code:
div[structure] {font-weight: bold}
for this (invalid) tag:
But as a developer, I feel obliged to kill support for IE6. Instead alerting users their 10 year (+1 month, +5 day) old browser is out of date, and use the "mobile", JavaScript-free version of the site for <=IE6 rather than a ton of hacks to make it work. Mobile version will work, and at the same time look ugly enough to make the user think about upgrading.
Therefore, we can *all start using custom attributes today (and could have started a while ago).
*Although it won't validate as standards-compliant mark-up by w3c. Additionally, finicky browsers require a custom DTD (or modification in doctype declaration) to avoid QUIRKS-mode, and if you want to be able to test for mark-up errors, you must use custom validators (such as Xerces) for your mark-up. Same requirements for custom tag-names apply for mark-up, but CSS standards permit custom attributes, unlike custom tag-names.