Change AT-SPI2 (Linux) role from "frame" to "panel" for non-window objects

• May 7, 2020 - 21:22
Reported version
3.4
Type
Functional
Frequency
Once
Severity
S4 - Minor
Reproducibility
Always
Status
active
Regression
No
Workaround
No
Project

If you look in the attached screen shot of using the Accerciser accessibility inspector to examine MuseScore, (at least) the following non-window objects have the accessible "frame" role:

  • Palettes
  • Inspector
  • Piano Keyboard
  • Mixer
  • Text Tools
  • Selection Filter

ROLE_FRAME in ATK/AT-SPI2 is "A top-level window with a title bar, border, menubar, etc."

A more suitable role for these containers would be ROLE_PANEL: "A generic container that is often used to group objects."

The Orca screen reader relies upon the accessible role quite a bit when determining what to present about an object, how to process accessible events from that object, etc.

Attachment Size
muse-score-wrong-role-frame.png 80.15 KB

Comments

Tags View Changes

For at least some of these, we are using standard Qt widgets I believe, and as far as I know the roles are provided by Qt. So we might not have easy control over them. This could be worth reporting to them if so, although it should be noted we're still using a relatively older version of Qt (5.9.8), this may have changed since then.

Even for custom widgets, I'm not 100% sure Qt exposes these as separate roles, a lot of things are mapped to others I guess in an effort to produce a platform-independent API. But definitely, we should investigate this.