mit data-uris kannst du mittels CSS auch Javascript ausführen. Hier werden data-uris allerdings entfernt, der obige Ansatz ist ein theoretischer und nicht getesteter Ansatz den für das entfernen/escapen zuständigen Parser zu umgehen in dem die data-url in mehreren Segmenten auf mehrer data-[*] Attribute verteilt wird und danach mit mehreren attr() wieder zusammengesetzt und in das Pseudoelement :after des Links mittels content eingefügt wird.
Hier ist ein Beispiel wie man mit data-uris Soundfiles abspielen kann:
http://browse.feedreader.com/c/S_Anand/15778544Data-uris können Bilder, Javascript,Audios,Flash und mehr enthalten.
data:audio/mp3;
data:text/html;
data:image/svg+xml;
data:image/png;
etc.
Da mit content: keine neuen HTML Elemente erzeugt werden können bleibt dir zur Umsetzung nur ein iframe mit display:block das bei hover über den Link auf display:inline-block schaltet. a:hover iframe[selection] {display:block}