Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 08cc264f5e2337bed167ab1d39c54057540c5bc2
      
https://github.com/WebKit/WebKit/commit/08cc264f5e2337bed167ab1d39c54057540c5bc2
  Author: Joshua Hoffman <[email protected]>
  Date:   2025-06-09 (Mon, 09 Jun 2025)

  Changed paths:
    A LayoutTests/accessibility/mac/designmode-lazy-spellchecking-expected.txt
    A LayoutTests/accessibility/mac/designmode-lazy-spellchecking.html
    A 
LayoutTests/accessibility/mac/editable-page-lazy-spellchecking-expected.txt
    A LayoutTests/accessibility/mac/editable-page-lazy-spellchecking.html
    M LayoutTests/platform/mac-wk1/TestExpectations
    M Source/WebCore/accessibility/AXCoreObject.h
    M Source/WebCore/accessibility/AXLogger.cpp
    M Source/WebCore/accessibility/AXObjectCache.cpp
    M Source/WebCore/accessibility/AXObjectCache.h
    M Source/WebCore/accessibility/AccessibilityObject.cpp
    M Source/WebCore/accessibility/AccessibilityObject.h
    M Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.h
    M Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp
    M Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.h
    M Source/WebCore/dom/Document.cpp
    M Source/WebCore/page/Page.cpp
    M Source/WebCore/page/Page.h
    M Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundlePage.cpp
    M Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h
    M Source/WebKit/WebProcess/WebPage/WebPage.cpp
    M Tools/WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h
    M Tools/WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl
    M Tools/WebKitTestRunner/InjectedBundle/Bindings/TextInputController.idl
    M Tools/WebKitTestRunner/InjectedBundle/TextInputController.cpp
    M Tools/WebKitTestRunner/InjectedBundle/TextInputController.h
    M 
Tools/WebKitTestRunner/InjectedBundle/atspi/AccessibilityUIElementAtspi.cpp
    M Tools/WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm
    M Tools/WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm
    M 
Tools/WebKitTestRunner/InjectedBundle/playstation/AccessibilityUIElementPlayStation.cpp
    M Tools/WebKitTestRunner/InjectedBundle/win/AccessibilityUIElementWin.cpp

  Log Message:
  -----------
  AX: DidSpellCheck attribute not applied for editable pages/documents
https://bugs.webkit.org/show_bug.cgi?id=294103
rdar://149710398

Reviewed by Tyler Wilcock.

We did not previously consider an editable web area (page) to be an editible
ancestor, so the AXDidSpellCheck attribute would not be applied. This caused
certain ATs to not read out misspellings, if they handle the spellchecking.

This PR adds a new check to editableAncestor to return true if we hit a
web area that is also editable. New testing infrastructure was also added to
allow this attribute to be visible to tests that use the
attributedStringForTextMarkerRangeWithDidSpellCheck method.

* LayoutTests/accessibility/mac/designmode-lazy-spellchecking-expected.txt: 
Added.
* LayoutTests/accessibility/mac/designmode-lazy-spellchecking.html: Added.
* LayoutTests/accessibility/mac/editable-page-lazy-spellchecking-expected.txt: 
Added.
* LayoutTests/accessibility/mac/editable-page-lazy-spellchecking.html: Added.
* LayoutTests/platform/mac-wk1/TestExpectations:
* Source/WebCore/accessibility/AXCoreObject.h:
(WebCore::Accessibility::editableAncestor):
* Source/WebCore/accessibility/AXLogger.cpp:
(WebCore::operator<<):
* Source/WebCore/accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::handlePageEditibilityChanged):
(WebCore::AXObjectCache::updateIsolatedTree):
* Source/WebCore/accessibility/AXObjectCache.h:
* Source/WebCore/accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::isEditableWebArea const):
* Source/WebCore/accessibility/AccessibilityObject.h:
* Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.h:
* Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp:
(WebCore::AXIsolatedTree::updateNodeProperties):
(WebCore::createIsolatedObjectData):
* Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.h:
* Source/WebCore/dom/Document.cpp:
(WebCore::Document::setDesignMode):
* Source/WebCore/page/Page.cpp:
(WebCore::Page::setEditable):
* Source/WebCore/page/Page.h:
(WebCore::Page::setEditable): Deleted.
* Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
(WKBundlePageSetEditable):
* Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
* Tools/WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
* Tools/WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
* Tools/WebKitTestRunner/InjectedBundle/Bindings/TextInputController.idl:
* Tools/WebKitTestRunner/InjectedBundle/TextInputController.cpp:
(WTR::TextInputController::setPageEditable):
* Tools/WebKitTestRunner/InjectedBundle/TextInputController.h:
* Tools/WebKitTestRunner/InjectedBundle/atspi/AccessibilityUIElementAtspi.cpp:
(WTR::AccessibilityUIElement::attributedStringForTextMarkerRangeWithDidSpellCheck):
* Tools/WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
(WTR::AccessibilityUIElement::attributedStringForTextMarkerRangeWithDidSpellCheck):
* Tools/WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::createJSStringRef):
(WTR::AccessibilityUIElement::attributedStringForTextMarkerRange):
(WTR::AccessibilityUIElement::attributedStringForTextMarkerRangeWithDidSpellCheck):
(WTR::AccessibilityUIElement::attributedStringForTextMarkerRangeWithOptions):
* 
Tools/WebKitTestRunner/InjectedBundle/playstation/AccessibilityUIElementPlayStation.cpp:
(WTR::AccessibilityUIElement::attributedStringForTextMarkerRangeWithDidSpellCheck):
* Tools/WebKitTestRunner/InjectedBundle/win/AccessibilityUIElementWin.cpp:
(WTR::AccessibilityUIElement::attributedStringForTextMarkerRangeWithDidSpellCheck):

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to