To ensure HTML remains semantic as the web makes its gradual transition to 3D rich interfaces and content, I am submitting a proposal for WHATWG's consideration. The below examples contain HTML as it exists now, the current working standard, and finally, a combination of both concepts.<br>
<br>NOTES AND BACKGROUND INFORMATION:<br><br>* Compressing the semantic qualities of 3D content into the generic <canvas/> element is very, very bad. I do not hate <canvas/>, but you may not want to procedurally generate all of your 3D content, just as you do not want to procedurally generate all of your 2D content (or any of it) today. Below, you'll see the
fictional <model/>, which sources to a standard XML schema for 3D data (though it could be any format a browser vendor supports).<br><br>* Our goal should be to create
new, semantic methods suited for 3D, and integrate them into the
form/aesthetic/behavior relationship which HTML/CSS/JavaScript share.<br><br>* Webkit's CSS-based 3D is a part of that, but it needs
to be expanded to suit truly 3D rendering of traditionally 2D content,
as opposed to treating HTML entities as "wafers". This is exemplified
in the fictional "extrude" property of the <h1/> in the third
example.<br><br>SEMANTIC 2D<br>-------------------------------------------<br><h1>Hello World!</h1><br><img src="earth.png" alt="The World" /><br><strong>Greet the world with confidance.</strong><br>
<a href="#">Find out more at <a href="http://example.com">example.com</a></a><br><br>NON-SEMANTIC 3D<br>-------------------------------------------<br><canvas id="hello-world-scene">Disabled browsers see this stuff, compatible browsers see one obscure DOM node.</canvas><br>
<br>PROPOSED SEMANTIC 3D<br>-------------------------------------------<br><h1 style="extrude: 35px; transform: rotateZ(15deg);">Hello World!</h1><br><model src="earth.xml" alt="The World" /><br>
<strong>Greet the world with confidance.</strong><br><a href="#">Find out more at <a href="http://example.com">example.com</a></a><br><br><br>Please lend your thoughts and let's discuss a more semantic and accessible use of 3D. The fictional HTML and CSS above are just proposals, and I am not at all asserting these ideas are the best possible solution, only that there is a very real problem.<br>
<br>-Brian MB<br>