Re: Braille routing keys, which API?


Hey Mohammad,

This is interesting. Relevant code to look at in NVDA is NVDAObjects.IAccessible.IA2TextTextInfo._setCaretOffset and _setSelectionOffsets, I believe.

I assume the selection event isn't fired either when changing the caret position with arrow keys?



Op 21-11-2019 om 20:28 schreef mohammad suliman:

Hi Leonard,
Thanks for that info brother. So, we tried to listen for the selection change event. In Google chrome, this event is fired when the user navigates the textarea with arrow keys, or with the braille display routing keys. This is brilliant, and, behaves as one expects from the browser in those situations. However, for our surprise, Firefox doesn't do this at all!! Which is very strange actually. The only event that Firefox fires is a mousedown event when you click the routing key where the cursor is found. I am guessing that NVDA triggers this event? Not sure though.
So, if you, or someone can share a suggestion how to overcome this, it will be much appreciated!
have a grate time!

On Thu, 21 Nov 2019 at 12:47, Leonard de Ruijter <alderuijter@...> wrote:

Dear Mohammad,

NVDA asks the browser to change the caret position, so you probably have to listen to caret or selection events if that's possible. Communication to the browser is performed with the accessibility API of use, UIA in Edge and IE and IAccessible2 in Firefox and Chrome.



Op 20-11-2019 om 18:48 schreef mohammad suliman:
Hello all,
It has been a long time since I have posted here, so hope all of you are well, and doing well also!
I have a question regarding the braille routing keys. The question is as follows: Which API NVDA calls to set the cursor position when the user presses a routing key on a braille display on the web?
To clarify, here is what we are trying to achieve: we have an <input> element, and we want to track the cursor position when the user moves the cursor mainly by the braille display routing keys, and by arrows also, but this is not the issue here. So, we want to know when the user presses a routing key, and handle it appropriately in our system. We tried to listen to click and keypress events, but none of them is triggered as far as we have observed. So, in short, my question: how NVDA behaves when the user presses a routing key, while the focus is in an element with a caret, and this element is a web element.
Thanks in advance!

Join to automatically receive all group messages.