Spice has a prototype Web client which runs entirely within a modern browser. It is limited in function, a bit slow, and lacks support for many features of Spice (audio, video, agents just to name a few).
A complete TODO list is kept in the source code.
However, it is surprisingly functional, and certainly a useful proof of concept.
The browser must support binary WebSockets as well as the binaryType of arraybuffer. As of June, 2012, Firefox 12 and Chrome >= 18 both provided the required features.
Currently, you must also use a WebSocket proxy, as Spice has no built in support for the WebSocket protocol. websockify works great.
You must, of course, also have a Spice server of some kind. It has been tested primarily against Xspice, but it also works with qemu. However, it works better with linux guests than with Windows guests.
The following steps should enable you to use the HTML5 Client:
websockify/websockify.py 5959 localhost:5900
Be sure to give the hostname where websockify is running and the port number you provided when starting websockify.