[webkit-changes] [WebKit/WebKit] 62d20f: AX: ActiveElementChanged notifications for combobo...

AndresGonzalezApple noreply at github.com
Thu May 16 04:46:02 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 62d20f512eb9f6f24701de01d371f258711a0157
      https://github.com/WebKit/WebKit/commit/62d20f512eb9f6f24701de01d371f258711a0157
  Author: Andres Gonzalez <andresg_22 at apple.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M LayoutTests/accessibility/combobox/aria-combobox-control-owns-elements-expected.txt
    M LayoutTests/accessibility/combobox/aria-combobox-control-owns-elements.html
    M LayoutTests/accessibility/combobox/aria-combobox-no-owns-expected.txt
    M LayoutTests/accessibility/combobox/aria-combobox-no-owns.html
    M LayoutTests/accessibility/combobox/mac/combobox-activedescendant-notifications.html
    M Source/WebCore/accessibility/AXCoreObject.cpp
    M Source/WebCore/accessibility/AXCoreObject.h
    M Source/WebCore/accessibility/AXObjectCache.cpp
    M Source/WebCore/accessibility/atspi/AXObjectCacheAtspi.cpp
    M Source/WebCore/accessibility/mac/AXObjectCacheMac.mm

  Log Message:
  -----------
  AX: ActiveElementChanged notifications for combobox should target the combobox in question, not its controlled or owned element.
https://bugs.webkit.org/show_bug.cgi?id=274178
<rdar://problem/128083384>

Reviewed by Tyler Wilcock.

Until now, if a combobox controlled or owned another element, we imposed the rule that the target of the ActiveElementChanged notification should be the controlled or owned element, typically a list, listbox, tree or grid. This rule is unnecessary and adds significant complexity to the handling of these changes. Furthermore, this is the root cause of problems in comboboxes like the search field in google.com. This patch eliminates this rule and simplifies the code around combobox ActiveElementChanged notifications.

* LayoutTests/accessibility/combobox/aria-combobox-control-owns-elements-expected.txt:
* LayoutTests/accessibility/combobox/aria-combobox-control-owns-elements.html:
* LayoutTests/accessibility/combobox/aria-combobox-no-owns-expected.txt:
* LayoutTests/accessibility/combobox/aria-combobox-no-owns.html:
* LayoutTests/accessibility/combobox/mac/combobox-activedescendant-notifications.html:
* Source/WebCore/accessibility/AXCoreObject.cpp:
(WebCore::AXCoreObject::activeDescendant const):
(WebCore::AXCoreObject::canBeControlledBy const): Deleted.
* Source/WebCore/accessibility/AXCoreObject.h:
* Source/WebCore/accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::handleActiveDescendantChange):
* Source/WebCore/accessibility/atspi/AXObjectCacheAtspi.cpp:
(WebCore::AXObjectCache::postPlatformNotification):
* Source/WebCore/accessibility/mac/AXObjectCacheMac.mm:
(WebCore::AXObjectCache::postPlatformNotification):

Canonical link: https://commits.webkit.org/278858@main



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list