[jawsscripts] Indicates caret position to JAWS

  • From: Alberto Zanella <alberto.zanella@xxxxxxxxxxx>
  • To: jawsscripts@xxxxxxxxxxxxx
  • Date: Thu, 20 Nov 2014 09:22:14 +0100

Hi All,
First of all, I apologize for my English. I'm writing from Italy and, 
even if I have studied it for a while, I'm not brilliant writing in English!

Here I forward here a mail I sent to John Martyn about a question 
related to caret tracking using UIA.

I started scripting in JAWS 2 years ago, when my work required me to 
migrate from Linux/UNIX (I was a PS/SQL programmer) to Windows (now I'm 
working with T-SQL on MS SQL Server).

I am in the following scenario:

SQL Server can be easily managed using MS SQL Server Management Studio 
(with the same UI elements of Visual Studio 2012). Apparently the only 
available technologies here are MSAA and UI Automation.
This environment contains various simple controls: tables, treeviews, 
panels. What is most interesting for me (and for anyone who want to 
write queries) is the SQL Editor.
This control is a HwndWrapper class from the OSM, however the HomeRow 
WIN+CTRL+O reports a WpfTextView UIA class.

JAWS is able to track the caret and works well with it when the 
"Enhanced Edit Support" option is selected.

My issue is that I use braille to read and when I select text, all is ok 
if I go backward (the braille cursor tracks the start of selection). 
Sadly when I select forward (SHIFT+DOWNARROW) the braille display stays 
at the beginning of the selection and not at the end of it.

In addition the PC cursor is represented in braille in the first braille 
cell even if the selection starts from the 20th or 21th cell (minor issue).

If you ask JAWS to say the current char at the caret (INS+NP5) it always 
reports the first selection char.

In fact it misunderstand the caret position during selection keeping it 
locked to the start of the selection.

I already tried to debug the FocusPointMovedEvent and it reports the 
selection direction correctly.

Is there any way to override the cursor position when JAWS uses the 
"Enhanced Edit Support" feature? When it uses OSM I've found the 
FindCaret, but it doesn't work in this situation because JAWS detects 
the PC cursor.
In UIA I can use ranges to detect selection start and end. In attachment 
you can find an example of a script detecting start and end position.

I can also store in a global variable the last direction (ndir) from 
FocusPointMovedEvent to detect if I need to consider the start position 
or the end.

What I need is a function to override, and I'm not able to find it.

Have you any hint on this?

Thank you for the patience reading this mail.

Cheers,

Alberto


__________�

View the list's information and change your settings at 
//www.freelists.org/list/jawsscripts

Other related posts: