Skip to content

fix(a11y-linux): an <iframe> is a Group, not a Window (fixes #520) - #523

Merged
xxx merged 1 commit into
masterfrom
internal-frame-group
Aug 25, 2026
Merged

fix(a11y-linux): an <iframe> is a Group, not a Window (fixes #520)#523
xxx merged 1 commit into
masterfrom
internal-frame-group

Conversation

@xxx

@xxx xxx commented Aug 25, 2026

Copy link
Copy Markdown
Contributor

AT-SPI's internal frame mapped to AxRole::Window, so a page's iframes arrived as windows inside the page and a role:"Window" selector matched them. No desktop toolkit publishes the role — GTK 3.24.41, GTK 4.14.5 and Qt never return it, and only Firefox and Chromium emit it, for embedded frames — so it maps to Group. The reading behind that is in #520.

AT-SPI's `internal frame` mapped to `AxRole::Window`, so a browser page's
iframes — and Firefox's own docshells — arrived as windows nested inside the
page, and a `role:"Window"` selector matched them.

Nothing on the desktop side wants that mapping: GTK 3.24.41 never references
the role, GTK 4.14.5 declares it in its AT-SPI enum copy without ever returning
it, and Qt's role table has no entry for it. Firefox 153 and Chromium are the
only producers, both for embedded frames.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@xxx
xxx marked this pull request as ready for review August 25, 2026 15:49
@xxx
xxx merged commit 62ae9a1 into master Aug 25, 2026
17 checks passed
@xxx
xxx deleted the internal-frame-group branch August 25, 2026 15:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant