Skip to content

accessibility improvements #453

Description

@protobits

Hi, I'm currently attempting to add support for interacting with ART via a macropad by using Gtk's accessibility api (https://docs.gtk.org/atspi2/index.html) from Python, which allows for programatic interaction with UIs. In doing so I found a few shortcomings that I think could benefit this use case but accessibility in general:

  • There's no way to interact with panel title's to hide/show and enable/disable the tool (not sure if "panel title" term is correct, I'm refering to the titles such as "Exposure" or "Tone Equalizer" that have the on/off button to the left). These do not appear to register as actual widgets in terms of ATSPI API (I'm guessing they are custom drawn) but neither they have shortcuts associated so only possible interaction is via point and click with mouse
    • Something similar happens with tab title buttons (such as "Detail" or "Local Editing") but at least these have shortcuts associated. I'm currently sending the shortcut to active the tab. Ideally this could also have asociated "actions" (https://docs.gtk.org/atspi2/iface.Action.html) to show/hide enable/disable the toolset.
  • UI widgets (such as sliders, checkboxes, etc) do not have a unique ID that allows for direct selection (https://docs.gtk.org/atspi2/method.Accessible.get_accessible_id.html). Instead I'm currently traversing the widget tree from the app itself using relative indices. I'm just starting with ATSPI but I understand that this would mean adding some sort of name to widgets in the code when they are instantiated, similar to an HTML identifier. See https://docs.gtk.org/atspi2/method.Accessible.get_accessible_id.html for reference

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions