<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://www.w3.org/Bugs/Public/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4"
          urlbase="https://www.w3.org/Bugs/Public/"
          
          maintainer="sysbot+bugzilla@w3.org"
>

    <bug>
          <bug_id>13181</bug_id>
          
          <creation_ts>2011-07-07 22:43:22 +0000</creation_ts>
          <short_desc>Canvas does not allow mouse events to be directed to keyboard accessible objects in fallback content</short_desc>
          <delta_ts>2012-11-15 17:35:26 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>HTML WG</product>
          <component>LC1 HTML Canvas 2D Context</component>
          <version>unspecified</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>NEEDSINFO</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard>canvas RFE</status_whiteboard>
          <keywords>a11y, a11ytf, a11y_canvas, NotInW3CSpecYet, TrackerIssue</keywords>
          <priority>P1</priority>
          <bug_severity>enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Rich Schwerdtfeger">schwer</reporter>
          <assigned_to name="Ian &apos;Hixie&apos; Hickson">ian</assigned_to>
          <cc>eoconnor</cc>
    
    <cc>faulkner.steve</cc>
    
    <cc>ian</cc>
    
    <cc>laura.lee.carlson</cc>
    
    <cc>lwatson</cc>
    
    <cc>mike</cc>
    
    <cc>public-html-a11y</cc>
    
    <cc>public-html-admin</cc>
    
    <cc>public-html-wg-issue-tracking</cc>
    
    <cc>rubys</cc>
          
          <qa_contact name="HTML WG Bugzilla archive list">public-html-bugzilla</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>50805</commentid>
    <comment_count>0</comment_count>
    <who name="Rich Schwerdtfeger">schwer</who>
    <bug_when>2011-07-07 22:43:22 +0000</bug_when>
    <thetext>This is an annoying problem with canvas. You have to have to apply keyboard and and mouse handlers on entirely different objects. The keyboard handler can be applied to a fallback content element that it belongs to, yet the pointing device handlers have to be applied to an entirely different element &lt;canvas&gt; for all the drawing objects in canvas. 

This could be addressed by creating defining drawing paths in canvas and binding them to canvas fallback content that they are associated with. The pointing device events could be dispatched to the fallback content element in response to a hit. If the drawing paths were assigned a z-order a simple pointInPath() call could be used to assess the hit. If no path is hit the event would pass down to the canvas element just as it does today. 

See the related bug: http://www.w3.org/Bugs/Public/show_bug.cgi?id=13176</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>50981</commentid>
    <comment_count>1</comment_count>
    <who name="Aryeh Gregor">ayg</who>
    <bug_when>2011-07-13 22:14:15 +0000</bug_when>
    <thetext>Didn&apos;t see this.  Promoting to P1 for the same reason as bug 13176 comment 3.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>52777</commentid>
    <comment_count>2</comment_count>
    <who name="Michael[tm] Smith">mike</who>
    <bug_when>2011-08-04 05:04:09 +0000</bug_when>
    <thetext>mass-move component to LC1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>54668</commentid>
    <comment_count>3</comment_count>
    <who name="Ian &apos;Hixie&apos; Hickson">ian</who>
    <bug_when>2011-08-11 04:57:19 +0000</bug_when>
    <thetext>Do you have a URL to a page showing this problem?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>55007</commentid>
    <comment_count>4</comment_count>
    <who name="Sam Ruby">rubys</who>
    <bug_when>2011-08-14 23:51:48 +0000</bug_when>
    <thetext>This bug was marked as P1 over 30 days ago, and still hasn&apos;t been RESOLVED.

Editors: please RESOLVE it ASAP.  NEEDSINFO and WONTFIX are valid resolutions
for this part of the process.  We simply want to get this bug to a state where
we are prepared to accept change proposals should anybody be inclined to
produce such.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>57367</commentid>
    <comment_count>5</comment_count>
    <who name="Sam Ruby">rubys</who>
    <bug_when>2011-09-26 20:34:42 +0000</bug_when>
    <thetext>We had an agreement for 1 month turn around for P1 bugs, and this is well past that point.  As such, if anybody wishes to escalate this, they can do so at this time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>57373</commentid>
    <comment_count>6</comment_count>
    <who name="Rich Schwerdtfeger">schwer</who>
    <bug_when>2011-09-26 21:34:33 +0000</bug_when>
    <thetext>Ian, the only way to add a mouse handler in canvas is to bind it to the canvas element. However, keyboard events do go to the actual fallback content itself as representations of objects that are drawn on canvas. At this stage I can&apos;t:

place three buttons in fallback content, and  
place them in the keyboard navigation order, and 
produce three corresponding drawing objects on canvas, and
place a on click handler on the individual buttons in fallback content and receive the events when a click occurs on those buttons renderings on canvas directy. 

Rather I would have to place the onclick handler on the canvas element and perform the hit testing to dispatch the onclick to the fallback content elements. That is why the bug is filed.

You don&apos;t have to write an example to prove it. 

Sam, if you feel it is necessary to escalate this please let me know. As far as I can tell this has not been closed or reopened. It is marked new.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>57456</commentid>
    <comment_count>7</comment_count>
    <who name="Sam Ruby">rubys</who>
    <bug_when>2011-09-27 23:42:30 +0000</bug_when>
    <thetext>(In reply to comment #6)
&gt; 
&gt; Sam, if you feel it is necessary to escalate this please let me know. As far as
&gt; I can tell this has not been closed or reopened. It is marked new.

If it is not a priority at this time, consider dropping the priority.  If it is a priority, consider writing a Change Proposal.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>57513</commentid>
    <comment_count>8</comment_count>
    <who name="Rich Schwerdtfeger">schwer</who>
    <bug_when>2011-09-29 15:35:55 +0000</bug_when>
    <thetext>Note: I spoke with David Bolter at Mozilla this week and he stated that they plan on implementing a solution for this by Q1 2012. That includes defect:
http://www.w3.org/Bugs/Public/show_bug.cgi?id=13176</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>57534</commentid>
    <comment_count>9</comment_count>
    <who name="Ian &apos;Hixie&apos; Hickson">ian</who>
    <bug_when>2011-09-29 23:19:35 +0000</bug_when>
    <thetext>I&apos;ll speak with David about what he had in mind.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>57552</commentid>
    <comment_count>10</comment_count>
    <who name="steve faulkner">faulkner.steve</who>
    <bug_when>2011-09-30 09:27:52 +0000</bug_when>
    <thetext>(In reply to comment #9)
&gt; I&apos;ll speak with David about what he had in mind.

It would be best for all stakeholders if discussion occurs on a public mailing list not in secret</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>58072</commentid>
    <comment_count>11</comment_count>
    <who name="Sam Ruby">rubys</who>
    <bug_when>2011-10-11 19:44:00 +0000</bug_when>
    <thetext>Reminder: a failure to escalate this bug by January 14th, 2012 will result in this bug no longer being treated as a last call comment:

  http://lists.w3.org/Archives/Public/public-html/2011Jun/0315.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>61357</commentid>
    <comment_count>12</comment_count>
    <who name="Ian &apos;Hixie&apos; Hickson">ian</who>
    <bug_when>2011-12-09 23:24:58 +0000</bug_when>
    <thetext>BTW, it would be helpful if this wiki page (or another but with the same
structure) could be filled in documenting precisely what it is that needs
addressing here:

   http://wiki.whatwg.org/wiki/Canvas#Limitations_of_real-world_use_cases

See also bug 13176.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>62557</commentid>
    <comment_count>13</comment_count>
    <who name="Rich Schwerdtfeger">schwer</who>
    <bug_when>2012-01-11 17:56:56 +0000</bug_when>
    <thetext>Provide location information to assistive technology.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>62624</commentid>
    <comment_count>14</comment_count>
    <who name="Rich Schwerdtfeger">schwer</who>
    <bug_when>2012-01-12 22:28:43 +0000</bug_when>
    <thetext>Issue Title: Provide canvas location and hit testing capability to fallback content 

Issue text: Provide a facility to assign location information for rendered child of fallback content and provide a way to do hit testing within the location of the rendered child such that pointer events may be dispatched to the rendered child. The dimensions defining the location may be provided to an assistive technology, such as a magnifier, to determine the objects location on the screen. 

Both bugs 13181 and 13176 must be associated with this issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>62795</commentid>
    <comment_count>15</comment_count>
    <who name="Sam Ruby">rubys</who>
    <bug_when>2012-01-16 23:13:49 +0000</bug_when>
    <thetext>https://www.w3.org/html/wg/tracker/issues/201</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>62830</commentid>
    <comment_count>16</comment_count>
    <who name="Sam Ruby">rubys</who>
    <bug_when>2012-01-18 01:55:39 +0000</bug_when>
    <thetext>Changed status per: http://lists.w3.org/Archives/Public/public-html/2012Jan/0087.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>62968</commentid>
    <comment_count>17</comment_count>
    <who name="Rich Schwerdtfeger">schwer</who>
    <bug_when>2012-01-20 22:58:35 +0000</bug_when>
    <thetext> Additional information for the editor: http://wiki.whatwg.org/wiki/Canvas#Limitations_of_real-world_use_cases</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>64711</commentid>
    <comment_count>18</comment_count>
    <who name="Ian &apos;Hixie&apos; Hickson">ian</who>
    <bug_when>2012-02-29 00:08:33 +0000</bug_when>
    <thetext>Reclosing since this is marked TrackerIssue, but note that I intend to address
this very shortly in a pretty comprehensive manner. See
http://wiki.whatwg.org/wiki/Canvas#Regions for details.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>78363</commentid>
    <comment_count>19</comment_count>
    <who name="Léonie Watson">lwatson</who>
    <bug_when>2012-11-15 17:35:26 +0000</bug_when>
    <thetext>Comment via Rich Schwerdtfeger:

We have a hit testing proposal that includes paths that have been applied to canvas under the section Hit Regions. This allows an author to route mouse events to fallback content where the fallback element is bound to a closed path on canvas. Specifically, the addHitRegion has a control argument which refers to a fallback content element to which the events would be routed.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>