<?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>24748</bug_id>
          
          <creation_ts>2014-02-20 19:11:55 +0000</creation_ts>
          <short_desc>An event to notify the page that we&apos;re about to scroll (e.g. because a node was focused)</short_desc>
          <delta_ts>2014-03-11 16:56:20 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>CSS</product>
          <component>CSSOM</component>
          <version>unspecified</version>
          <rep_platform>Other</rep_platform>
          <op_sys>other</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P3</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>24750</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Ian &apos;Hixie&apos; Hickson">ian</reporter>
          <assigned_to name="Simon Pieters">zcorpan</assigned_to>
          <cc>ian</cc>
    
    <cc>mike</cc>
    
    <cc>zcorpan</cc>
          
          <qa_contact>public-css-bugzilla</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>100986</commentid>
    <comment_count>0</comment_count>
    <who name="Ian &apos;Hixie&apos; Hickson">ian</who>
    <bug_when>2014-02-20 19:11:55 +0000</bug_when>
    <thetext>Use case: some fallback content in a canvas is given AT focus (not keyboard focus) and the user agent, based on an AT request, would like to scroll to the element. However it&apos;s being painted on a canvas, and in fact is off the canvas at this time, so we need to tell the author to scroll to it.

Proposed design: whenever we need to scroll, fire an event on the element, that bubbles, and whose default action is to do the scroll. When the event is fired on a canvas or a fallback element in a canvas, include the relevant region, if any (much as we do with mouse events).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>100987</commentid>
    <comment_count>1</comment_count>
    <who name="Ian &apos;Hixie&apos; Hickson">ian</who>
    <bug_when>2014-02-20 19:12:12 +0000</bug_when>
    <thetext>zcorpan: Should this belong in CSSOM?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>101228</commentid>
    <comment_count>2</comment_count>
    <who name="Simon Pieters">zcorpan</who>
    <bug_when>2014-02-24 10:12:05 +0000</bug_when>
    <thetext>I&apos;m OK with having this in CSSOM View, although I think it really belongs in &quot;the&quot; UI Events spec.

Given the information in this bug I&apos;m not confident with my ability to spec what is needed here, I have no idea what hooks, if any, you need for canvas. Maybe you can spec out in HTML what you have in mind first?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>101248</commentid>
    <comment_count>3</comment_count>
    <who name="Ian &apos;Hixie&apos; Hickson">ian</who>
    <bug_when>2014-02-24 18:27:13 +0000</bug_when>
    <thetext>I can take care of the canvas side of this the same way I do it for MouseEvent (see &quot;partial interface MouseEvent&quot; in the HTML spec). I think we only need a spec to say &quot;when a user agent feels the need to scroll to a particular part of the page, e.g. due to the user moving the focus or due to an accessibility tool requesting a scroll to a specific element, the user agent must fire this event and if it&apos;s not canceled must scroll to the element in question&quot; (which then fires a scroll event, of course). This would be distinct from regular scrolling via the scrollbar, touch pan, or as the default action of a mouse wheel event. Just make sure you use a new event type so that I can extend it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>101320</commentid>
    <comment_count>4</comment_count>
    <who name="Simon Pieters">zcorpan</who>
    <bug_when>2014-02-25 09:46:41 +0000</bug_when>
    <thetext>How about &apos;beforescroll&apos;?

So these cases should not fire it:

User scrolls normally.
Scrolling API is invoked.
focus() is invoked.

But these should (if scrolling is necessary):

User asks for AT focus on some element.
User asks for keyboard focus on some element (e.g. tabs to it).

?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>102208</commentid>
    <comment_count>5</comment_count>
    <who name="Ian &apos;Hixie&apos; Hickson">ian</who>
    <bug_when>2014-03-11 16:56:20 +0000</bug_when>
    <thetext>Sounds right.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>