Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 1623de98773e0e3c0173a0004f16ecf836cd7997
      
https://github.com/WebKit/WebKit/commit/1623de98773e0e3c0173a0004f16ecf836cd7997
  Author: Tyler Wilcock <[email protected]>
  Date:   2026-09-27 (Sun, 27 Sep 2026)

  Changed paths:
    A LayoutTests/accessibility/detected-form-error-appearance-expected.txt
    A LayoutTests/accessibility/detected-form-error-appearance.html
    A 
LayoutTests/accessibility/detected-form-error-deep-in-rerendered-section-expected.txt
    A 
LayoutTests/accessibility/detected-form-error-deep-in-rerendered-section.html
    A 
LayoutTests/accessibility/detected-form-error-distant-text-is-not-a-message-expected.txt
    A 
LayoutTests/accessibility/detected-form-error-distant-text-is-not-a-message.html
    A 
LayoutTests/accessibility/detected-form-error-empty-field-waits-for-interaction-expected.txt
    A 
LayoutTests/accessibility/detected-form-error-empty-field-waits-for-interaction.html
    A LayoutTests/accessibility/detected-form-error-geometry-expected.txt
    A LayoutTests/accessibility/detected-form-error-geometry.html
    A LayoutTests/accessibility/detected-form-error-in-live-region-expected.txt
    A LayoutTests/accessibility/detected-form-error-in-live-region.html
    A 
LayoutTests/accessibility/detected-form-error-label-is-not-a-message-expected.txt
    A LayoutTests/accessibility/detected-form-error-label-is-not-a-message.html
    A 
LayoutTests/accessibility/detected-form-error-long-text-is-not-a-message-expected.txt
    A 
LayoutTests/accessibility/detected-form-error-long-text-is-not-a-message.html
    A LayoutTests/accessibility/detected-form-error-message-emptied-expected.txt
    A LayoutTests/accessibility/detected-form-error-message-emptied.html
    A 
LayoutTests/accessibility/detected-form-error-message-replaced-expected.txt
    A LayoutTests/accessibility/detected-form-error-message-replaced.html
    A 
LayoutTests/accessibility/detected-form-error-message-rewritten-expected.txt
    A LayoutTests/accessibility/detected-form-error-message-rewritten.html
    A 
LayoutTests/accessibility/detected-form-error-message-wrapper-without-a-box-expected.txt
    A 
LayoutTests/accessibility/detected-form-error-message-wrapper-without-a-box.html
    A 
LayoutTests/accessibility/detected-form-error-outranks-author-saying-valid-expected.txt
    A 
LayoutTests/accessibility/detected-form-error-outranks-author-saying-valid.html
    A LayoutTests/accessibility/detected-form-error-pairing-expected.txt
    A LayoutTests/accessibility/detected-form-error-pairing.html
    A LayoutTests/accessibility/detected-form-error-plain-markup-expected.txt
    A LayoutTests/accessibility/detected-form-error-plain-markup.html
    A 
LayoutTests/accessibility/detected-form-error-repeat-submission-expected.txt
    A LayoutTests/accessibility/detected-form-error-repeat-submission.html
    A 
LayoutTests/accessibility/detected-form-error-reset-updates-invalid-status-expected.txt
    A 
LayoutTests/accessibility/detected-form-error-reset-updates-invalid-status.html
    A 
LayoutTests/accessibility/detected-form-error-revealed-without-mutation-expected.txt
    A 
LayoutTests/accessibility/detected-form-error-revealed-without-mutation.html
    A 
LayoutTests/accessibility/detected-form-error-survives-field-recreation-expected.txt
    A 
LayoutTests/accessibility/detected-form-error-survives-field-recreation.html
    A 
LayoutTests/accessibility/detected-form-error-survives-other-form-submission-expected.txt
    A 
LayoutTests/accessibility/detected-form-error-survives-other-form-submission.html
    A 
LayoutTests/accessibility/detected-form-error-survives-relation-rebuild-expected.txt
    A 
LayoutTests/accessibility/detected-form-error-survives-relation-rebuild.html
    A 
LayoutTests/accessibility/detected-form-error-written-during-native-validation-expected.txt
    A 
LayoutTests/accessibility/detected-form-error-written-during-native-validation.html
    A 
LayoutTests/accessibility/detected-form-error-written-during-submit-event-expected.txt
    A 
LayoutTests/accessibility/detected-form-error-written-during-submit-event.html
    A LayoutTests/accessibility/form-field-with-error-search-key-expected.txt
    A LayoutTests/accessibility/form-field-with-error-search-key.html
    A 
LayoutTests/accessibility/ios-simulator/detected-form-error-outranks-author-saying-valid-expected.txt
    A 
LayoutTests/accessibility/ios-simulator/detected-form-error-outranks-author-saying-valid.html
    A LayoutTests/accessibility/ios-simulator/form-owner-element-expected.txt
    A LayoutTests/accessibility/ios-simulator/form-owner-element.html
    A 
LayoutTests/accessibility/ios-simulator/form-owner-hidden-form-expected.txt
    A LayoutTests/accessibility/ios-simulator/form-owner-hidden-form.html
    A 
LayoutTests/accessibility/ios-simulator/possible-form-validation-error-notification-expected.txt
    A 
LayoutTests/accessibility/ios-simulator/possible-form-validation-error-notification.html
    A 
LayoutTests/accessibility/isolated-tree/detected-form-error-appearance-expected.txt
    A 
LayoutTests/accessibility/isolated-tree/detected-form-error-appearance.html
    A 
LayoutTests/accessibility/isolated-tree/detected-form-error-deep-in-rerendered-section-expected.txt
    A 
LayoutTests/accessibility/isolated-tree/detected-form-error-deep-in-rerendered-section.html
    A 
LayoutTests/accessibility/isolated-tree/detected-form-error-distant-text-is-not-a-message-expected.txt
    A 
LayoutTests/accessibility/isolated-tree/detected-form-error-distant-text-is-not-a-message.html
    A 
LayoutTests/accessibility/isolated-tree/detected-form-error-empty-field-waits-for-interaction-expected.txt
    A 
LayoutTests/accessibility/isolated-tree/detected-form-error-empty-field-waits-for-interaction.html
    A 
LayoutTests/accessibility/isolated-tree/detected-form-error-geometry-expected.txt
    A LayoutTests/accessibility/isolated-tree/detected-form-error-geometry.html
    A 
LayoutTests/accessibility/isolated-tree/detected-form-error-in-live-region-expected.txt
    A 
LayoutTests/accessibility/isolated-tree/detected-form-error-in-live-region.html
    A 
LayoutTests/accessibility/isolated-tree/detected-form-error-label-is-not-a-message-expected.txt
    A 
LayoutTests/accessibility/isolated-tree/detected-form-error-label-is-not-a-message.html
    A 
LayoutTests/accessibility/isolated-tree/detected-form-error-long-text-is-not-a-message-expected.txt
    A 
LayoutTests/accessibility/isolated-tree/detected-form-error-long-text-is-not-a-message.html
    A 
LayoutTests/accessibility/isolated-tree/detected-form-error-message-emptied-expected.txt
    A 
LayoutTests/accessibility/isolated-tree/detected-form-error-message-emptied.html
    A 
LayoutTests/accessibility/isolated-tree/detected-form-error-message-replaced-expected.txt
    A 
LayoutTests/accessibility/isolated-tree/detected-form-error-message-replaced.html
    A 
LayoutTests/accessibility/isolated-tree/detected-form-error-message-rewritten-expected.txt
    A 
LayoutTests/accessibility/isolated-tree/detected-form-error-message-rewritten.html
    A 
LayoutTests/accessibility/isolated-tree/detected-form-error-message-wrapper-without-a-box-expected.txt
    A 
LayoutTests/accessibility/isolated-tree/detected-form-error-message-wrapper-without-a-box.html
    A 
LayoutTests/accessibility/isolated-tree/detected-form-error-outranks-author-saying-valid-expected.txt
    A 
LayoutTests/accessibility/isolated-tree/detected-form-error-outranks-author-saying-valid.html
    A 
LayoutTests/accessibility/isolated-tree/detected-form-error-pairing-expected.txt
    A LayoutTests/accessibility/isolated-tree/detected-form-error-pairing.html
    A 
LayoutTests/accessibility/isolated-tree/detected-form-error-plain-markup-expected.txt
    A 
LayoutTests/accessibility/isolated-tree/detected-form-error-plain-markup.html
    A 
LayoutTests/accessibility/isolated-tree/detected-form-error-repeat-submission-expected.txt
    A 
LayoutTests/accessibility/isolated-tree/detected-form-error-repeat-submission.html
    A 
LayoutTests/accessibility/isolated-tree/detected-form-error-reset-updates-invalid-status-expected.txt
    A 
LayoutTests/accessibility/isolated-tree/detected-form-error-reset-updates-invalid-status.html
    A 
LayoutTests/accessibility/isolated-tree/detected-form-error-revealed-without-mutation-expected.txt
    A 
LayoutTests/accessibility/isolated-tree/detected-form-error-revealed-without-mutation.html
    A 
LayoutTests/accessibility/isolated-tree/detected-form-error-survives-field-recreation-expected.txt
    A 
LayoutTests/accessibility/isolated-tree/detected-form-error-survives-field-recreation.html
    A 
LayoutTests/accessibility/isolated-tree/detected-form-error-survives-other-form-submission-expected.txt
    A 
LayoutTests/accessibility/isolated-tree/detected-form-error-survives-other-form-submission.html
    A 
LayoutTests/accessibility/isolated-tree/detected-form-error-survives-relation-rebuild-expected.txt
    A 
LayoutTests/accessibility/isolated-tree/detected-form-error-survives-relation-rebuild.html
    A 
LayoutTests/accessibility/isolated-tree/detected-form-error-written-during-native-validation-expected.txt
    A 
LayoutTests/accessibility/isolated-tree/detected-form-error-written-during-native-validation.html
    A 
LayoutTests/accessibility/isolated-tree/detected-form-error-written-during-submit-event-expected.txt
    A 
LayoutTests/accessibility/isolated-tree/detected-form-error-written-during-submit-event.html
    A 
LayoutTests/accessibility/isolated-tree/form-field-with-error-search-key-expected.txt
    A 
LayoutTests/accessibility/isolated-tree/form-field-with-error-search-key.html
    M 
LayoutTests/accessibility/isolated-tree/mac/required-control-invalid-status.html
    A 
LayoutTests/accessibility/isolated-tree/possible-form-validation-error-not-posted-for-live-region-expected.txt
    A 
LayoutTests/accessibility/isolated-tree/possible-form-validation-error-not-posted-for-live-region.html
    M LayoutTests/accessibility/mac/required-control-invalid-status.html
    A 
LayoutTests/accessibility/possible-form-validation-error-not-posted-for-live-region-expected.txt
    A 
LayoutTests/accessibility/possible-form-validation-error-not-posted-for-live-region.html
    M LayoutTests/platform/glib/TestExpectations
    M LayoutTests/platform/ios/TestExpectations
    M LayoutTests/resources/accessibility-helper.js
    M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml
    M Source/WebCore/Sources.txt
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    M Source/WebCore/accessibility/AXCoreObject.cpp
    M Source/WebCore/accessibility/AXCoreObject.h
    A Source/WebCore/accessibility/AXFormActivityMonitor.cpp
    A Source/WebCore/accessibility/AXFormActivityMonitor.h
    M Source/WebCore/accessibility/AXLogger.cpp
    M Source/WebCore/accessibility/AXNotifications.h
    M Source/WebCore/accessibility/AXObjectCache.cpp
    M Source/WebCore/accessibility/AXObjectCache.h
    M Source/WebCore/accessibility/AXSearchManager.cpp
    M Source/WebCore/accessibility/AXSearchManager.h
    M Source/WebCore/accessibility/AccessibilityObject.cpp
    M Source/WebCore/accessibility/AccessibilityObject.h
    M Source/WebCore/accessibility/atspi/AXObjectCacheAtspi.cpp
    M Source/WebCore/accessibility/atspi/AccessibilityObjectAtspi.cpp
    M Source/WebCore/accessibility/atspi/AccessibilityObjectTextAtspi.cpp
    M Source/WebCore/accessibility/cocoa/CocoaAccessibilityConstants.h
    M Source/WebCore/accessibility/cocoa/WebAccessibilityObjectWrapperBase.mm
    M Source/WebCore/accessibility/ios/AXObjectCacheIOS.mm
    M Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm
    M Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp
    M Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.h
    M Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp
    M Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.h
    M Source/WebCore/accessibility/mac/AXObjectCacheMac.mm
    M Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm
    M Source/WebCore/html/HTMLFormElement.cpp
    M Source/WebCore/html/HTMLFormElement.h
    M Source/WebCore/html/ValidatedFormListedElement.cpp
    M Source/WebCore/inspector/InspectorAuditAccessibilityObject.cpp
    M Source/WebCore/inspector/agents/InspectorDOMAgent.cpp
    M Source/WebCore/inspector/agents/frame/FrameDOMAgent.cpp
    M Source/WebCore/platform/Logging.h
    M Source/WebCore/testing/Internals.cpp
    M Source/WebCore/testing/Internals.h
    M Source/WebCore/testing/Internals.idl
    M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in
    M Tools/WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp
    M Tools/WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h
    M Tools/WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl
    M Tools/WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.h
    M Tools/WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm

  Log Message:
  -----------
  AX: Detect and report form validation errors a page never announced or 
associated with a field
https://bugs.webkit.org/show_bug.cgi?id=324769
rdar://188038649

Reviewed by Dominic Mazzoni.

A large portion of real forms report a failed submission by writing text into a 
plain
<div>. There is no aria-invalid on the field, no aria-errormessage pointing at 
the
text, and no live region / role=alert to announce it. Sighted users see the 
message appear next
to the field. An assistive technology is told nothing at all, so the user is 
left
with a form that refused to submit and no easy way to find out why.

Add AXFormActivityMonitor, which repairs this. HTMLFormElement tells the cache 
when
a submission was attempted and no navigation happened (e.g. because validation 
failed).
The monitor then watches for a settling period, collects text that appeared and 
that no live region,
ariaNotify or element description already conveyed, and pairs each message with 
the
field it most likely describes.

Geometry decides the pairing, because what makes a sighted user read a message 
as being
about a field is that it appears next to it. Each paired field is then given the
aria-errormessage relation the author never wrote, so the message is reachable 
through
AXErrorMessageElements afterwards.

Report the result as AXNotification::PossibleFormValidationError. The name says
"possible" deliberately. This is a heuristic, and whether the user is presented 
anything
is the assistive technology's decision.

Add AccessibilitySearchKey::FormFieldWithError so an assistive technology can 
move
between the fields that are wrong.

On iOS, expose accessibilityFormFieldElements and accessibilityFormOwnerElement 
so a
control reaches its form and a form enumerates its fields, including controls
associated by form="id" that are not descendants of the form element and so 
cannot
be found by searching its subtree.

All of this is behind a new AccessibilityFormErrorDetectionEnabled feature flag.

* LayoutTests/accessibility/detected-form-error-appearance-expected.txt: Added.
* LayoutTests/accessibility/detected-form-error-appearance.html: Added.
* 
LayoutTests/accessibility/detected-form-error-deep-in-rerendered-section-expected.txt:
 Added.
* 
LayoutTests/accessibility/detected-form-error-deep-in-rerendered-section.html: 
Added.
* LayoutTests/accessibility/detected-form-error-geometry-expected.txt: Added.
* LayoutTests/accessibility/detected-form-error-geometry.html: Added.
* LayoutTests/accessibility/detected-form-error-in-live-region-expected.txt: 
Added.
* LayoutTests/accessibility/detected-form-error-in-live-region.html: Added.
* 
LayoutTests/accessibility/detected-form-error-label-is-not-a-message-expected.txt:
 Added.
* LayoutTests/accessibility/detected-form-error-label-is-not-a-message.html: 
Added.
* LayoutTests/accessibility/detected-form-error-message-emptied-expected.txt: 
Added.
* LayoutTests/accessibility/detected-form-error-message-emptied.html: Added.
* LayoutTests/accessibility/detected-form-error-message-replaced-expected.txt: 
Added.
* LayoutTests/accessibility/detected-form-error-message-replaced.html: Added.
* LayoutTests/accessibility/detected-form-error-message-rewritten-expected.txt: 
Added.
* LayoutTests/accessibility/detected-form-error-message-rewritten.html: Added.
* 
LayoutTests/accessibility/detected-form-error-message-wrapper-without-a-box-expected.txt:
 Added.
* 
LayoutTests/accessibility/detected-form-error-message-wrapper-without-a-box.html:
 Added.
* 
LayoutTests/accessibility/detected-form-error-outranks-author-saying-valid-expected.txt:
 Added.
* 
LayoutTests/accessibility/detected-form-error-outranks-author-saying-valid.html:
 Added.
* LayoutTests/accessibility/detected-form-error-pairing-expected.txt: Added.
* LayoutTests/accessibility/detected-form-error-pairing.html: Added.
* LayoutTests/accessibility/detected-form-error-plain-markup-expected.txt: 
Added.
* LayoutTests/accessibility/detected-form-error-plain-markup.html: Added.
* LayoutTests/accessibility/detected-form-error-repeat-submission-expected.txt: 
Added.
* LayoutTests/accessibility/detected-form-error-repeat-submission.html: Added.
* 
LayoutTests/accessibility/detected-form-error-revealed-without-mutation-expected.txt:
 Added.
* LayoutTests/accessibility/detected-form-error-revealed-without-mutation.html: 
Added.
* 
LayoutTests/accessibility/detected-form-error-survives-field-recreation-expected.txt:
 Added.
* LayoutTests/accessibility/detected-form-error-survives-field-recreation.html: 
Added.
* 
LayoutTests/accessibility/detected-form-error-survives-other-form-submission-expected.txt:
 Added.
* 
LayoutTests/accessibility/detected-form-error-survives-other-form-submission.html:
 Added.
* 
LayoutTests/accessibility/detected-form-error-survives-relation-rebuild-expected.txt:
 Added.
* LayoutTests/accessibility/detected-form-error-survives-relation-rebuild.html: 
Added.
* 
LayoutTests/accessibility/detected-form-error-written-during-native-validation-expected.txt:
 Added.
* 
LayoutTests/accessibility/detected-form-error-written-during-native-validation.html:
 Added.
* 
LayoutTests/accessibility/detected-form-error-written-during-submit-event-expected.txt:
 Added.
* 
LayoutTests/accessibility/detected-form-error-written-during-submit-event.html: 
Added.
* LayoutTests/accessibility/form-field-with-error-search-key-expected.txt: 
Added.
* LayoutTests/accessibility/form-field-with-error-search-key.html: Added.
* 
LayoutTests/accessibility/ios-simulator/detected-form-error-outranks-author-saying-valid-expected.txt:
 Added.
* 
LayoutTests/accessibility/ios-simulator/detected-form-error-outranks-author-saying-valid.html:
 Added.
* LayoutTests/accessibility/ios-simulator/form-field-elements-expected.txt: 
Added.
* 
LayoutTests/accessibility/ios-simulator/form-field-elements-script-created-expected.txt:
 Added.
* 
LayoutTests/accessibility/ios-simulator/form-field-elements-script-created.html:
 Added.
* LayoutTests/accessibility/ios-simulator/form-field-elements.html: Added.
* 
LayoutTests/accessibility/ios-simulator/possible-form-validation-error-notification-expected.txt:
 Added.
* 
LayoutTests/accessibility/ios-simulator/possible-form-validation-error-notification.html:
 Added.
* 
LayoutTests/accessibility/isolated-tree/detected-form-error-appearance-expected.txt:
 Added.
* LayoutTests/accessibility/isolated-tree/detected-form-error-appearance.html: 
Added.
* 
LayoutTests/accessibility/isolated-tree/detected-form-error-deep-in-rerendered-section-expected.txt:
 Added.
* 
LayoutTests/accessibility/isolated-tree/detected-form-error-deep-in-rerendered-section.html:
 Added.
* 
LayoutTests/accessibility/isolated-tree/detected-form-error-geometry-expected.txt:
 Added.
* LayoutTests/accessibility/isolated-tree/detected-form-error-geometry.html: 
Added.
* 
LayoutTests/accessibility/isolated-tree/detected-form-error-in-live-region-expected.txt:
 Added.
* 
LayoutTests/accessibility/isolated-tree/detected-form-error-in-live-region.html:
 Added.
* 
LayoutTests/accessibility/isolated-tree/detected-form-error-label-is-not-a-message-expected.txt:
 Added.
* 
LayoutTests/accessibility/isolated-tree/detected-form-error-label-is-not-a-message.html:
 Added.
* 
LayoutTests/accessibility/isolated-tree/detected-form-error-message-emptied-expected.txt:
 Added.
* 
LayoutTests/accessibility/isolated-tree/detected-form-error-message-emptied.html:
 Added.
* 
LayoutTests/accessibility/isolated-tree/detected-form-error-message-replaced-expected.txt:
 Added.
* 
LayoutTests/accessibility/isolated-tree/detected-form-error-message-replaced.html:
 Added.
* 
LayoutTests/accessibility/isolated-tree/detected-form-error-message-rewritten-expected.txt:
 Added.
* 
LayoutTests/accessibility/isolated-tree/detected-form-error-message-rewritten.html:
 Added.
* 
LayoutTests/accessibility/isolated-tree/detected-form-error-message-wrapper-without-a-box-expected.txt:
 Added.
* 
LayoutTests/accessibility/isolated-tree/detected-form-error-message-wrapper-without-a-box.html:
 Added.
* 
LayoutTests/accessibility/isolated-tree/detected-form-error-outranks-author-saying-valid-expected.txt:
 Added.
* 
LayoutTests/accessibility/isolated-tree/detected-form-error-outranks-author-saying-valid.html:
 Added.
* 
LayoutTests/accessibility/isolated-tree/detected-form-error-pairing-expected.txt:
 Added.
* LayoutTests/accessibility/isolated-tree/detected-form-error-pairing.html: 
Added.
* 
LayoutTests/accessibility/isolated-tree/detected-form-error-plain-markup-expected.txt:
 Added.
* 
LayoutTests/accessibility/isolated-tree/detected-form-error-plain-markup.html: 
Added.
* 
LayoutTests/accessibility/isolated-tree/detected-form-error-repeat-submission-expected.txt:
 Added.
* 
LayoutTests/accessibility/isolated-tree/detected-form-error-repeat-submission.html:
 Added.
* 
LayoutTests/accessibility/isolated-tree/detected-form-error-revealed-without-mutation-expected.txt:
 Added.
* 
LayoutTests/accessibility/isolated-tree/detected-form-error-revealed-without-mutation.html:
 Added.
* 
LayoutTests/accessibility/isolated-tree/detected-form-error-survives-field-recreation-expected.txt:
 Added.
* 
LayoutTests/accessibility/isolated-tree/detected-form-error-survives-field-recreation.html:
 Added.
* 
LayoutTests/accessibility/isolated-tree/detected-form-error-survives-other-form-submission-expected.txt:
 Added.
* 
LayoutTests/accessibility/isolated-tree/detected-form-error-survives-other-form-submission.html:
 Added.
* 
LayoutTests/accessibility/isolated-tree/detected-form-error-survives-relation-rebuild-expected.txt:
 Added.
* 
LayoutTests/accessibility/isolated-tree/detected-form-error-survives-relation-rebuild.html:
 Added.
* 
LayoutTests/accessibility/isolated-tree/detected-form-error-written-during-native-validation-expected.txt:
 Added.
* 
LayoutTests/accessibility/isolated-tree/detected-form-error-written-during-native-validation.html:
 Added.
* 
LayoutTests/accessibility/isolated-tree/detected-form-error-written-during-submit-event-expected.txt:
 Added.
* 
LayoutTests/accessibility/isolated-tree/detected-form-error-written-during-submit-event.html:
 Added.
* 
LayoutTests/accessibility/isolated-tree/form-field-with-error-search-key-expected.txt:
 Added.
* 
LayoutTests/accessibility/isolated-tree/form-field-with-error-search-key.html: 
Added.
* 
LayoutTests/accessibility/isolated-tree/mac/required-control-invalid-status-expected.txt:
* 
LayoutTests/accessibility/isolated-tree/mac/required-control-invalid-status.html:
* 
LayoutTests/accessibility/isolated-tree/possible-form-validation-error-not-posted-for-live-region-expected.txt:
 Added.
* 
LayoutTests/accessibility/isolated-tree/possible-form-validation-error-not-posted-for-live-region.html:
 Added.
* 
LayoutTests/accessibility/isolated-tree/possible-form-validation-error-requires-submission-expected.txt:
 Added.
* 
LayoutTests/accessibility/isolated-tree/possible-form-validation-error-requires-submission.html:
 Added.
* LayoutTests/accessibility/mac/required-control-invalid-status-expected.txt:
* LayoutTests/accessibility/mac/required-control-invalid-status.html:
* 
LayoutTests/accessibility/possible-form-validation-error-not-posted-for-live-region-expected.txt:
 Added.
* 
LayoutTests/accessibility/possible-form-validation-error-not-posted-for-live-region.html:
 Added.
* 
LayoutTests/accessibility/possible-form-validation-error-requires-submission-expected.txt:
 Added.
* 
LayoutTests/accessibility/possible-form-validation-error-requires-submission.html:
 Added.
* LayoutTests/platform/glib/TestExpectations:
* LayoutTests/platform/ios/TestExpectations:
* LayoutTests/resources/accessibility-helper.js:
* Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml:
* Source/WebCore/Sources.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/accessibility/AXCoreObject.cpp:
(WebCore::AXCoreObject::invalidStatus const): Deleted.
* Source/WebCore/accessibility/AXCoreObject.h:
* Source/WebCore/accessibility/AXFormActivityMonitor.cpp: Added.
(WebCore::isStructural):
(WebCore::namesAControl):
(WebCore::containsNonMessageContent):
(WebCore::isErrorMessageShaped):
(WebCore::isWorthAnnouncing):
(WebCore::appendStaticText):
(WebCore::messageText):
(WebCore::boundsForMessage):
(WebCore::messageFieldAffinity):
(WebCore::AXFormActivityMonitor::AXFormActivityMonitor):
(WebCore::AXFormActivityMonitor::setSettleDelayForTesting):
(WebCore::AXFormActivityMonitor::settleDelay const):
(WebCore::AXFormActivityMonitor::checkInterval const):
(WebCore::AXFormActivityMonitor::quietPeriod const):
(WebCore::AXFormActivityMonitor::didAttemptSubmissionWithoutNavigation):
(WebCore::AXFormActivityMonitor::didStartLoading):
(WebCore::AXFormActivityMonitor::cancel):
(WebCore::couldHoldMessage):
(WebCore::AXFormActivityMonitor::noteChangedContent):
(WebCore::AXFormActivityMonitor::collectErrorMessagesFrom):
(WebCore::AXFormActivityMonitor::noteAnnouncedText):
(WebCore::AXFormActivityMonitor::collectErrorMessagesFromChangedElements):
(WebCore::AXFormActivityMonitor::settleTimerFired):
(WebCore::AXFormActivityMonitor::requestReport):
(WebCore::AXFormActivityMonitor::report):
* Source/WebCore/accessibility/AXFormActivityMonitor.h: Added.
* Source/WebCore/accessibility/AXLogger.cpp:
(WebCore::operator<<):
* Source/WebCore/accessibility/AXNotifications.h:
* Source/WebCore/accessibility/AXObjectCache.cpp:
(WebCore::AXNotificationWithData::debugDescription const):
(WebCore::AXObjectCache::handleTextChanged):
(WebCore::AXObjectCache::handleChildrenChanged):
(WebCore::AXObjectCache::notificationPostTimerFired):
(WebCore::AXObjectCache::postARIANotifyNotification):
(WebCore::AXObjectCache::postLiveRegionNotification):
(WebCore::AXObjectCache::noteAnnouncedText):
(WebCore::AXObjectCache::postPossibleFormValidationErrorNotification):
(WebCore::messageIsEmpty):
(WebCore::AXObjectCache::fieldHasDetectedError const):
(WebCore::AXObjectCache::onFormSubmissionAttemptWithoutNavigation):
(WebCore::AXObjectCache::onFormSubmissionWillNavigate):
(WebCore::AXObjectCache::frameLoadingEventNotification):
(WebCore::AXObjectCache::handleAttributeChange):
(WebCore::AXObjectCache::performDeferredCacheUpdate):
(WebCore::AXObjectCache::updateIsolatedTree):
(WebCore::AXObjectCache::updateRelationsIfNeeded):
(WebCore::isFormControlForAccessibility):
(WebCore::isFormFieldForAccessibility):
(WebCore::AXObjectCache::formFieldObjects):
(WebCore::AXObjectCache::formOwnerObject):
(WebCore::AXObjectCache::formFieldsForErrorPairing):
(WebCore::AXObjectCache::addDetectedFormErrors):
(WebCore::AXObjectCache::addDetectedFormErrorRelations):
(WebCore::AXObjectCache::clearDetectedErrorsForField):
(WebCore::AXObjectCache::scheduleCacheUpdate):
(WebCore::AXObjectCache::updateDetectedFormErrors):
(WebCore::AXObjectCache::clearDetectedErrorsForForm):
(WebCore::AXObjectCache::announce):
* Source/WebCore/accessibility/AXObjectCache.h:
(WebCore::PossibleFormValidationErrorData::debugDescription const):
(WebCore::AXNotificationWithData::AXNotificationWithData):
* Source/WebCore/accessibility/AXSearchManager.cpp:
(WebCore::AXSearchManager::matchForSearchKeyAtIndex):
* Source/WebCore/accessibility/AXSearchManager.h:
* Source/WebCore/accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::formFieldObjects const):
(WebCore::AccessibilityObject::formOwnerObject const):
(WebCore::AccessibilityObject::explicitInvalidStatus const):
(WebCore::AccessibilityObject::invalidStatus const):
* Source/WebCore/accessibility/AccessibilityObject.h:
* Source/WebCore/accessibility/cocoa/CocoaAccessibilityConstants.h:
* Source/WebCore/accessibility/cocoa/WebAccessibilityObjectWrapperBase.mm:
(createAccessibilitySearchKeyMap):
* Source/WebCore/accessibility/ios/AXObjectCacheIOS.mm:
(WebCore::AXObjectCache::notificationPlatformName):
(WebCore::AXObjectCache::postPlatformPossibleFormValidationErrorNotification):
* Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper accessibilityFormFieldElements]):
(-[WebAccessibilityObjectWrapper accessibilityFormOwnerElement]):
* Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp:
(WebCore::isDefaultValue):
* 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/accessibility/mac/AXObjectCacheMac.mm:
(WebCore::AXObjectCache::postPlatformPossibleFormValidationErrorNotification):
* Source/WebCore/html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::submitIfPossible):
(WebCore::HTMLFormElement::notifyAccessibilityOfSubmissionWithoutNavigation):
(WebCore::HTMLFormElement::notifyAccessibilityThatSubmissionWillNavigate):
* Source/WebCore/html/HTMLFormElement.h:
* Source/WebCore/testing/Internals.cpp:
(WebCore::Internals::resetToConsistentState):
(WebCore::Internals::setAccessibilityFormErrorSettleDelay):
* Source/WebCore/testing/Internals.h:
* Source/WebCore/testing/Internals.idl:
* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in:
* Tools/WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
(WTR::AccessibilityUIElement::formFieldElements):
(WTR::AccessibilityUIElement::formOwnerElement):
* Tools/WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
* Tools/WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
* Tools/WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.h:
* Tools/WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
(WTR::AccessibilityUIElementIOS::formFieldElements):
(WTR::AccessibilityUIElementIOS::formOwnerElement):

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



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

Reply via email to