Changeset 282956 in webkit


Ignore:
Timestamp:
Sep 23, 2021, 4:54:55 AM (4 years ago)
Author:
ntim@apple.com
Message:

AX: Split out isInert from isAXHidden on AccessibilityObject
https://bugs.webkit.org/show_bug.cgi?id=230680

Reviewed by Antti Koivisto.

Reasons to do this are:

  • Naming of isAXHidden is a bit of a lie
  • We don't want to inherit inert state from parent to child like we do for aria-hidden, especially

in the document is blocked by modal dialog case, where the modal should be interactable unlike its ancestors/siblings.

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::isAXHidden const):
(WebCore::AccessibilityObject::isInert const):
(WebCore::AccessibilityObject::defaultObjectInclusion const):

  • accessibility/AccessibilityObject.h:
  • accessibility/AccessibilityObjectInterface.h:
  • accessibility/isolatedtree/AXIsolatedObject.cpp:

(WebCore::AXIsolatedObject::isInert const):

  • accessibility/isolatedtree/AXIsolatedObject.h:
Location:
trunk/Source/WebCore
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r282955 r282956  
     12021-09-23  Tim Nguyen  <ntim@apple.com>
     2
     3        AX: Split out isInert from isAXHidden on AccessibilityObject
     4        https://bugs.webkit.org/show_bug.cgi?id=230680
     5
     6        Reviewed by Antti Koivisto.
     7
     8        Reasons to do this are:
     9        - Naming of isAXHidden is a bit of a lie
     10        - We don't want to inherit inert state from parent to child like we do for aria-hidden, especially
     11        in the document is blocked by modal dialog case, where the modal should be interactable unlike its ancestors/siblings.
     12
     13        * accessibility/AccessibilityObject.cpp:
     14        (WebCore::AccessibilityObject::isAXHidden const):
     15        (WebCore::AccessibilityObject::isInert const):
     16        (WebCore::AccessibilityObject::defaultObjectInclusion const):
     17        * accessibility/AccessibilityObject.h:
     18        * accessibility/AccessibilityObjectInterface.h:
     19        * accessibility/isolatedtree/AXIsolatedObject.cpp:
     20        (WebCore::AXIsolatedObject::isInert const):
     21        * accessibility/isolatedtree/AXIsolatedObject.h:
     22
    1232021-09-23  Tim Nguyen  <ntim@apple.com>
    224
  • trunk/Source/WebCore/accessibility/AccessibilityObject.cpp

    r282448 r282956  
    32283228bool AccessibilityObject::isAXHidden() const
    32293229{
    3230     if (node() && node()->isInert())
    3231         return true;
    3232 
    32333230    if (isFocused())
    32343231        return false;
     
    32513248}
    32523249
     3250bool AccessibilityObject::isInert() const
     3251{
     3252    return node() && node()->isInert();
     3253}
     3254
    32533255bool AccessibilityObject::isShowingValidationMessage() const
    32543256{
     
    32723274        return AccessibilityObjectInclusion::IgnoreObject;
    32733275   
    3274     if (ignoredFromModalPresence())
     3276    if (isInert() || ignoredFromModalPresence())
    32753277        return AccessibilityObjectInclusion::IgnoreObject;
    32763278   
  • trunk/Source/WebCore/accessibility/AccessibilityObject.h

    r281691 r282956  
    701701    bool isAXHidden() const override;
    702702    bool isDOMHidden() const override;
    703     bool isHidden() const override { return isAXHidden() || isDOMHidden(); }
     703    bool isInert() const override;
     704    bool isHidden() const override { return isAXHidden() || isDOMHidden() || isInert(); }
    704705
    705706#if PLATFORM(COCOA)
  • trunk/Source/WebCore/accessibility/AccessibilityObjectInterface.h

    r282643 r282956  
    14391439    virtual bool isAXHidden() const = 0;
    14401440    virtual bool isDOMHidden() const = 0;
     1441    virtual bool isInert() const = 0;
    14411442    virtual bool isHidden() const = 0;
    14421443
  • trunk/Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp

    r282643 r282956  
    23182318}
    23192319
     2320bool AXIsolatedObject::isInert() const
     2321{
     2322    ASSERT_NOT_REACHED();
     2323    return false;
     2324}
     2325
    23202326bool AXIsolatedObject::isHidden() const
    23212327{
  • trunk/Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.h

    r282450 r282956  
    643643    bool isAXHidden() const override;
    644644    bool isDOMHidden() const override;
     645    bool isInert() const override;
    645646    bool isHidden() const override;
    646647    void overrideAttachmentParent(AXCoreObject* parent) override;
Note: See TracChangeset for help on using the changeset viewer.