Date   
Re: Configuration directories

Andy B.
 

If I do the following at the NVDA interactive Python prompt:

>>>import config
>>>config.getUsersInstalledConfigPath()
['C:\\Users\\a_bor\\AppData\\Roming\\nvda']
>>>import addonHandler
>>>addonHandler._getDefaultAddonPaths()
[C:\\Users\\a_bor\\AppData\\Roming\\nvda\\addons']

I am interested in creating a settings packaging system sort of like the one found in JAWS. To allow users the choice of what kind of settings to backup/restore, I need to know where the system holds these files, and the config/addon system looked like a good option.

Re: Configuration directories

James Scholes
 

I might be misunderstanding your question, but if you have the user's config directory path, you can just use os.path.join with that as the first part, and profiles, speechDicts, etc. as the second. Or are you trying to accomplish something else? These names shouldn't differ system to system, because if they do, NVDA just won't be able to load data from them.

keep in mind that synth drivers should really be packaged as add-ons these days, so there's not going to be a single directory which contains them all.

Regards,

James Scholes

On 30/03/2020 at 2:27 pm, Andy B. wrote:
Hi,
I am attempting to access configuration directories from inside an add-on. So far, NVDA has given me the user's installed config path, the system config path, the add-ons install folder, the scratchpad folder. It hasn't managed to give me speech synths, profiles, or speech dictionaries. Does anyone know how to get the paths for these extra components? I need to have the function name or python dict that has these because each user's system is different.

Configuration directories

Andy B.
 

Hi,

I am attempting to access configuration directories from inside an add-on. So far, NVDA has given me the user's installed config path, the system config path, the add-ons install folder, the scratchpad folder. It hasn't managed to give me speech synths, profiles, or speech dictionaries. Does anyone know how to get the paths for these extra components? I need to have the function name or python dict that has these because each user's system is different.

Re: Having NVDA interrupt itself using aria-live updates

 

Hi,

NVDA Controller is meant for use by apps, as it comes in a DLL.

Jamie, any ideas?

Cheers,

Joseph

 

From: nvda-devel@groups.io <nvda-devel@groups.io> On Behalf Of Sean Mealin
Sent: Saturday, March 28, 2020 9:40 AM
To: nvda-devel@groups.io
Subject: Re: [nvda-devel] Having NVDA interrupt itself using aria-live updates

 

I don't know of any way to use the NVDA controller client from Javascript running within a web browser unfortunately.

 

Sean

 

On Fri, Mar 27, 2020 at 7:47 PM Christopher Pross <chpross42@...> wrote:

A short question, do you able to use the nvda-controler-client? So, maybe, you could use there the speech fuction directly and then use bool interoupt = true, for the first parameter to speak, you could for easy stop, use a emty string.

But in general javascript access to nvda, I don't know any way to access this function of nvda-controller. I don't know how javascript is sending text to the screenreader, if the way, is known, we could find a way. Maybe it is easier as we thing.

Am 28.03.2020 um 00:18 schrieb Sean Mealin:

Is there any other way to push text to NVDA from javascript that will have it interrupt speech?

 

Thanks

 

Sean

 

On Fri, Mar 27, 2020 at 3:50 AM Bill Dengler <codeofdusk@...> wrote:

See https://github.com/nvaccess/nvda/pull/10622

Although I think this might just be for UIA, not ARIA.

 

Bill

 

From: nvda-devel@groups.io <nvda-devel@groups.io> On Behalf Of Sean Mealin
Sent: 26 March 2020 23:16
To: nvda-devel@groups.io
Subject: [nvda-devel] Having NVDA interrupt itself using aria-live updates

 

Hi all,

 

I’m working on a web game where the user is controlling things with a gamepad.  To give feedback, I’m updating a div that NVDA should read out.

 

The problem that I’m having is no matter the aria-live setting I use, NVDA does not interrupt itself.  So, if the user is listening to a message, and presses a button to confirm an action, I want NVDA to immediately speak a new message rather than queueing it up after the current message.  If the user is using a keyboard, this isn’t a problem because the keypress interrupts the current message and NVDA speaks the new message.  But since the primary input device is a gamepad, NVDA doesn’t register a gamepad button in the same way as a keyboard button.

 

I thought using aria-live = assertive would accomplish my goal, but no luck.  I’ve tried every combination of roll (status, alert, etc.) and aria-live (polite and assertive) that I can think of.

 

I’m using NVDA 2019.3.1 and Chrome 80.

 

Does anyone have any ideas?

 

Sean

Re: Ideas on Add on development

Vinod kumar Gajula
 

Thanks! Good to hear that.
I am curious to understand NVDA add on development.
Could you let me know, how can I understand caret focus?

Regards


On Sat 28 Mar, 2020, 11:01 PM Pawel Urbanski, <pawel@...> wrote:
I will try to finish an add-on that should work with most JetBrains
tools in the next few days... It is based on an add-on already created
with some, I think, useful enhancements...

Cheers,
Pawel

On 28/03/2020, Vinod kumar Gajula <togajula@...> wrote:
> Hi there!
> I am Trying to build an add on for NVDA, which improves accessibility for
> IntelliJ.
> When I Debug  the code in IntelliJ.
> The system Focus is staying in editor but NVDA focus is going somewhere
> else.
> I need to make NVDA focus be along with system Focus.
> Could you please let me know how can I make it happen?
>
> Thanks!
>
> Regards
> Vinod Gajula
>
>
>
>



Re: Ideas on Add on development

Pawel Urbanski
 

I will try to finish an add-on that should work with most JetBrains
tools in the next few days... It is based on an add-on already created
with some, I think, useful enhancements...

Cheers,
Pawel

On 28/03/2020, Vinod kumar Gajula <togajula@...> wrote:
Hi there!
I am Trying to build an add on for NVDA, which improves accessibility for
IntelliJ.
When I Debug the code in IntelliJ.
The system Focus is staying in editor but NVDA focus is going somewhere
else.
I need to make NVDA focus be along with system Focus.
Could you please let me know how can I make it happen?

Thanks!

Regards
Vinod Gajula



Ideas on Add on development

Vinod kumar Gajula
 

Hi there!
I am Trying to build an add on for NVDA, which improves accessibility for IntelliJ.
When I Debug  the code in IntelliJ.
The system Focus is staying in editor but NVDA focus is going somewhere else.
I need to make NVDA focus be along with system Focus.
Could you please let me know how can I make it happen?

Thanks!

Regards
Vinod Gajula

Re: Having NVDA interrupt itself using aria-live updates

Sean Mealin
 

I don't know of any way to use the NVDA controller client from Javascript running within a web browser unfortunately.

Sean

On Fri, Mar 27, 2020 at 7:47 PM Christopher Pross <chpross42@...> wrote:

A short question, do you able to use the nvda-controler-client? So, maybe, you could use there the speech fuction directly and then use bool interoupt = true, for the first parameter to speak, you could for easy stop, use a emty string.

But in general javascript access to nvda, I don't know any way to access this function of nvda-controller. I don't know how javascript is sending text to the screenreader, if the way, is known, we could find a way. Maybe it is easier as we thing.

Am 28.03.2020 um 00:18 schrieb Sean Mealin:
Is there any other way to push text to NVDA from javascript that will have it interrupt speech?

Thanks

Sean

On Fri, Mar 27, 2020 at 3:50 AM Bill Dengler <codeofdusk@...> wrote:

See https://github.com/nvaccess/nvda/pull/10622

Although I think this might just be for UIA, not ARIA.

 

Bill

 

From: nvda-devel@groups.io <nvda-devel@groups.io> On Behalf Of Sean Mealin
Sent: 26 March 2020 23:16
To: nvda-devel@groups.io
Subject: [nvda-devel] Having NVDA interrupt itself using aria-live updates

 

Hi all,

 

I’m working on a web game where the user is controlling things with a gamepad.  To give feedback, I’m updating a div that NVDA should read out.

 

The problem that I’m having is no matter the aria-live setting I use, NVDA does not interrupt itself.  So, if the user is listening to a message, and presses a button to confirm an action, I want NVDA to immediately speak a new message rather than queueing it up after the current message.  If the user is using a keyboard, this isn’t a problem because the keypress interrupts the current message and NVDA speaks the new message.  But since the primary input device is a gamepad, NVDA doesn’t register a gamepad button in the same way as a keyboard button.

 

I thought using aria-live = assertive would accomplish my goal, but no luck.  I’ve tried every combination of roll (status, alert, etc.) and aria-live (polite and assertive) that I can think of.

 

I’m using NVDA 2019.3.1 and Chrome 80.

 

Does anyone have any ideas?

 

Sean

Re: get all UIA-Events from a window

Bill Dengler
 

For events, use the Windows 10 App Essentials add-on (select "restart with debug logging" from the NVDA+q menu, and see the lines starting with w10 in the log).
For analysing applications, the NVDA Python console (NVDA+control+z) is helpful. In particular, the current navigator object's UIA object is stored as nav.UIAElement.
What in particular are you trying to do?

Thanks,
Bill

-----Original Message-----
From: nvda-devel@groups.io <nvda-devel@groups.io> On Behalf Of Christopher Pross
Sent: 27 March 2020 20:09
To: nvda-devel@groups.io
Subject: [nvda-devel] get all UIA-Events from a window

HI,

i search for an accessible tool, which allows me to log as match as possible every UIA-Event, so, New elements, tooltips, and so on.

Do you know a tool like this or how do you analyse a application? Which is a little comlexer?


all the best,

Chiss

get all UIA-Events from a window

Christopher Pross
 

HI,

i search for an accessible tool, which allows me to log as match as possible every UIA-Event, so, New elements, tooltips, and so on.

Do you know a tool like this or how do you analyse a application? Which is a little comlexer?


all the best,

Chiss

Building NVDA with UI access

Bill Dengler
 

Hello,

I’d like to generate a build of NVDA for local testing which has UI access permissions.

I’m assuming NVDA needs to be signed to enable this permission, can I self-sign it?

 

Thanks,

Bill

Re: Having NVDA interrupt itself using aria-live updates

Christopher Pross
 

A short question, do you able to use the nvda-controler-client? So, maybe, you could use there the speech fuction directly and then use bool interoupt = true, for the first parameter to speak, you could for easy stop, use a emty string.

But in general javascript access to nvda, I don't know any way to access this function of nvda-controller. I don't know how javascript is sending text to the screenreader, if the way, is known, we could find a way. Maybe it is easier as we thing.

Am 28.03.2020 um 00:18 schrieb Sean Mealin:

Is there any other way to push text to NVDA from javascript that will have it interrupt speech?

Thanks

Sean

On Fri, Mar 27, 2020 at 3:50 AM Bill Dengler <codeofdusk@...> wrote:

See https://github.com/nvaccess/nvda/pull/10622

Although I think this might just be for UIA, not ARIA.

 

Bill

 

From: nvda-devel@groups.io <nvda-devel@groups.io> On Behalf Of Sean Mealin
Sent: 26 March 2020 23:16
To: nvda-devel@groups.io
Subject: [nvda-devel] Having NVDA interrupt itself using aria-live updates

 

Hi all,

 

I’m working on a web game where the user is controlling things with a gamepad.  To give feedback, I’m updating a div that NVDA should read out.

 

The problem that I’m having is no matter the aria-live setting I use, NVDA does not interrupt itself.  So, if the user is listening to a message, and presses a button to confirm an action, I want NVDA to immediately speak a new message rather than queueing it up after the current message.  If the user is using a keyboard, this isn’t a problem because the keypress interrupts the current message and NVDA speaks the new message.  But since the primary input device is a gamepad, NVDA doesn’t register a gamepad button in the same way as a keyboard button.

 

I thought using aria-live = assertive would accomplish my goal, but no luck.  I’ve tried every combination of roll (status, alert, etc.) and aria-live (polite and assertive) that I can think of.

 

I’m using NVDA 2019.3.1 and Chrome 80.

 

Does anyone have any ideas?

 

Sean

Re: Having NVDA interrupt itself using aria-live updates

Sean Mealin
 

Is there any other way to push text to NVDA from javascript that will have it interrupt speech?

Thanks

Sean

On Fri, Mar 27, 2020 at 3:50 AM Bill Dengler <codeofdusk@...> wrote:

See https://github.com/nvaccess/nvda/pull/10622

Although I think this might just be for UIA, not ARIA.

 

Bill

 

From: nvda-devel@groups.io <nvda-devel@groups.io> On Behalf Of Sean Mealin
Sent: 26 March 2020 23:16
To: nvda-devel@groups.io
Subject: [nvda-devel] Having NVDA interrupt itself using aria-live updates

 

Hi all,

 

I’m working on a web game where the user is controlling things with a gamepad.  To give feedback, I’m updating a div that NVDA should read out.

 

The problem that I’m having is no matter the aria-live setting I use, NVDA does not interrupt itself.  So, if the user is listening to a message, and presses a button to confirm an action, I want NVDA to immediately speak a new message rather than queueing it up after the current message.  If the user is using a keyboard, this isn’t a problem because the keypress interrupts the current message and NVDA speaks the new message.  But since the primary input device is a gamepad, NVDA doesn’t register a gamepad button in the same way as a keyboard button.

 

I thought using aria-live = assertive would accomplish my goal, but no luck.  I’ve tried every combination of roll (status, alert, etc.) and aria-live (polite and assertive) that I can think of.

 

I’m using NVDA 2019.3.1 and Chrome 80.

 

Does anyone have any ideas?

 

Sean

Re: Having NVDA interrupt itself using aria-live updates

Bill Dengler
 

See https://github.com/nvaccess/nvda/pull/10622

Although I think this might just be for UIA, not ARIA.

 

Bill

 

From: nvda-devel@groups.io <nvda-devel@groups.io> On Behalf Of Sean Mealin
Sent: 26 March 2020 23:16
To: nvda-devel@groups.io
Subject: [nvda-devel] Having NVDA interrupt itself using aria-live updates

 

Hi all,

 

I’m working on a web game where the user is controlling things with a gamepad.  To give feedback, I’m updating a div that NVDA should read out.

 

The problem that I’m having is no matter the aria-live setting I use, NVDA does not interrupt itself.  So, if the user is listening to a message, and presses a button to confirm an action, I want NVDA to immediately speak a new message rather than queueing it up after the current message.  If the user is using a keyboard, this isn’t a problem because the keypress interrupts the current message and NVDA speaks the new message.  But since the primary input device is a gamepad, NVDA doesn’t register a gamepad button in the same way as a keyboard button.

 

I thought using aria-live = assertive would accomplish my goal, but no luck.  I’ve tried every combination of roll (status, alert, etc.) and aria-live (polite and assertive) that I can think of.

 

I’m using NVDA 2019.3.1 and Chrome 80.

 

Does anyone have any ideas?

 

Sean

Having NVDA interrupt itself using aria-live updates

Sean Mealin
 

Hi all,

 

I’m working on a web game where the user is controlling things with a gamepad.  To give feedback, I’m updating a div that NVDA should read out.

 

The problem that I’m having is no matter the aria-live setting I use, NVDA does not interrupt itself.  So, if the user is listening to a message, and presses a button to confirm an action, I want NVDA to immediately speak a new message rather than queueing it up after the current message.  If the user is using a keyboard, this isn’t a problem because the keypress interrupts the current message and NVDA speaks the new message.  But since the primary input device is a gamepad, NVDA doesn’t register a gamepad button in the same way as a keyboard button.

 

I thought using aria-live = assertive would accomplish my goal, but no luck.  I’ve tried every combination of roll (status, alert, etc.) and aria-live (polite and assertive) that I can think of.

 

I’m using NVDA 2019.3.1 and Chrome 80.

 

Does anyone have any ideas?

 

Sean

Re: UIA: monitoring a list view for new items

 

Hi,
I'll think about that possibility, as it'll affect all my add-ons
(WinTenApps isn't the only one with this capability). Thanks for reminding
me.
Cheers,
Joseph

-----Original Message-----
From: nvda-devel@groups.io <nvda-devel@groups.io> On Behalf Of James Scholes
Sent: Thursday, March 26, 2020 8:16 AM
To: nvda-devel@groups.io
Subject: Re: [nvda-devel] UIA: monitoring a list view for new items

> The debug printout will not show up if you just set log level to debug -
you must restart NVDA with debug logging enabled (the last option in Exit
NVDA dialog unless an update is pending).

This is a weird decision, and not particularly user-friendly if the exit
dialog is disabled. Those users would need to first go and enable that
dialog, at which point they may as well just turn on debug logging anyway.
Suggest a rethink on this one.

Regards,

James Scholes

On 25/03/2020 at 11:44 pm, Joseph Lee wrote:
Hi,

The debug printout will not show up if you just set log level to debug
- you must restart NVDA with debug logging enabled (the last option in
Exit NVDA dialog unless an update is pending). This choice is
intentional - it eases debugging by letting users restart with a
dedicated debug logging mode without having to set log level to debug.
The debug printout will then show up via log viewer and the text
starts with "W10: ".

Cheers,

Joseph

*From:*nvda-devel@groups.io <nvda-devel@groups.io> *On Behalf Of *Bill
Dengler
*Sent:* Wednesday, March 25, 2020 10:38 PM
*To:* nvda-devel@groups.io
*Subject:* Re: [nvda-devel] UIA: monitoring a list view for new items

OK, I've installed the latest version of the Windows 10 app essentials
add-on and set my log level to "debug". To test, I opened up cmd (with
UIA console), ran some commands, and looked at the NVDA log, but I
don't see any UIA events. I'd expect to see several textChange events
if the add-on is writing to the NVDA log. Where are UIA events logged?

Thanks,

Bill

*From:*nvda-devel@groups.io <mailto:nvda-devel@groups.io>
<nvda-devel@groups.io <mailto:nvda-devel@groups.io>> *On Behalf Of
*Joseph Lee
*Sent:* 26 March 2020 01:31
*To:* nvda-devel@groups.io <mailto:nvda-devel@groups.io>
*Subject:* Re: [nvda-devel] UIA: monitoring a list view for new items

Hi,

AccEvent is a Windows SDK tool that will report accessibility events
generated by MSAA/UIA servers (apps and controls). I usually resort to
using AccEvent if I need information for new events and/or investigate
certain events further. For the most part, I use Windows 10 App
Essentials add-on debug printout for UIA event tracking.

Cheers,

Joseph

*From:*nvda-devel@groups.io <mailto:nvda-devel@groups.io>
<nvda-devel@groups.io <mailto:nvda-devel@groups.io>> *On Behalf Of
*Bill Dengler
*Sent:* Wednesday, March 25, 2020 10:28 PM
*To:* nvda-devel@groups.io <mailto:nvda-devel@groups.io>
*Subject:* Re: [nvda-devel] UIA: monitoring a list view for new items

What is AccEvent?

Unigram (Telegram) and Dell Mobile Connect (iMessage).

Bill

*From:*nvda-devel@groups.io <mailto:nvda-devel@groups.io>
<nvda-devel@groups.io <mailto:nvda-devel@groups.io>> *On Behalf Of
*Joseph Lee
*Sent:* 26 March 2020 01:27
*To:* nvda-devel@groups.io <mailto:nvda-devel@groups.io>
*Subject:* Re: [nvda-devel] UIA: monitoring a list view for new items

Hi,

What does AccEvent and Windows 10 App Essentials add-on in debug mode
(restarting NVDA with debug logging enabled) tell you about events
fired by the message list/items? Apart from structure change event
(which we don't care about), the way I did for old UWP Skype app
module was to look at events from other UIA elements and announce the
last message accordingly (a variant of this algorithm was implemented
to let NVDA announce text responses from Cortana 2 in Version 2004).

Which apps are you writing app modules for?

Cheers,

Joseph

*From:*nvda-devel@groups.io <mailto:nvda-devel@groups.io>
<nvda-devel@groups.io <mailto:nvda-devel@groups.io>> *On Behalf Of
*Bill Dengler
*Sent:* Wednesday, March 25, 2020 10:17 PM
*To:* nvda-devel@groups.io <mailto:nvda-devel@groups.io>
*Subject:* [nvda-devel] UIA: monitoring a list view for new items

Hello,

I'm working on app modules for two UWP messaging apps. In both cases,
messages are presented in list views that can be uniquely identified
by obj.UIAElement.CachedAutomationID. When new messages arrive, the
list view is updated with these messages. I'd like to have NVDA
automatically read these messages, similar to Skype/Miranda.

It doesn't seem like any NVDA events are executed when new items are
added to the list, and no textChange events are executed when
subscribing to display model notifications for the list with
displayModel.requestTextChangeNotifications(obj, True).

What's the best way to detect new list items? Do I need to constantly
poll the list?

Thanks,

Bill

Re: UIA: monitoring a list view for new items

James Scholes
 

The debug printout will not show up if you just set log level to
debug – you must restart NVDA with debug logging enabled (the last option in Exit NVDA dialog unless an update is pending).

This is a weird decision, and not particularly user-friendly if the exit dialog is disabled. Those users would need to first go and enable that dialog, at which point they may as well just turn on debug logging anyway. Suggest a rethink on this one.

Regards,

James Scholes

On 25/03/2020 at 11:44 pm, Joseph Lee wrote:
Hi,
The debug printout will not show up if you just set log level to debug – you must restart NVDA with debug logging enabled (the last option in Exit NVDA dialog unless an update is pending). This choice is intentional – it eases debugging by letting users restart with a dedicated debug logging mode without having to set log level to debug. The debug printout will then show up via log viewer and the text starts with “W10: “.
Cheers,
Joseph
*From:*nvda-devel@groups.io <nvda-devel@groups.io> *On Behalf Of *Bill Dengler
*Sent:* Wednesday, March 25, 2020 10:38 PM
*To:* nvda-devel@groups.io
*Subject:* Re: [nvda-devel] UIA: monitoring a list view for new items
OK, I’ve installed the latest version of the Windows 10 app essentials add-on and set my log level to “debug”. To test, I opened up cmd (with UIA console), ran some commands, and looked at the NVDA log, but I don’t see any UIA events. I’d expect to see several textChange events if the add-on is writing to the NVDA log. Where are UIA events logged?
Thanks,
Bill
*From:*nvda-devel@groups.io <mailto:nvda-devel@groups.io> <nvda-devel@groups.io <mailto:nvda-devel@groups.io>> *On Behalf Of *Joseph Lee
*Sent:* 26 March 2020 01:31
*To:* nvda-devel@groups.io <mailto:nvda-devel@groups.io>
*Subject:* Re: [nvda-devel] UIA: monitoring a list view for new items
Hi,
AccEvent is a Windows SDK tool that will report accessibility events generated by MSAA/UIA servers (apps and controls). I usually resort to using AccEvent if I need information for new events and/or investigate certain events further. For the most part, I use Windows 10 App Essentials add-on debug printout for UIA event tracking.
Cheers,
Joseph
*From:*nvda-devel@groups.io <mailto:nvda-devel@groups.io> <nvda-devel@groups.io <mailto:nvda-devel@groups.io>> *On Behalf Of *Bill Dengler
*Sent:* Wednesday, March 25, 2020 10:28 PM
*To:* nvda-devel@groups.io <mailto:nvda-devel@groups.io>
*Subject:* Re: [nvda-devel] UIA: monitoring a list view for new items
What is AccEvent?
Unigram (Telegram) and Dell Mobile Connect (iMessage).
Bill
*From:*nvda-devel@groups.io <mailto:nvda-devel@groups.io> <nvda-devel@groups.io <mailto:nvda-devel@groups.io>> *On Behalf Of *Joseph Lee
*Sent:* 26 March 2020 01:27
*To:* nvda-devel@groups.io <mailto:nvda-devel@groups.io>
*Subject:* Re: [nvda-devel] UIA: monitoring a list view for new items
Hi,
What does AccEvent and Windows 10 App Essentials add-on in debug mode (restarting NVDA with debug logging enabled) tell you about events fired by the message list/items? Apart from structure change event (which we don’t care about), the way I did for old UWP Skype app module was to look at events from other UIA elements and announce the last message accordingly (a variant of this algorithm was implemented to let NVDA announce text responses from Cortana 2 in Version 2004).
Which apps are you writing app modules for?
Cheers,
Joseph
*From:*nvda-devel@groups.io <mailto:nvda-devel@groups.io> <nvda-devel@groups.io <mailto:nvda-devel@groups.io>> *On Behalf Of *Bill Dengler
*Sent:* Wednesday, March 25, 2020 10:17 PM
*To:* nvda-devel@groups.io <mailto:nvda-devel@groups.io>
*Subject:* [nvda-devel] UIA: monitoring a list view for new items
Hello,
I’m working on app modules for two UWP messaging apps. In both cases, messages are presented in list views that can be uniquely identified by obj.UIAElement.CachedAutomationID. When new messages arrive, the list view is updated with these messages. I’d like to have NVDA automatically read these messages, similar to Skype/Miranda.
It doesn’t seem like any NVDA events are executed when new items are added to the list, and no textChange events are executed when subscribing to display model notifications for the list with displayModel.requestTextChangeNotifications(obj, True).
What’s the best way to detect new list items? Do I need to constantly poll the list?
Thanks,
Bill

Re: UIA: monitoring a list view for new items

James Scholes
 

Is there an area of the app which displays some information which does update in line with the content of the list view, such as an unread messages indicator or counter? If that fires a change event, you could then respond and check the list view for new content rather than constantly polling it.

Regards,

James Scholes

On 26/03/2020 at 2:32 am, Bill Dengler wrote:
Thanks!
Is there any way to tell when an application loses focus? I don’t seem to be getting loseFocus events on the main window…
Bill
*From:*nvda-devel@groups.io <nvda-devel@groups.io> *On Behalf Of *Leonard de Ruijter
*Sent:* 26 March 2020 03:28
*To:* nvda-devel@groups.io
*Subject:* Re: [nvda-devel] UIA: monitoring a list view for new items
You would have to write a script that overrides the tab and either implement your own tab traversal, or when pressing tab, execute the tab gesture as long as you reached the right element. Both have their advantages and disadvantages.
On 26/03/2020 08:16, Bill Dengler wrote:
Also, is there a way to remove elements from the tab order? Dell
Mobile Connect has several empty elements, so you often have to hit
tab three or four times to move between elements (to skip over the
blanks).
Bill
*From:*nvda-devel@groups.io <mailto:nvda-devel@groups.io>
<nvda-devel@groups.io> <mailto:nvda-devel@groups.io> *On Behalf Of
*Leonard de Ruijter
*Sent:* 26 March 2020 03:12
*To:* nvda-devel@groups.io <mailto:nvda-devel@groups.io>
*Subject:* Re: [nvda-devel] UIA: monitoring a list view for new items
Hey Bill,
I assume you have used Windows 10 app essentials to track down the
fact that you don't receive any events. In that case, for UWP,
there's not much else to do other than polling.
Regards,
Leonard
On 26/03/2020 06:16, Bill Dengler wrote:
Hello,
I’m working on app modules for two UWP messaging apps. In both
cases, messages are presented in list views that can be uniquely
identified by obj.UIAElement.CachedAutomationID. When new
messages arrive, the list view is updated with these messages.
I’d like to have NVDA automatically read these messages, similar
to Skype/Miranda.
It doesn’t seem like any NVDA events are executed when new items
are added to the list, and no textChange events are executed
when subscribing to display model notifications for the list
with displayModel.requestTextChangeNotifications(obj, True).
What’s the best way to detect new list items? Do I need to
constantly poll the list?
Thanks,
Bill

Re: UIA: monitoring a list view for new items

 

Good point


I believe lose focus is only called on real focus objects. There is no negated version of focusEntered.

If you need to track a lose focus of a main window within the app, event_foreground globally on the module is probably your best friend. Otherwise, there is event_appModule_loseFocus that's called when you move out of the app.

if you look in appModuleHandler.py, there seems to be an event_appLoseFocus event. I think that's a bug and should be event_appModule_loseFocus as well.

On 26/03/2020 09:32, Bill Dengler wrote:

Thanks!

Is there any way to tell when an application loses focus? I don’t seem to be getting loseFocus events on the main window…

 

Bill

 

From: nvda-devel@groups.io <nvda-devel@groups.io> On Behalf Of Leonard de Ruijter
Sent: 26 March 2020 03:28
To: nvda-devel@groups.io
Subject: Re: [nvda-devel] UIA: monitoring a list view for new items

 

You would have to write a script that overrides the tab and either implement your own tab traversal, or when pressing tab, execute the tab gesture as long as you reached the right element. Both have their advantages and disadvantages.

On 26/03/2020 08:16, Bill Dengler wrote:

Also, is there a way to remove elements from the tab order? Dell Mobile Connect has several empty elements, so you often have to hit tab three or four times to move between elements (to skip over the blanks).

 

Bill

 

From: nvda-devel@groups.io <nvda-devel@groups.io> On Behalf Of Leonard de Ruijter
Sent: 26 March 2020 03:12
To: nvda-devel@groups.io
Subject: Re: [nvda-devel] UIA: monitoring a list view for new items

 

Hey Bill,

 

I assume you have used Windows 10 app essentials to track down the fact that you don't receive any events. In that case, for UWP, there's not much else to do other than polling.

 

Regards,

Leonard

On 26/03/2020 06:16, Bill Dengler wrote:

Hello,

I’m working on app modules for two UWP messaging apps. In both cases, messages are presented in list views that can be uniquely identified by obj.UIAElement.CachedAutomationID. When new messages arrive, the list view is updated with these messages. I’d like to have NVDA automatically read these messages, similar to Skype/Miranda.

It doesn’t seem like any NVDA events are executed when new items are added to the list, and no textChange events are executed when subscribing to display model notifications for the list with displayModel.requestTextChangeNotifications(obj, True).

What’s the best way to detect new list items? Do I need to constantly poll the list?

 

Thanks,

Bill

Re: UIA: monitoring a list view for new items

derek riemer
 

event_appModule_loseFocus

On Thu, Mar 26, 2020 at 2:32 AM Bill Dengler <codeofdusk@...> wrote:

Thanks!

Is there any way to tell when an application loses focus? I don’t seem to be getting loseFocus events on the main window…

 

Bill

 

From: nvda-devel@groups.io <nvda-devel@groups.io> On Behalf Of Leonard de Ruijter
Sent: 26 March 2020 03:28
To: nvda-devel@groups.io
Subject: Re: [nvda-devel] UIA: monitoring a list view for new items

 

You would have to write a script that overrides the tab and either implement your own tab traversal, or when pressing tab, execute the tab gesture as long as you reached the right element. Both have their advantages and disadvantages.

On 26/03/2020 08:16, Bill Dengler wrote:

Also, is there a way to remove elements from the tab order? Dell Mobile Connect has several empty elements, so you often have to hit tab three or four times to move between elements (to skip over the blanks).

 

Bill

 

From: nvda-devel@groups.io <nvda-devel@groups.io> On Behalf Of Leonard de Ruijter
Sent: 26 March 2020 03:12
To: nvda-devel@groups.io
Subject: Re: [nvda-devel] UIA: monitoring a list view for new items

 

Hey Bill,

 

I assume you have used Windows 10 app essentials to track down the fact that you don't receive any events. In that case, for UWP, there's not much else to do other than polling.

 

Regards,

Leonard

On 26/03/2020 06:16, Bill Dengler wrote:

Hello,

I’m working on app modules for two UWP messaging apps. In both cases, messages are presented in list views that can be uniquely identified by obj.UIAElement.CachedAutomationID. When new messages arrive, the list view is updated with these messages. I’d like to have NVDA automatically read these messages, similar to Skype/Miranda.

It doesn’t seem like any NVDA events are executed when new items are added to the list, and no textChange events are executed when subscribing to display model notifications for the list with displayModel.requestTextChangeNotifications(obj, True).

What’s the best way to detect new list items? Do I need to constantly poll the list?

 

Thanks,

Bill



--
Derek Riemer
Improving the world one byte at a time!        ⠠⠊⠍⠏⠗⠕⠧⠬ ⠮ ⠸⠺ ⠐⠕ ⠃⠽⠞⠑ ⠁⠞ ⠁ ⠐⠞⠖
•    Accessibility enthusiast.
•    Proud user of the NVDA screen reader.
•    Open source enthusiast.
•    Skier.

•    Personal website: https://derekriemer.com