WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
213874
[GLIB] accessibility/keyevents-posted-for-increment-actions.html is timing out since added in
r263823
https://bugs.webkit.org/show_bug.cgi?id=213874
Summary
[GLIB] accessibility/keyevents-posted-for-increment-actions.html is timing ou...
Diego Pino
Reported
2020-07-02 00:15:20 PDT
The following a11y tests are timing out since added: accessibility/keyevents-for-increment-actions-with-node-removal.html [ Timeout ] accessibility/keyevents-posted-for-increment-actions.html [ Timeout ] Likely the expected event in the test 'keydown' is not happening, thus a timeout. Marking tests as skip for now.
Attachments
Add attachment
proposed patch, testcase, etc.
Radar WebKit Bug Importer
Comment 1
2020-07-02 00:15:31 PDT
<
rdar://problem/65022072
>
chris fleizach
Comment 2
2020-07-02 00:19:55 PDT
(In reply to Diego Pino from
comment #0
)
> The following a11y tests are timing out since added: > > accessibility/keyevents-for-increment-actions-with-node-removal.html [ > Timeout ] > accessibility/keyevents-posted-for-increment-actions.html [ Timeout ] > > Likely the expected event in the test 'keydown' is not happening, thus a > timeout. Marking tests as skip for now.
possible that inc/dec are not implemented on GTK right now. seems ok to skip
Diego Pino
Comment 3
2026-08-18 02:22:35 PDT
GLIB ports implementation of `increment` and `decrement` differ from the Mac/iOS ports. GLIB ports use `setCurrentValue` to directly change the value of the underlying backing object to a new value: ```cpp void AccessibilityUIElementAtspi::increment() { if (!m_element->interfaces().contains(WebCore::AccessibilityObjectAtspi::Interface::Value)) return; m_element->updateBackingStore(); m_element->setCurrentValue(intValue() + m_element->minimumIncrement()); } ``` Whereas the iOS/macOs rely on axBackingObject's increment/decrement: ``` (void)accessibilityIncrement { if (![self _prepareAccessibilityCall]) return; protect(self.axBackingObject)->increment(); } ``` axBackingObject is a WebCore::AXCoreObject (interface). The implementation of `increment` is provided by `AccessibilityNodeObject::increment()`. That implementation is more complex than the implementation provided by GLIB ports (which directly updates the value of the backing object). The `increment`/`decrement` implementation in AccessibilityNodeObject ends up calling `AccessibilityNodeObject::setNodeValue`, which in the case of a slider emits a keyboard event. The test hangs in GLIB ports because in their current implemention this keyboard event is never emitted. It should be possible to reuse AccessibilityNodeObject's increment/decrement implementation from GLIB ports, simply by creating a bridge in AccessibilityObjectAtspi.h, similarly to other functions such as `minimumIncrement`, `maximumValue` etc.
Diego Pino
Comment 4
2026-08-18 02:23:50 PDT
Pull request:
https://github.com/WebKit/WebKit/pull/71841
EWS
Comment 5
2026-08-18 22:12:40 PDT
Committed
319432@main
(8ea696080a81): <
https://commits.webkit.org/319432@main
> Reviewed commits have been landed. Closing PR #71841 and removing active labels.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug