We need to create a set of named actions for implementors to use
Accessible actions are currently the Wild, Wild West:
- Implementors can give them any name (with any variation in capitalization, punctuation, etc.)
- Implementors can localize the description -- or fail to do so
- Implementors can associate a named action with whatever behavior they want
Real-world examples:
- Gtk exposes a "toggle" action (lowercase "t") on tree items/cells which function as checkboxes. Orca uses this action to announce such cells as "checked" or "unchecked." This action can also be used to toggle the checked state of the cell. It turns out that Qt also exposes a "Toggle" action (uppercase "T") on tree items. It's there by default. And the only thing it appears to "toggle" is whether or not the row with that cell is selected.
- Chromium does not expose any action description whatsoever. This breaks Orca's new action-menu feature, which by default lists all the action descriptions (localized). Orca falls back on the name, but that's not localized.
😞
If we create all the expected actions in Atspi, we can:
- Ensure consistent naming
- Ensure we have a localized description -- and consistency in that localization. The current localizations are pretty wordy. Maybe we also want a localized name?
- Give implementors some idea about what each named action is expected to do.