I've debugged a11y events received by Orca and nailed the problem down to the sequence of events it receives from unity-2d, and the notion of "visual" focus, tracked by Orca. When HUD is activated, Orca receives a series of events, including focus changes - it receives focus change for text input (HUD search entry), but eventually for some reason Qt/QML/qt-at-spi sends this:
meaning Orca considers [panel | Dash] as having focus.
When user moves cursor in HUD search entry, Orca receives text-caret-moved events:
object:text-caret-moved(0, 0, 0)
source: [text |] host_application: [application | Unity 2D Shell]
but since it's not coming from an object that has focus, it's discarded (see Orca's sources, default.py, around line 3137).
Focus event created for [panel | Dash] may be related to object hierarchy. For now I couldn't find any "bug" or a simple workaround on unity-2d side. We may need to implement a custom Orca script for handling unity-2d a11y events (lots of packages already do this if you look into /usr/lib/python2.7/dist-packages/orca/scripts/apps and /usr/share/pyshared/orca/scripts/apps).
I've debugged a11y events received by Orca and nailed the problem down to the sequence of events it receives from unity-2d, and the notion of "visual" focus, tracked by Orca. When HUD is activated, Orca receives a series of events, including focus changes - it receives focus change for text input (HUD search entry), but eventually for some reason Qt/QML/qt-at-spi sends this:
object: state-changed: focused( 1, 0, [panel | Dash])
meaning Orca considers [panel | Dash] as having focus.
When user moves cursor in HUD search entry, Orca receives text-caret-moved events: text-caret- moved(0, 0, 0)
host_applicati on: [application | Unity 2D Shell]
object:
source: [text |]
but since it's not coming from an object that has focus, it's discarded (see Orca's sources, default.py, around line 3137).
Focus event created for [panel | Dash] may be related to object hierarchy. For now I couldn't find any "bug" or a simple workaround on unity-2d side. We may need to implement a custom Orca script for handling unity-2d a11y events (lots of packages already do this if you look into /usr/lib/ python2. 7/dist- packages/ orca/scripts/ apps and /usr/share/ pyshared/ orca/scripts/ apps).