[PATCH] controls/PageRow: don't announce StackView over screen readers
authorChristoph Wolk <cwo.kde@posteo.net>
Mon, 19 May 2025 06:05:07 +0000 (08:05 +0200)
committerAurélien COUDERC <coucouf@debian.org>
Tue, 20 May 2025 06:38:42 +0000 (08:38 +0200)
commitb367c77b4315256aaae4567034f2e52363c573ad
treef2a54613e4f3833749c046cdd53624a4f3db0522
parentd47fabf7688da601d5a766a30275f3a6fe38ba1d
[PATCH] controls/PageRow: don't announce StackView over screen readers

PageRow has an internal StackView; it defaults to the Accessible.role
LayeredPane, which is by default announced by screen readers (or at
least by orca). This may be correct in some circumstances, but not here:
it's a purely internal object that has no user relevance; hearing
LAYERED PANE ZERO ITEMS every time a page in a PageRow is entered is
confusing to screen reader users, they have typically no idea what it
means, and if they do there is little they can do with this
information. (I guess it indicates whether a modal layer is open, but in
practice I couldn't seem to actually get this to work, and it seems
better to indicate when a modal layer is open, not every single time
when there isn't one - and that is a separate issue.)

Instead we can set its role explicitly to Pane, that marks it as a
filler in Accerciser and orca does not read it out every time.

Gbp-Pq: Name upstream_481ee938_controls-PageRow-don-t-announce-StackView-over-screen-readers.patch
src/controls/PageRow.qml