- From: Rik Cabanier <cabanier@gmail.com>
- Date: Mon, 28 Apr 2014 08:41:30 -0700
- To: Mark Sadecki <mark@w3.org>
- Cc: "public-canvas-api@w3.org" <public-canvas-api@w3.org>
- Message-ID: <CAGN7qDDgtrpGRC+-T5W3eoK02Hf72cSo53htqGhaXnbVjhNVZg@mail.gmail.com>
Hi Mark, I implemented a prototype implementation of hit regions in Firefox. It has not landed in FF Nightly yet, but that should happen shortly. Here's a build for windows: http://ftp.mozilla.org/pub/mozilla.org/firefox/try-builds/cabanier@adobe.com-7c242c5e96ce/try-win32/firefox-31.0a1.en-US.win32.zip and for mac: http://ftp.mozilla.org/pub/mozilla.org/firefox/try-builds/cabanier@adobe.com-7c242c5e96ce/try-macosx64/firefox-31.0a1.en-US.mac.dmg After downloading, set the hitregions flag to true (about:config -> canvas.hitregions.enabled) and restart. Here's an example: http://codepen.io/anon/pen/zEsxa?editors=101 Hovering over the areas, should update the text with the ID of the area. The regions should also be accessible to a11y tools. Please let me know if this is behaving as expected, especially the a11y part. Rik On Tue, Apr 15, 2014 at 12:53 PM, Mark Sadecki <mark@w3.org> wrote: > The following changes were discussed during the canvas accessibility sub > group > call on 14 APR 2014 > > <http://www.w3.org/2014/04/14-html-a11y-minutes.html> > > ## The region representing the control > > * Add a step that handles a null value for control, similar to the one > that is > defined for ID, just before the existing step 1. > > > "If control is null, return nothing and abort these steps." > > ## The region for a pixel > > * Change "set of pixels" to "path" in step 2 and link "path" to > < > http://www.w3.org/html/wg/drafts/2dcontext/html5_canvas_CR/#hit-region%27s-path > > > > ## addHitRegion() > > * add the following step after step 3 (Let specified pixels be the pixels > contained in source path.) > > > "Remove from specified pixels any pixels not contained within the > clipping > region." > > ## clearHitRegions() > > * Remove Step 2 RE: Garbage Collection > > ## MouseEvent > > We agreed that we would eliminate event retargeting altogether and just > pass the > event.region to the canvas element. This would require the following > changes: > > * Revert order of steps and add step for handling a canvas element with no > hit > region list. The first 4 steps should read as follows: > > 1. If the pointing device is not indicating a pixel on the canvas, act > as > normal and abort these steps. > -> 2. If the canvas element has no hit region list, act as normal and abort > these steps. > 3. Let pixel be the pixel indicated by the pointing device. > 4. Let region be the hit region that is the region for the pixel pixel > on > this canvas element's bitmap, if any. > > * The following steps are no longer required (the numbers will be shifted > by one > if the above steps have been followed) and should be removed: > > 7. Let control be the region's control, if any. > 8. Let the canvas element be the target of the event object, unless there > is a > control, then target the control instead. > 9. Continue dispatching the event, but with the updated event object and > target > as given in the above steps. > > -- > Mark Sadecki > Web Accessibility Engineer > World Wide Web Consortium, Web Accessibility Initiative > Telephone: +1.617.715.4017 > Email: mark@w3.org > Web: http://w3.org/People/mark > >
Received on Monday, 28 April 2014 15:42:00 UTC