Bug 243474

Summary: AX: On iOS, display:contents elements are inserted in the wrong position when they have inline renderer siblings
Product: WebKit Reporter: Tyler Wilcock <tyler_w>
Component: AccessibilityAssignee: Tyler Wilcock <tyler_w>
Status: RESOLVED FIXED    
Severity: Normal CC: aboxhall, andresg_22, apinheiro, aroselli, cfleizach, dmazzoni, ews-watchlist, jcraig, jdiggs, samuel_white, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch
none
Patch
none
Patch
none
Patch none

Description Tyler Wilcock 2022-08-02 16:17:09 PDT
This issue also existed on the Mac before:

https://bugs.webkit.org/show_bug.cgi?id=243373 (AX: An unnecessary group is created for every block-flow box with no other useful AX semantics)

That fix wasn't enough for iOS because iOS does not ignore AccessibilityRole::Unknown elements, and the groups affected by that patch get an unknown role.
Comment 1 Radar WebKit Bug Importer 2022-08-02 16:17:23 PDT
<rdar://problem/98014680>
Comment 2 Tyler Wilcock 2022-08-02 16:26:24 PDT
Created attachment 461363 [details]
Patch
Comment 3 Tyler Wilcock 2022-08-02 16:42:20 PDT
Created attachment 461364 [details]
Patch
Comment 4 Tyler Wilcock 2022-08-02 21:30:37 PDT
Created attachment 461369 [details]
Patch
Comment 5 Tyler Wilcock 2022-08-03 10:03:42 PDT
Created attachment 461382 [details]
Patch
Comment 6 EWS 2022-08-03 22:16:59 PDT
Committed 253102@main (44ea8a482416): <https://commits.webkit.org/253102@main>

All reviewed patches have been landed. Closing bug and clearing flags on attachment 461382 [details].
Comment 7 Adrian Roselli 2023-05-30 05:01:56 PDT
I am not convinced this issue was fixed. I filed a new one that goes into more detail on the `display: contents` impacts on tables (along with other `display` issues):

Bug 257458 - AX: Tables with display properties are skipped, report wrong col/row counts
https://bugs.webkit.org/show_bug.cgi?id=257458

Specifically:

17. Tables with `display: contents` on the `<td>` cannot be navigated into using swipe gestures (swipe right or left).
18. Tables with `display: contents` on the `<td>` are skipped when using read-all.