Topics

Implementing a virtual list which only NVDA can see


mohammad suliman
 

Hello all,
Hope my message finds you well,

I have a question: what is the best strategy to implement a virtual UI element which only NVDA can see? In our case, we would like to have a virtual list with list items of course which the user can navigate with arrow keys. I am aware of the solution of using ui.message, but I am interested to know whether a better solution exists. A confirmation that this is the best solution will definitely help.

Thanks!
The Zoom Accessibility Enhancements team


James Scholes
 

It sounds like a pretty suboptimal idea in general. If the list items are on the screen, you can add the appropriate accessibility information to them. If they're not, how are you going to handle visual indications of selection, focus, etc?

Either way, I wouldn't think ui.message was the best way to go about this. You will have to recreate the speech strings from scratch, make sure that you fire appropriately shortened versions for braille users, and provide localised versions of your strings for every language supported by NVDA. Even if you undertake such a large amount of work, the user is out of luck if they hit NVDA+Tab, or try to use obj nav, because no controls actually exist. The chances of creating a terrible user experience are high.

Regards,

James Scholes

On 12/02/2021 at 10:54 am, mohammad suliman wrote:
Hello all,
Hope my message finds you well,

I have a question: what is the best strategy to implement a virtual UI element which only NVDA can see? In our case, we would like to have a virtual list with list items of course which the user can navigate with arrow keys. I am aware of the solution of using ui.message, but I am interested to know whether a better solution exists. A confirmation that this is the best solution will definitely help.

Thanks!
The Zoom Accessibility Enhancements team


mohammad suliman
 

Thanks for your reply. In fact, the list we want to display is a list of names so translation isn't necessary. Also, we want the list to be as simple as possible, object navigation, selection and focus don't need to behave as in a normal list. I agree that an actual list is better, but sounds to me that this is overkill for such a task.
Best,
Mohammad

On Fri, 12 Feb 2021 at 20:04, James Scholes <james@...> wrote:
It sounds like a pretty suboptimal idea in general.  If the list items are on the screen, you can add the appropriate accessibility information to them.  If they're not, how are you going to handle visual indications of selection, focus, etc?

Either way, I wouldn't think ui.message was the best way to go about this.  You will have to recreate the speech strings from scratch, make sure that you fire appropriately shortened versions for braille users, and provide localised versions of your strings for every language supported by NVDA.  Even if you undertake such a large amount of work, the user is out of luck if they hit NVDA+Tab, or try to use obj nav, because no controls actually exist.  The chances of creating a terrible user experience are high.

Regards,

James Scholes

On 12/02/2021 at 10:54 am, mohammad suliman wrote:
> Hello all,
> Hope my message finds you well,
>
> I have a question: what is the best strategy to implement a virtual UI element which only NVDA can see? In our case, we would like to have a virtual list with list items of course which the user can navigate with arrow keys. I am aware of the solution of using ui.message, but I am interested to know whether a better solution exists. A confirmation that this is the best solution will definitely help.
>
> Thanks!
> The Zoom Accessibility Enhancements team
>






Alberto Buffolino
 

mohammad suliman, il 13/02/2021 10.59, ha scritto:
I agree that an actual list is better, but sounds to me that this is overkill for such a task.
Alberto:
Hi Mohammad,
very interesting topic.
Have you considered to populate a real list in a pop-up dialog using wx?
If you are not familiar with wx it may require some time, true, even with facilities of guiHelper module provided by NVDA, but I think this can avoid a lot of work to fix NVDA behaviour on your list.
Alberto


Brian's Mail list account
 

As a non technical user of zoom on the pc, and only having used it twice, I find one of the problems is in fact too much verbosity when things change, but I too do not know the answer if you are only able to use speech as I am you are between a rock and a hard place since you want to hear the meeting but you need to know whose hand is raised and who has joined and left which all are spoken of course. I guess getting expert at the hot keys in zoom and the way to mute nvda can be the main learning curve. but merely joining a meeting can be an issue when it says waiting for the meeting to start or another meeting is in progress which are both not true is weird. There seems to be issues in the other end knowing you are in fact trying to join and from what I hear its not clear where the issue is so you have to keep on recycling the steps.


What is this a list of?
Brian

bglists@blueyonder.co.uk
Sent via blueyonder.
Please address personal E-mail to:-
briang1@blueyonder.co.uk, putting 'Brian Gaff'
in the display name field.
Newsgroup monitored: alt.comp.blind-users

----- Original Message -----
From: "mohammad suliman" <Mohmad.s93@gmail.com>
To: <nvda-addons@nvda-addons.groups.io>
Sent: Saturday, February 13, 2021 9:59 AM
Subject: Re: [nvda-addons] Implementing a virtual list which only NVDA can see


Thanks for your reply. In fact, the list we want to display is a list of
names so translation isn't necessary. Also, we want the list to be as
simple as possible, object navigation, selection and focus don't need to
behave as in a normal list. I agree that an actual list is better, but
sounds to me that this is overkill for such a task.
Best,
Mohammad

On Fri, 12 Feb 2021 at 20:04, James Scholes <james@jls-radio.com> wrote:

It sounds like a pretty suboptimal idea in general. If the list items are
on the screen, you can add the appropriate accessibility information to
them. If they're not, how are you going to handle visual indications of
selection, focus, etc?

Either way, I wouldn't think ui.message was the best way to go about
this. You will have to recreate the speech strings from scratch, make sure
that you fire appropriately shortened versions for braille users, and
provide localised versions of your strings for every language supported by
NVDA. Even if you undertake such a large amount of work, the user is out
of luck if they hit NVDA+Tab, or try to use obj nav, because no controls
actually exist. The chances of creating a terrible user experience are
high.

Regards,

James Scholes

On 12/02/2021 at 10:54 am, mohammad suliman wrote:
Hello all,
Hope my message finds you well,

I have a question: what is the best strategy to implement a virtual UI
element which only NVDA can see? In our case, we would like to have a
virtual list with list items of course which the user can navigate with
arrow keys. I am aware of the solution of using ui.message, but I am
interested to know whether a better solution exists. A confirmation that
this is the best solution will definitely help.

Thanks!
The Zoom Accessibility Enhancements team








mohammad suliman
 

Hi Alberto and all,

I think that mentioning the task I am trying to accomplish will give you an understanding for my needs. In Zoom, I want the user to have a keyboard shortcut which will let him know the list of people who raised their hands. Zoom doesn't have such a list, so I want to build a simple one, which the user can trigger with a keystroke, which after pressing the user will be able to do the following:
  • Navigating the list with up and down arrows
  • Pressing any other keystroke will close the list and perform the action associated with that keystroke
Any tips about how to implement this will be much appreciated of course.
It's worth mentioning that I have read the source code of Command helpr and got some impressions, so a big thanks to the author.

thank you!
Mohammad

On Sat, 13 Feb 2021 at 12:31, Alberto Buffolino <a.buffolino@...> wrote:
mohammad suliman, il 13/02/2021 10.59, ha scritto:
> I agree that an actual list is better, but
> sounds to me that this is overkill for such a task.
Alberto:
Hi Mohammad,
very interesting topic.
Have you considered to populate a real list in a pop-up dialog using wx?
If you are not familiar with wx it may require some time, true, even
with facilities of guiHelper module provided by NVDA, but I think this
can avoid a lot of work to fix NVDA behaviour on your list.
Alberto






mohammad suliman
 

Hi Brian,

The Zoom Accessibility Enhancements add-on was exactly built to address the problems you raised.
The add-on has a mode for reporting all alerts, a mode for silencing all alerts, a mode in which NVDA beeps for each alert, and a custom mode in which you decide which alerts do you want to be reported and which not. You are welcome to read about the add-on on the following link:

Any feedback you may have will be much appreciated,
Good luck,
Mohammad

On Sat, 13 Feb 2021 at 12:44, Brian's Mail list account via groups.io <bglists=blueyonder.co.uk@groups.io> wrote:
As a non technical user of zoom on the pc, and only having used it twice, I
find one of the problems is in fact too much verbosity when things change,
but I too do not know the answer if you are only able to use speech as I am
you are between a rock and a hard place since you want to hear the meeting
but you need to know whose hand is raised and who has joined and left which
all are spoken of course. I guess getting expert at the hot keys in zoom and
the way to mute nvda can be the main learning curve. but merely joining a
meeting can be an issue when it says waiting for the meeting to start or
another meeting is in progress which are both not true is weird. There seems
to be issues in the other end knowing you are in fact trying to join and
from what I hear its not clear where the issue is so you have to keep on
recycling the steps.


What is this a list of?
 Brian

bglists@...
Sent via blueyonder.
Please address personal E-mail to:-
briang1@..., putting 'Brian Gaff'
in the display name field.
Newsgroup monitored: alt.comp.blind-users
----- Original Message -----
From: "mohammad suliman" <Mohmad.s93@...>
To: <nvda-addons@nvda-addons.groups.io>
Sent: Saturday, February 13, 2021 9:59 AM
Subject: Re: [nvda-addons] Implementing a virtual list which only NVDA can
see


> Thanks for your reply. In fact, the list we want to display is a list of
> names so translation isn't necessary. Also, we want the list to be as
> simple as possible, object navigation, selection and focus don't need to
> behave as in a normal list. I agree that an actual list is better, but
> sounds to me that this is overkill for such a task.
> Best,
> Mohammad
>
> On Fri, 12 Feb 2021 at 20:04, James Scholes <james@...> wrote:
>
>> It sounds like a pretty suboptimal idea in general.  If the list items
>> are
>> on the screen, you can add the appropriate accessibility information to
>> them.  If they're not, how are you going to handle visual indications of
>> selection, focus, etc?
>>
>> Either way, I wouldn't think ui.message was the best way to go about
>> this.  You will have to recreate the speech strings from scratch, make
>> sure
>> that you fire appropriately shortened versions for braille users, and
>> provide localised versions of your strings for every language supported
>> by
>> NVDA.  Even if you undertake such a large amount of work, the user is out
>> of luck if they hit NVDA+Tab, or try to use obj nav, because no controls
>> actually exist.  The chances of creating a terrible user experience are
>> high.
>>
>> Regards,
>>
>> James Scholes
>>
>> On 12/02/2021 at 10:54 am, mohammad suliman wrote:
>> > Hello all,
>> > Hope my message finds you well,
>> >
>> > I have a question: what is the best strategy to implement a virtual UI
>> element which only NVDA can see? In our case, we would like to have a
>> virtual list with list items of course which the user can navigate with
>> arrow keys. I am aware of the solution of using ui.message, but I am
>> interested to know whether a better solution exists. A confirmation that
>> this is the best solution will definitely help.
>> >
>> > Thanks!
>> > The Zoom Accessibility Enhancements team
>> >
>>
>>
>>
>>
>>
>>
>
>
>
>
>
>







James Scholes
 

In fact, the list we want to display is a list of names so translation isn't necessary.
I wasn't refering to the text of the list items as needing to be translated. That is not NVDA's responsibility for any control. Rather the role of the list, the string indicating the index of the current item and total number of items, etc.

Regards,

James Scholes

On 13/02/2021 at 3:59 am, mohammad suliman wrote:
Thanks for your reply. In fact, the list we want to display is a list of names so translation isn't necessary. Also, we want the list to be as simple as possible, object navigation, selection and focus don't need to behave as in a normal list. I agree that an actual list is better, but sounds to me that this is overkill for such a task.
Best,
Mohammad

On Fri, 12 Feb 2021 at 20:04, James Scholes <james@jls-radio.com <mailto:james@jls-radio.com>> wrote:

It sounds like a pretty suboptimal idea in general.  If the list items are on the screen, you can add the appropriate accessibility information to them.  If they're not, how are you going to handle visual indications of selection, focus, etc?

Either way, I wouldn't think ui.message was the best way to go about this.  You will have to recreate the speech strings from scratch, make sure that you fire appropriately shortened versions for braille users, and provide localised versions of your strings for every language supported by NVDA.  Even if you undertake such a large amount of work, the user is out of luck if they hit NVDA+Tab, or try to use obj nav, because no controls actually exist.  The chances of creating a terrible user experience are high.

Regards,

James Scholes

On 12/02/2021 at 10:54 am, mohammad suliman wrote:
> Hello all,
> Hope my message finds you well,
>
> I have a question: what is the best strategy to implement a virtual UI element which only NVDA can see? In our case, we would like to have a virtual list with list items of course which the user can navigate with arrow keys. I am aware of the solution of using ui.message, but I am interested to know whether a better solution exists. A confirmation that this is the best solution will definitely help.
>
> Thanks!
> The Zoom Accessibility Enhancements team
>






James Scholes
 

Given what you're trying to achieve, I agree with Alberto that just popping up an NVDA-specific dialog (with list) would be a better idea. Zoom's UI is already bloated and crowded enough without virtual lists everywhere.

Regards,

James Scholes

On 15/02/2021 at 5:44 am, mohammad suliman wrote:
Hi Alberto and all,

I think that mentioning the task I am trying to accomplish will give you an understanding for my needs. In Zoom, I want the user to have a keyboard shortcut which will let him know the list of people who raised their hands. Zoom doesn't have such a list, so I want to build a simple one, which the user can trigger with a keystroke, which after pressing the user will be able to do the following:

* Navigating the list with up and down arrows
* Pressing any other keystroke will close the list and perform the action associated with that keystroke

Any tips about how to implement this will be much appreciated of course.
It's worth mentioning that I have read the source code of Command helpr and got some impressions, so a big thanks to the author.

thank you!
Mohammad

On Sat, 13 Feb 2021 at 12:31, Alberto Buffolino <a.buffolino@gmail.com <mailto:a.buffolino@gmail.com>> wrote:

mohammad suliman, il 13/02/2021 10.59, ha scritto:
> I agree that an actual list is better, but
> sounds to me that this is overkill for such a task.
Alberto:
Hi Mohammad,
very interesting topic.
Have you considered to populate a real list in a pop-up dialog using wx?
If you are not familiar with wx it may require some time, true, even
with facilities of guiHelper module provided by NVDA, but I think this
can avoid a lot of work to fix NVDA behaviour on your list.
Alberto






mohammad suliman
 

In fact, implementing a standard list sounds a more forward approach also to me, but I wanted to make it as simple as possible. However, it doesn't seems to be the case after reading your responses here.
Thanks,
Mohammad

On Mon, 15 Feb 2021 at 17:43 James Scholes <james@...> wrote:
Given what you're trying to achieve, I agree with Alberto that just popping up an NVDA-specific dialog (with list) would be a better idea.  Zoom's UI is already bloated and crowded enough without virtual lists everywhere.

Regards,

James Scholes

On 15/02/2021 at 5:44 am, mohammad suliman wrote:
> Hi Alberto and all,
>
> I think that mentioning the task I am trying to accomplish will give you an understanding for my needs. In Zoom, I want the user to have a keyboard shortcut which will let him know the list of people who raised their hands. Zoom doesn't have such a list, so I want to build a simple one, which the user can trigger with a keystroke, which after pressing the user will be able to do the following:
>
>   * Navigating the list with up and down arrows
>   * Pressing any other keystroke will close the list and perform the action associated with that keystroke
>
> Any tips about how to implement this will be much appreciated of course.
> It's worth mentioning that I have read the source code of Command helpr and got some impressions, so a big thanks to the author.
>
> thank you!
> Mohammad
>
> On Sat, 13 Feb 2021 at 12:31, Alberto Buffolino <a.buffolino@... <mailto:a.buffolino@...>> wrote:
>
>     mohammad suliman, il 13/02/2021 10.59, ha scritto:
>     > I agree that an actual list is better, but
>     > sounds to me that this is overkill for such a task.
>     Alberto:
>     Hi Mohammad,
>     very interesting topic.
>     Have you considered to populate a real list in a pop-up dialog using wx?
>     If you are not familiar with wx it may require some time, true, even
>     with facilities of guiHelper module provided by NVDA, but I think this
>     can avoid a lot of work to fix NVDA behaviour on your list.
>     Alberto
>
>
>
>
>
>






mohammad suliman
 

Assuming the list items doesn't refer to options to configure the program...

On Mon, 15 Feb 2021 at 17:41 James Scholes <james@...> wrote:
> In fact, the list we want to display is a list of names so translation isn't necessary.

I wasn't refering to the text of the list items as needing to be translated.  That is not NVDA's responsibility for any control.  Rather the role of the list, the string indicating the index of the current item and total number of items, etc.

Regards,

James Scholes

On 13/02/2021 at 3:59 am, mohammad suliman wrote:
> Thanks for your reply. In fact, the list we want to display is a list of names so translation isn't necessary. Also, we want the list to be as simple as possible, object navigation, selection and focus don't need to behave as in a normal list. I agree that an actual list is better, but sounds to me that this is overkill for such a task.
> Best,
> Mohammad
>
> On Fri, 12 Feb 2021 at 20:04, James Scholes <james@... <mailto:james@...>> wrote:
>
>     It sounds like a pretty suboptimal idea in general.  If the list items are on the screen, you can add the appropriate accessibility information to them.  If they're not, how are you going to handle visual indications of selection, focus, etc?
>
>     Either way, I wouldn't think ui.message was the best way to go about this.  You will have to recreate the speech strings from scratch, make sure that you fire appropriately shortened versions for braille users, and provide localised versions of your strings for every language supported by NVDA.  Even if you undertake such a large amount of work, the user is out of luck if they hit NVDA+Tab, or try to use obj nav, because no controls actually exist.  The chances of creating a terrible user experience are high.
>
>     Regards,
>
>     James Scholes
>
>     On 12/02/2021 at 10:54 am, mohammad suliman wrote:
>     > Hello all,
>     > Hope my message finds you well,
>     >
>     > I have a question: what is the best strategy to implement a virtual UI element which only NVDA can see? In our case, we would like to have a virtual list with list items of course which the user can navigate with arrow keys. I am aware of the solution of using ui.message, but I am interested to know whether a better solution exists. A confirmation that this is the best solution will definitely help.
>     >
>     > Thanks!
>     > The Zoom Accessibility Enhancements team
>     >
>
>
>
>
>
>