When I joined the CSS Working Group in 1997, I proposed quite rapidly to extend the content property to all replaced elements. IMG for instance. The goal was to centralize in a site's stylesheet the reference to site's logo for instance.

img.siteLogo { content: url("siteLogo.png"); }
....
<img class="siteLogo" alt="My own company"/>

I needed it for all EDF's web sites, and many other corporations had expressed the same need to centralize image URLs in one single location, the main stylesheet. Refused at that time. Then I proposed it once again imagining pure CSS rollovers with that:

img.rightArrow { content: url("rightArrow.png"); }
img.rightArrow:hover { content: url("rightArrow-hover.png"); }
....
<img class="rightArrow" alt="Click to select"/>

Refused again but the rollover argument was a good one, if not the good one... So the CSS Working Group finally accepted to extend the content property to all elements for CSS 3. And Opera has implemented it. Sincere congrats to Håkon Lie and his team. The numbers of technical possibilities that opens is incredible. Generated content will have a great fate, IMHO.

Amazing how many years it can take sometimes for a simple and very useful proposal to be implemented...