This presentation by Mark Birbeck was given at the Kings of Code conference.
Something which was part of the early design concepts from the XHTML Role Attribute Module, which has got a little lost, is that elements from any language can provide a handy source of role values too.