Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 77623d99ad9e8fe5f6ca796b33751f938f289756
      
https://github.com/WebKit/WebKit/commit/77623d99ad9e8fe5f6ca796b33751f938f289756
  Author: Tyler Wilcock <[email protected]>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    A LayoutTests/accessibility/clickable-text-stitching-expected.txt
    A LayoutTests/accessibility/clickable-text-stitching.html
    M LayoutTests/platform/glib/TestExpectations
    M Source/WebCore/accessibility/AXStitchUtilities.cpp

  Log Message:
  -----------
  AX: WebKit should break up stitch groups when encountering a clickable 
container
https://bugs.webkit.org/show_bug.cgi?id=315473
rdar://177836509

Reviewed by Dominic Mazzoni.

As a repair for incorrectly authored markup, WebKit will expose the
press action for text contained with an element with a click handler.
VoiceOver uses this to announce "clickable".

For example:

<i>Unrelated text</i> <span onclick="openCart()">Open cart</span> <b>Other 
unrelated text</b>

The problem fixed by this commit is that we did not respect this repair
when deciding what text to stitch together. Prior to this commit, the
above markup would stitch "Unrelated text Open Cart Other unrelated text"
into one static text object, and worse, because the first text is the
group representative and thus what is exposed in the AX tree, we
wouldn't expose the press action, meaning a user wouldn't hear
"clickable" and thus may not know they can interact with this text.

Fix this by cutting off the current stitch group when encountering text
contained within a clickable container.

* LayoutTests/accessibility/clickable-text-stitching-expected.txt: Added.
* LayoutTests/accessibility/clickable-text-stitching.html: Added.
* Source/WebCore/accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::AXObjectCache):
* Source/WebCore/accessibility/AXStitchUtilities.cpp:
(WebCore::isClickTarget):
(WebCore::isStitchBreakingElement):
(WebCore::stitchActionFor):

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



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

Reply via email to