Is there a simple way to get a true isometric projection with the HTML5 canvas element?
One of the properties of an isometric projection (and all axonometric projections) is that objects in the distance do not grow smaller.
Therefore, trivially, HTML5 supports isometric projections because you can just draw all your art assets that way, and overlay them to create the depth.
Edit: Revised the answer so it is more clear.
Here is a quick note on how to modify something simple like a square so that it is isometric. What I do here is run 3 draw routines. First, I draw a normal square who's center origin is the middle of the canvas (but your origin could be anywhere). Then, I make some basic calculations to turn it into an isometric polygon. This isn;t the "right" way to do this, but it should help you understand what the math in the next draw routine is doing. I then re-draw the polygon using a isometric transform, which is a short cut of sorts for doing what we did manually in the previous example.
An explanation of how this code works can be found here (I just found this today): http://www.kirupa.com/developer/actionscript/isometric_transforms.htm. This explains a bit about a coordinate system similar to what we used. Unfortunately, it doesn't really explain the math, which I will do shortly (need to run).
In addition as mentioned in the previous post, some of this code is taken from http://github.com/j03m/trafficcone which is an isometric game engine for html5 that I wrote. To see how this code is used to create a full world, see Engine.js and GameWorldModelIso.js. Engine.js shows how a full grid can be drawn (drawMock3dGrid) and GameWorldModelIso.js shows how to build on the basic forumla used above to help you navigate the gameworld, place things in cells etc without having to think about the angles and such.