Re: SVG2Reqs

On 11/10/2011 5:00 AM, Shropshire, Andrew A wrote:
>
> Thanks for the links.  So we are in agreement that SVG, other than key 
> events, has most of what is needed to create a typical user 
> interface.  The SVG 1.1 spec specifically left out keyboard events
>
> See section 16.2:
>
> "As in DOM 2 Key events 
> <http://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113/events.html#Events-eventgroupings-keyevents> 
> ([DOM2EVENTS <http://www.w3.org/TR/SVG/refs.html#ref-DOM2EVENTS>], 
> section 1.6.3), the SVG specification does not provide a key event 
> set. An event set designed for use with keyboard input devices will be 
> included in a later version of the DOM and SVG specifications."
>
> which would mean the input control from carto.net is non-standard.
>

http://www.w3.org/TR/SVGTiny12/interact.html

SVG Tiny is the de-facto standard.

> I have built input controls using the HTML key events.  So I am 
> confident it can be done once key events are available in SVG.
>

I've built input controls using HTML key events atop HTML Canvas. I'm 
sure the same can be done for SVG. We've seen it.
It's just that authors are often unaware of WCAG, ATAG and ARIA.

> I see a lot of rendering technologies: WebGl, canvas, SVG, HTML, 
> MathMl for which the interaction, or how they fit together is not 
> clear.  I understand that rectangular regions of the screen can be 
> carved out and rendered to with one of these.  The <foreignObject> tag 
> allows for a rectangular region in SVG to be drawn with a different 
> technology (ie HTML).  Likewise, the <object> or <embed> tag in HTML 
> allows for SVG to be drawn in HTML in a rectangular region.  But what 
> about overlap?  What if I want a dropdown in SVG to draw on top of the 
> webGL box below it when the user opens the dropdown?  Can I surround a 
> block of HTML XML in a foreignObject  and apply an SVG scale 
> transform/rotate to it?  Or put a translucent SVG rectangle over a 
> WebGl box to dim it?  Can I draw WebGl over top of SVG?  Can I put an 
> HTML edit box on a wall in my 3D scene?  Will it receive input 
> events?  Can I draw WebGl overtop of HTML or SVG over HTML? Etc.
>

CSS handles all of this glue. Some portions of CSS are quite simple and 
can be forwarded over to the GPU or CPU with ease.
z-index, opacity, position and transitions on those values, for example.


> It would seem that WebGl is at the lowest level, followed by Canvas, 
> then SVG, then at the highest level, HTML/MathMl).
>
> WebGl -> Canvas -> SVG -> HTML/MathMl
>
> Was looking for a more uniform rendering pipeline where it is clear 
> how these specialized rendering technologies (each addressing a 
> special niche) can work together clearly.  Can I write MathMl around 
> the spiral like it the example you gave and control the stroke 
> properties and perhaps stick in on a cube drawn in WebGl and have it 
> illuminated with a green spotlight? Probably not in a standard way.
>

You'd be crossing quite a few specs: SVG+WebGL and Canvas 2d with hidden 
HTML input elements and ARIA annotations.

-Charles

Received on Thursday, 10 November 2011 19:42:59 UTC