The Palettes Tree should have AT-SPI2 (Linux) role "tree" and its children "tree item"; also better names

• May 7, 2020 - 21:45
Reported version
S4 - Minor

If you look in the attached screen shot of using the Accerciser accessibility inspector to examine MuseScore, you'll see the following:

  1. The tree of Palettes has the "filler" role
  2. The children have the "list item" role
  3. The tree has both its role ("tree") and a verbose child count ("contains 14 palettes") in its name
  4. An expanded palette (in this screen shot, Articulations) has "expanded" in its name

This is problematic for the following reasons:

  1. Filler is the role typically given to alignments and other containers whose purpose is to impact spacing. The Orca screen reader deliberately ignores them.
  2. List items which live outside of a list or listbox make no sense and suggest broken accessibility.
  3. When the roles are fixed (along with another bug I'll file), screen readers may start double-presenting information (role, state, child count) as a consequence of that information being in the name.

What seems like the right thing to do is:

  1. Change the role of the Palettes tree from "filler" to "tree"

  2. Change the role of the specific palettes from "list item" to "tree item" (list items live in lists/listboxes; tree items live in trees)

  3. Remove "Tree" from the accessible name. Roles do not belong in the accessible name. And when you fix the role (item 1 above), screen readers like Orca will announce the role. And we don't want to hear "The Palettes Tree tree."

  4. Remove "contains x palettes" from the accessible name. Child counts do not belong in the accessible name either. Screen readers, including Orca, already do this presentation optionally (e.g. via setting) and/or on demand (e.g. a "where am I?" command).

  5. Remove "expanded" (and "collapsed" and anything else state-like) from the accessible name. States do not belong in the accessible name either. When expandable items have the right accessible states and those states change resulting in the emission of a state-changed signal, screen readers usually announce the changed state. (Aside: The right states and events are missing. I'll file that as a separate bug.)

Attachment Size
muse-score-wrong-roles-palettes.png 77.59 KB