Intent to implement: Hit regions (canvas)

138 views
Skip to first unread message

Jinho Bang

unread,
May 23, 2014, 8:42:38 AM5/23/14
to blin...@chromium.org

Contact emails

jinho...@samsung.com,  f...@opera.com, dmaz...@chromium.org


Spec

http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#hit-regions


Summary

Allows the author to establish regions on a canvas 2D context. These regions can be associated with HTML elements 

and they will inherit their ARIA properties. In addition, mouse events will be updated so events that fire on a canvas and 

that hit a region, the id of that region is a member of the event.


We should provide following things at least:

 - CRC2D.addHitRegion(HitRegionOptions); method

 - CRC2D.removeHitRegion(); method

 - HitRegionOptions (id, control and so on)


Motivation

Canvas authors are starting to create more complex user interface in canvas that can only could only [sic] map

to several underlying elements ([a] spline editor, for example, would map to several range controls). To enable 

a better canvas+fallback DOM coding pattern, it seems prudent to enable easier canvas hit testing and event handling.

In the current HTML5 specification, authors are advised to create a fallback DOM under the canvas element to enable 

screen readers and screen magnifiers to interact with canvas user interfaces. The size and position of those elements 

are not defined, which causes problems for accessibility tools - what size/position should they report for these elements?

Because canvas elements usually respond to user input, it seems prudent to solve the hit testing and accessibility 

issues with the same mechanism. (from http://www.w3.org/html/wg/wiki/ChangeProposals/hitregions#Summary)


Also, Please refer to http://j.mp/a11y-canvas (from http://www.w3c.org/Talk)


Compatibility Risk

Low; It seems that some parts of the features has already been implemented in Firefox. (by Rik)

 - http://bugzilla.mozilla.org/show_bug.cgi?id=966591

 - http://bugzilla.mozilla.org/show_bug.cgi?id=979692


Ongoing technical constraints

None


Will this feature be supported on all five Blink platforms (Windows, Mac, Linux, Chrome OS and Android)?

Yes


OWP launch tracking bug?

http://crbug.com/328961


Link to entry on the feature dashboard

http://www.chromestatus.com/features/4761413495029760


Requesting approval to ship?

No

Reply all
Reply to author
Forward
0 new messages