Re: native equivalent of aria-live with NVDA


Noelia Ruiz
 

Hello, following this thread, I think you may find useful to look at
these examples:

https://github.com/nvaccess/nvda/blob/master/source/appModules/mirc.py

And class EditableTextWithSuggestions at

https://github.com/nvaccess/nvda/blob/master/source/NVDAObjects/behaviors.py

I've read your message and Reply from James Scholes. Hope this helps

2021-05-01 22:33 GMT+02:00, Florian Beijers <florianbeijers@gmail.com>:

It is hard to really specify the exact level of abstraction because of my
almost complete unfamiliarity with the way NVDA currently handles cases
like this, as well as my unfamiliarity with the way UIA and friends handle
cases like this. I'd say that your third case comes closest to what I am
trying to do. Scenarios like:

- Given object X in the object navigation hierarchy, report any new text
that is appended to the inner text of the object proactively.
- Given collection object Y in the object navigation hierarchy, look at any
new incoming children and report their inner text, if any.
- Given non-focused object Z, monitor for changes in it's content or state
and report based on a condition when either of these change.

A lot of apps do things you need to know about outside of the object you're
currently focused on, but the way this is done is always different, which
makes it hard to specifically ask a "how to do XYZ" question, as it were.
Your example looks promising for some of these scenarios though, I'll have
a look at it, thanks.
Florian


Op za 1 mei 2021 om 21:57 schreef James Scholes <james@jls-radio.com>:

As I often find myself saying on this list, it will help greatly if you
described what you're trying to do. The context really matters here.
For
example:

1. If you're trying to develop or modify a Windows app to fire screen
reader announcements, UIA does support a very similar concept to an ARIA
live region. The technologies used to implement that app will determine
how easily you can gain access to the functionality, e.g. in a .NET
WinForms app it's as easy as adding a control to a form and setting its
text. In a wxPython app, not so much.
2. If you just want your add-on to say something, import ui and use
ui.message.
3. If you're developing an add-on for an application with an updating
stream of text, like a console-style interaction, and you want NVDA to
automatically speak text as it comes in, there are ways to do that which
I've never quite managed to get my head around. Try
NVDAObjects.window.DisplayModelLiveText as a starting point.

Regards,

James Scholes

On 01/05/2021 at 2:20 pm, Florian Beijers wrote:
Hi,

I am a web developer first and foremost, and don't have a huge amount
of experience interacting with UIA and friends directly, so this is
really me looking for an analog to the concept I know.
Is there a pattern for the web concept of aria-live, where a
particular element on screen immediately echoes new text, but only the
new text, to NVDA as it comes in?
Think new messages in a chat window, new output for a terminal
program, that kind of thing.
If so, is there an example in some NVDA addon, guide, post or email
thread where I can see how this is done?

Thanks,
Florian












Join nvda-addons@nvda-addons.groups.io to automatically receive all group messages.