Check out the style-elements[0] package and the author's talk at Elm Europe introducing it[1]. It outputs HTML and CSS but doesn't base its semantics on either.
It has a clean-slate design, and there's a ton of buzz in the Elm community about it. :)
[0] http://package.elm-lang.org/packages/mdgriffith/style-elemen...
When I last gave it a try I had to manually generated the HTML document but without a (at least of of the box) syntax like jsx. If I recall correctly graphics is still there, but it's mainly used for games