RE: Final changes to Hit Regions before return to Last Call

Rik,

I see it responds to a mousemove event, which was something we wanted but thought might be difficult. Looks like it covers it nicely.

-Jay

From: Rik Cabanier [mailto:cabanier@gmail.com]
Sent: Monday, April 28, 2014 8:42 AM
To: Mark Sadecki
Cc: public-canvas-api@w3.org
Subject: Re: Final changes to Hit Regions before return to Last Call

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<mailto: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<tel:%2B1.617.715.4017>
Email: mark@w3.org<mailto:mark@w3.org>
Web: http://w3.org/People/mark

Received on Monday, 28 April 2014 17:28:57 UTC