The canvas "sub-DOM" proposal should allow some of this, but AFAIK, it is not 
implemented in WebKit yet. I believe we were the first to propose it, though to 
date I think it is only implemented in IE9. I have not checked IE to verify 
support, but they have claimed support in IE9. Basically the ARIA-enhanced 
subtree is accessible to the keyboard and assistive technology, and the DOM 
structure mimics the UI visible in the canvas. It requires a focus model change 
to WebKit because the canvas subtree was not originally intended to be 
accessible in any modality.

http://lists.w3.org/Archives/Public/public-canvas-api/2009OctDec/0026.html

I'm not sure I agree with the need for a touchhover event, but I'd be 
interested to hear how you think it should work.

James


On Mar 11, 2011, at 3:30 PM, Chris Fleizach wrote:

> 
> There's no established API to handle this, but we are working on a W3C 
> proposal 
> 
> http://lists.w3.org/Archives/Public/wai-xtech/2010Aug/att-0079/UserInterfaceIndependence.html
> 
> to address this.
> 
> In the meantime, VoiceOver on iOS will call .focus() every time it "hovers" 
> on an item, so you can use that monitor where VO is at any moment.
> 
> If that doesn't work with <canvas> tags please file bugs at bugs.webkit.org 
> and CC me
> 
> On Mar 11, 2011, at 9:43 AM, Charles Pritchard wrote:
> 
>> Recently, while working on code review / accessibility for a large canvas 
>> application, I found that the iOS VoiceOver AT
>> does not play well with the html canvas element. It can work, but it's not a 
>> natural transition from html to
>> canvas (with "buttons" in it). Using transparent [button] tags work, but it 
>> is rather awkward.
>> 
>> It occurred to me that, when VoiceOver is on, on these mobile devices, that 
>> a new "touch" type is active.
>> For the time being, I'm proposing calling it "touchhover".
>> 
>> Currently, VoiceOver AT captures touch events, waiting until the user has 
>> set virtual focus to an element,
>> then tapped twice, to set event focus on that element. It works quite well 
>> for html elements.
>> 
>> My thinking is that this state, where it's not passing 
>> touchstart/touchmove/touchend events, is
>> very much like the traditional "hover" events we've used with mice.
>> 
>> If touchhover events were passed through Mobile Safari, I'd be able to use 
>> hit detection on canvas
>> elements, and set the canvas element to the appropriate title matching 
>> whatever the user has focus upon.
>> 
>> Does this make sense? Should I provide more examples? The purpose here is to 
>> enable UI elements
>> in Canvas to work appropriately with touch-based AT, such as the iOS 
>> VoiceOver extension.
>> 
>> 
>> -Charles
>> 
>> 
>> _______________________________________________
>> webkit-dev mailing list
>> [email protected]
>> http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
> 

_______________________________________________
webkit-dev mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev

Reply via email to