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

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>310358</bug_id>
          
          <creation_ts>2026-03-20 07:19:18 -0700</creation_ts>
          <short_desc>Scrolling position cannot be altered on iOS during scroll</short_desc>
          <delta_ts>2026-03-27 11:10:32 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Scrolling</component>
          <version>Safari 26</version>
          <rep_platform>iPhone / iPad</rep_platform>
          <op_sys>iOS 26</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=187449</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alex">alexander</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>karlcow</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>2192061</commentid>
    <comment_count>0</comment_count>
    <who name="Alex">alexander</who>
    <bug_when>2026-03-20 07:19:18 -0700</bug_when>
    <thetext>I have a case where I need to change scroll position mid-scroll and scroll needs to continue from the changed scroll position.

It works correctly on Windows with touchpad in both Chrome and Firefox
It works correctly on Mac in Chrome, Firefox and Safari
It works correctly on Android in both Chrome and Firefox
It does NOT work on iOS

On iOS when I scroll with my finger touching the screen and during this scroll action I change scrollLeft, the very next touchmove event puts the scroll back to where it would have been if I didn&apos;t change scrollLeft.

To better understand what I am talking about open this Codepen and try to slowly scroll the container. The scroll position resets every 3 seconds. In every browser and every OS you would see that once the scroll was reset – it will continue just fine from the beginning, even if you didn&apos;t let go of the screen/touchpad. On iOS it will still be one continuous scroll, the scroll position reset would flicker for a moment and be ignored after next touchmove.

https://codepen.io/waterplea/pen/bNwrgJp</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2192950</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2026-03-23 17:41:58 -0700</bug_when>
    <thetext>&lt;rdar://problem/173197596&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2192988</commentid>
    <comment_count>2</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2026-03-23 20:36:56 -0700</bug_when>
    <thetext>Is it just the finger-down behavior that you are saying has a problem? Not the flick-scroll?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2193008</commentid>
    <comment_count>3</comment_count>
    <who name="Alex">alexander</who>
    <bug_when>2026-03-23 21:48:49 -0700</bug_when>
    <thetext>I think so. I don&apos;t know, here&apos;s what I&apos;m trying to make, an infinite carousel:
https://codepen.io/waterplea/pen/XJjzrQW

It takes like just a dozen of LOC and it works perfectly everywhere. Except iOS, as always.

Trying to workaround it by changing styles with :active to keep IntersectionObserver from triggering, but then there&apos;s this:
https://bugs.webkit.org/show_bug.cgi?id=310540

Trying to do it by hand, but then there&apos;s this:
https://bugs.webkit.org/show_bug.cgi?id=191218

Very basic CSS does not work. Very basic JS events do not work and this is ignored for 8 years. I&apos;m not even sure what am I doing here.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>