Changeset 231628 in webkit


Ignore:
Timestamp:
May 9, 2018 7:07:34 PM (6 years ago)
Author:
n_wang@apple.com
Message:

AX: VoiceOver iframe scrolling focus jumping bug
https://bugs.webkit.org/show_bug.cgi?id=176615
<rdar://problem/34333067>

Reviewed by Chris Fleizach.

Source/WebCore:

Scrolling to make elements visible is not working correctly for elements inside an
offscreen iframe. Fixed it by using RenderLayer::scrollRectToVisible() to handle
scrolling more properly.

Test: accessibility/scroll-to-make-visible-iframe-offscreen.html

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::scrollToMakeVisible const):

LayoutTests:

  • accessibility/resources/iframe.html: Added.
  • accessibility/scroll-to-make-visible-iframe-offscreen-expected.txt: Added.
  • accessibility/scroll-to-make-visible-iframe-offscreen.html: Added.
  • platform/win/TestExpectations:
Location:
trunk
Files:
3 added
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r231627 r231628  
     12018-05-09  Nan Wang  <n_wang@apple.com>
     2
     3        AX: VoiceOver iframe scrolling focus jumping bug
     4        https://bugs.webkit.org/show_bug.cgi?id=176615
     5        <rdar://problem/34333067>
     6
     7        Reviewed by Chris Fleizach.
     8
     9        * accessibility/resources/iframe.html: Added.
     10        * accessibility/scroll-to-make-visible-iframe-offscreen-expected.txt: Added.
     11        * accessibility/scroll-to-make-visible-iframe-offscreen.html: Added.
     12        * platform/win/TestExpectations:
     13
    1142018-05-09  Joanmarie Diggs  <jdiggs@igalia.com>
    215
  • trunk/LayoutTests/platform/win/TestExpectations

    r231555 r231628  
    15751575accessibility/scroll-to-make-visible-nested.html [ Skip ]
    15761576accessibility/scroll-to-make-visible-with-subfocus.html [ Skip ]
     1577accessibility/scroll-to-make-visible-iframe-offscreen.html [ Skip ]
    15771578
    15781579# Apparently missing support for roleDescription on Windows.
  • trunk/Source/WebCore/ChangeLog

    r231627 r231628  
     12018-05-09  Nan Wang  <n_wang@apple.com>
     2
     3        AX: VoiceOver iframe scrolling focus jumping bug
     4        https://bugs.webkit.org/show_bug.cgi?id=176615
     5        <rdar://problem/34333067>
     6
     7        Reviewed by Chris Fleizach.
     8
     9        Scrolling to make elements visible is not working correctly for elements inside an
     10        offscreen iframe. Fixed it by using RenderLayer::scrollRectToVisible() to handle
     11        scrolling more properly.
     12
     13        Test: accessibility/scroll-to-make-visible-iframe-offscreen.html
     14
     15        * accessibility/AccessibilityObject.cpp:
     16        (WebCore::AccessibilityObject::scrollToMakeVisible const):
     17
    1182018-05-09  Joanmarie Diggs  <jdiggs@igalia.com>
    219
  • trunk/Source/WebCore/accessibility/AccessibilityObject.cpp

    r230808 r231628  
    29822982    if (dispatchAccessibilityEventWithType(AccessibilityEventType::ScrollIntoView))
    29832983        return;
    2984     IntRect objectRect = snappedIntRect(boundingBoxRect());
    2985     objectRect.setLocation(IntPoint());
    2986     scrollToMakeVisibleWithSubFocus(objectRect);
     2984   
     2985    if (isScrollView() && parentObject())
     2986        parentObject()->scrollToMakeVisible();
     2987
     2988    if (auto* renderer = this->renderer())
     2989        renderer->scrollRectToVisible(SelectionRevealMode::Reveal, boundingBoxRect(), false, ScrollAlignment::alignCenterIfNotVisible, ScrollAlignment::alignCenterIfNotVisible);
    29872990}
    29882991
Note: See TracChangeset for help on using the changeset viewer.