RESOLVED FIXED300090
REGRESSION(296017@main): AX: at-spi role mapping is broken
https://bugs.webkit.org/show_bug.cgi?id=300090
Summary REGRESSION(296017@main): AX: at-spi role mapping is broken
lukastyrychtr
Reported 2025-10-03 03:19:59 PDT
After 3d8ea36b3cc8 (the commit adding support for sectionhead and sectionfooter roles), the at-spi2 role mapping is wrong, because the commit allso removed the footer role, so each of the ones following is wrong, including, for example, the document web role. I am unfortunately not knowledgeable enough about the contribution procedure, so I am reporting it instead of making the one line patch which would fix it.
Attachments
Radar WebKit Bug Importer
Comment 1 2025-10-03 03:20:44 PDT
Michael Catanzaro
Comment 2 2025-10-08 08:29:51 PDT
You say that a one-line patch would fix this, but... where? I see AccessibilityAtspi.cpp‎, AccessibilityAtspiEnums.h‎, AccessibilityObjectAtspi.cpp‎, and AccessibilityUIElementAtspi.cpp‎ were all updated. What else needs to be updated?
lukastyrychtr
Comment 3 2025-10-08 23:47:38 PDT
his one is the removed Footer member from the Role enum - as a result, the enum got out of sync from the upstream at-spi2 definition.
Michael Catanzaro
Comment 4 2025-10-09 11:07:48 PDT
OK, I see you're talking about the Role enum defined in AccessibilityAtspiEnums.h‎, which no longer matches the AtspiRole enum defined in atspi-constants.h. Removing Footer is not the only problem. The addition of SectionFooter and SectionHeader is also going to break it. There is zero indication that the WebCore enum is supposed to be kept in sync with the at-spi2 enum, so it's not reasonable to expect WebKit developers to not change it. And it looks like there are many other similar enums in this header that we could similarly break in the future. Hi Carlos Garcia, can you look at this please? Why do we have to redefine the enums at all? At the very least, we should add warning comments to each one.
Mike Gorse
Comment 5 2025-12-12 13:18:01 PST
I wonder why the tests in TestWebKitAccessibility.cpp wouldn't have caught this. Is this test run automatically? It has several tests that call atspi_accessible_get_role and assert that it returns the correct value, including some that are past ATSPI_ROLE_FOOTER in the enum.
Mike Gorse
Comment 6 2025-12-12 17:21:13 PST
EWS
Comment 7 2025-12-19 15:35:22 PST
Committed 304783@main (7a4fc4e0025a): <https://commits.webkit.org/304783@main> Reviewed commits have been landed. Closing PR #55343 and removing active labels.
Note You need to log in before you can comment on or make changes to this bug.