I think it would be a good idea to orthogonalize these attributes;
that is, leave CLASS attribute values entirely in the user's
namespace, and use ROLE for everything with predefined semantics.
That way authors could use any value for CLASS without worrying
that it will later get defined to mean something unexpected.
Browsers and future revisions of the DTD would use ROLE for
experimental features or standardized semantics. CLASS attribute
values would always be treated as opaque tokens.
How does that sound?
--Joe English
joe@trystero.art.com