Bug 240526 - [GTK] AX: Accessible caret-moved events missing in some (non-text?) content
Summary: [GTK] AX: Accessible caret-moved events missing in some (non-text?) content
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: Accessibility (show other bugs)
Version: WebKit Nightly Build
Hardware: All Linux
: P2 Major
Assignee: Nobody
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2022-05-17 09:46 PDT by Joanmarie Diggs
Modified: 2022-05-20 18:57 PDT (History)
5 users (show)

See Also:


Attachments
accessible-event listener (both focus and caret-moved) (495 bytes, text/x-python)
2022-05-17 09:46 PDT, Joanmarie Diggs
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Joanmarie Diggs 2022-05-17 09:46:40 PDT
Created attachment 459504 [details]
accessible-event listener (both focus and caret-moved)

Steps to reproduce:
1. Launch Epiphany using WebKitGtk 2.36 (Gtk 3).
2. Launch the attached pyatspi accessible-event listener in a terminal
3. Load https://help.gnome.org/users/orca/stable/
4. Enable caret-browsing in Epiphany (F7)
5. Click in the middle of the heading at the top (has the logo followed by "Orca Screen Reader")
6. Arrow left until you're at the left of the logo.

Expected results: Each time the visible caret moves (including on either side of the logo), a caret-moved event would be fired.
Actual results: Caret moved events are fired for the text, but not when the caret is visually moved immediately before or after the logo.

Impact: Orca's current WebKitGtk support depends on native caret browsing along with caret-moved events being fired in order to know the user has moved and the new location should be spoken and brailled. Given the steps described above, there's only a couple of presses where Orca is silent. (Not good; but not completely horrible.) However, if the user is Up/Down Arrowing (e.g. from the beginning of "Before You Begin" up to the main heading), and the caret just so happens to land at an offset that doesn't emit an event, Orca says nothing for that entire line. If there are a series of lines like that, Orca says nothing for all that content.

Note: It arguably doesn't make sense to fire a caret-moved event on a non-text object such as an image. What should occur, however, is the parent text object (e.g. the heading parent of the logo image) should fire the caret-moved event for the offset of the embedded-object-character/replacement-character that represents the child image.
Comment 1 Radar WebKit Bug Importer 2022-05-17 09:46:47 PDT
<rdar://problem/93431411>