[orca-list] Progress update on the "List of" dialogs



Hey all.

Since a number of you have been wanting this, I have just committed to
master the largely functional, but still in progress, "List of" dialog
support. While it's not done, it's good enough for testing. Here's where
things stand:

1. The bindings. Almost always, the modifier is Ctrl + Alt. And almost
   always the key is the same as the default binding for that object
   type. As a result, you have:

   Ctrl + Alt + B: List of buttons
   Ctrl + Alt + C: List of comboboxes
   Ctrl + Alt + E: List of entries
   Ctrl + Alt + F: List of form fields (this is the odd duck)
   Ctrl + Alt + H: List of headings
   Ctrl + Alt + 1: List of headings at level 1
   Ctrl + Alt + 2: List of headings at level 2
   Ctrl + Alt + 3: List of headings at level 3
   Ctrl + Alt + 4: List of headings at level 4
   Ctrl + Alt + 5: List of headings at level 5
   Ctrl + Alt + 6: List of headings at level 6
   Ctrl + Alt + I: List of list items
   Ctrl + Alt + O: List of "large objects" (aka text chunks)
   Ctrl + Alt + P: List of paragraphs
   Ctrl + Alt + Q: List of blockquotes
   Ctrl + Alt + R: List of radio buttons
   Ctrl + Alt + U: List of unvisited links
   Ctrl + Alt + V: List of visited links
   Ctrl + Alt + X: List of checkboxes

   There are currently two unbound other "list of dialogs":
   List of lists - turns out Ctrl + Alt + L locks the session <grins>
   List of links - there is no "plain ol' links" command, so no key yet
   Candidate bindings for the above welcome.

   As for the other object types:
   * I still need to figure out how best to present tables and make
     a decision about cells.
   * Our existing landmark and live region code isn't very reliable
     period, so I'd like to debug that before I add dialog support.
   * As for anchors and separators. Before I debug the existing (non
     dialog related) code for them, is anyone actually using them for
     navigation? If they are completely useless, we can nuke them.

2. The dialog itself:

   The default button is Jump to. There is also an Activate button
   which becomes sensitive as appropriate (based on AtspiAction
   exposure to us).

   The information about each object is arranged in columns. This
   means you can read the full row if you want lots of info; just
   the cell if you don't. (Remember Orca + F11 toggles this.) You
   can also sort the columns by moving focus to the header and
   pressing Space.

   Type-ahead search is enabled and associated with the first column
   which is where the most important thing (label/name) is.

   My to-do list in the dialog area includes refinement, such as:
   * Currently there is no spoken or brailled indication of how many
     matches were found. You can get this via where am I in the table
     in the meantime.
   * Currently the dialog pops up when there are 0 items. Orca should
     just present the fact that there are no matches and not waste time
     showing a dialog.
   * Currently you are placed at the top of the list. Orca makes no
     attempt (yet) to position you in the list based on where you were
     on the page.
   * It's rare, but on occasion, we have no label/name/text for an
     object. So we either need to try harder for those oddball items
     or verify if they are useless and never should have passed the
     match test in the first place.
   * It would be nice for Orca to say something when the table is
     resorted. That's not limited to this feature. That's in general.
     It may involve work on both the GTK side and the Orca side.

   All of the above I am working on and will keep you posted.

3. Other known issues:

   If you are looking for objects on a ginormous page, there is a chance
   the request will time out. The timeout is something AT-SPI2 does to
   prevent lock-ups and has been wonderful in that regard. When there is
   such an error, Orca will present a message so you don't wonder why
   nothing is happening. For me the timeouts have been rare, but they do
   occur with Firefox. (The same pages do not time out with WebKitGtk.)
   There's not a lot I can do here -- and anything I might be able to do
   would be a sad hack.

   When reading text objects (e.g. paragraphs), they are treated like
   pure text objects, including links. This was by design. If you want
   Orca to announce the roles and such, you could read the paragraph
   in the page itself or by SayAll. If you want to quickly skim through
   paragraphs and other text objects for content, I think you'll find
   this helpful.

Lastly, I hope you will find that while it's not quite done, it is
pretty darned functional. And, again, I'll keep working on it.

Please let me know if you have any questions. Thanks!!
--joanie



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