[orca-list] Initial clickable support added to master



Hey all.

Here's the deal:
* Clickables are announced as you do caret navigation
* A and Shift+A move you amongst clickables
* Alt + Shift + A gives you a list of clickables
* If you move to a clickable using any of the above methods,
  you can then click on the clickable via KeyPad / in desktop
  layout; Orca + 7 in laptop layout
* As with the links lists dialogs, you can activate/click on
  on clickables without having to synthesize the click; just
  press the Activate button (mnemonic in English, Alt+A)
* Clickables are underlined in braille and clickable from the
  braille display

Note that at the moment, navigating amongst clickables is not quite as
performant as I'd like. This is due to the following AT-SPI2 bug(s):
https://bugzilla.gnome.org/show_bug.cgi?id=734805

Once that bug is fixed, then I will enable proper collections support.
In the meantime, this works well enough and gets the feature and strings
into master prior to the relevant GNOME freezes. I can still fix bugs
after those freezes.

Lastly, I'm sure someone will say, "Enter and Space should activate
clickables." As I have already stated, the problem with that is that it
would mean that each and every time you pressed Enter or Space, Orca
would need to:

1. Figure out if you are in document content, if so:
2. Figure out what mode you were in
3. Figure out if you were on anything focusable or a clickable
4. Determine what action to perform based on what type of object you
   are on and whether or not you pressed Enter or Space. This heuristic
   would undoubtedly be buggy and need more checks and special casing
   added to try to get it right.

And you press Enter and Space a lot I bet. So that's adding
non-performant and likely buggy code that will get called alot. And the
reason it would do this is because there are some non-focusable
clickables out there. Orca already has a "click" command that works well
and now Orca announces their presence and gives you a means to quickly
move to them and click on them.

BTW, just in case you are wondering, what Orca normally does when you
press Enter or Space is:

1. Note that you pressed that key
2. There is no 2. It just notes the input event down This is performant
   and non-buggy.

Having said all that, please test and let me know what you think. Thanks!

--joanie


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]