Date   
Re: An Issue With Attaching An Excel Macro File To An NVDA Issue

James Scholes
 

Zip it up. Or alternatively, rename it and then explain the original filename in the issue description/comment.

Regards,

James Scholes

On 15/05/2019 at 8:24 am, Jim Homme wrote:
Hi,
I want to attach an Excel file that demonstrates an issue, but it looks like the xlsm file type will not upload. What should I do about this?
Thanks.
Jim

Threshold/add-on releases round 2: reverting recent releases/compatibility range changes, Threshold work from my add-ons put on hold #addonrelease

 

Hi all,

 

After receiving feedback regarding recent add-on updates and compatibility checks, I’m going to do two things:

  1. Revert releases: although Project Threshold does say that NVDA 2019.3 is required, feature set isn’t frozen. Thus I’m reverting recent releases.
  2. Threshold/add-on compatibility work put on hold: until the “real” game changer comes to Threshold and getting clearance to introduce Threshold work, I’m putting Threshold add-on work on hold for all my add-ons (for now, all of my add-ons, including Add-on Updater, are affected by this hold).

 

For those using Add-on Updater: depending on if you’ve updated add-ons recently or not, you’ll either get no update announcement or a dialog asking you to “update”. Don’t worry if update versions seem to be older than what you might be using.

 

A note to anyone wishing to test Project Threshold with add-ons: at this time, I advise against it until “green light” is issued from authorities. The exception is for add-on developers who are interested in keeping an eye on changes coming with this project – hold off releasing Threshold powered add-on versions until told to do so.

Cheers,

Joseph

Re: NVDA with one core broken in threshold snapshots

Michael Curran
 

OneCore should now be working in Threshold again. I did in deed miss-read the merge conflict.


Mick



On 5/16/2019 3:47 AM, Zachary Morris wrote:

Ok Leonard, thanks.

On 5/15/2019 12:42 PM, Leonard de Ruijter wrote:

Hello,


Nope, that's not going to work I'm afraid. I'm sure either Mick, Reef or may be myself will fix this tomorrow.


Regards,

Leonard

On 15-5-2019 19:32, Zachary Morris wrote:
thanks. I'm going to test this out, but I wonder if I could just copy onecore.py from the synth drivers from an older snapshot and paste it in after upgrade. But thanks for letting me know, I  just unaware that nv access knew about it

Sent from my Iphone using braille screen input

On May 15, 2019, at 12:27, Leonard de Ruijter <leonard@...> wrote:

Hello,


Thanks for reporting here, we're already aware of the issue,

Having said that, while we really encourage active testing of the threshold branch, we'd appreciate it if you could be reluctant filing issues and reports for Threshold, especially if it is related to add-ons. This branch is in active development and it has the focus of many people, including NV Access and other members of the NVDA Council. Therefore, it is pretty likely that major issues like this one are fixed on the next business day. If you really believe that we aren't aware of the issue after several days, please report it here as yet. This saves you the burden of checking this list or github and filing an issue here or there, and it saves us the need to reply on an e-mail or on a github issue and close it afterwards. Thanks in advance for your cooperation!


Regards,

Leonard

On 15-5-2019 18:13, Zachary Morris wrote:
Hello,

I switched back to NVDA threshold to find that windows one core voices no longer work. The option in the synthesizer dialog is also gone. How do I fix this?




Re: NVDA with one core broken in threshold snapshots

Zachary Morris
 

Hello,

Thanks for this. I will try it now.


On 5/15/2019 4:00 PM, Michael Curran wrote:

OneCore should now be working in Threshold again. I did in deed miss-read the merge conflict.


Mick



On 5/16/2019 3:47 AM, Zachary Morris wrote:

Ok Leonard, thanks.

On 5/15/2019 12:42 PM, Leonard de Ruijter wrote:

Hello,


Nope, that's not going to work I'm afraid. I'm sure either Mick, Reef or may be myself will fix this tomorrow.


Regards,

Leonard

On 15-5-2019 19:32, Zachary Morris wrote:
thanks. I'm going to test this out, but I wonder if I could just copy onecore.py from the synth drivers from an older snapshot and paste it in after upgrade. But thanks for letting me know, I  just unaware that nv access knew about it

Sent from my Iphone using braille screen input

On May 15, 2019, at 12:27, Leonard de Ruijter <leonard@...> wrote:

Hello,


Thanks for reporting here, we're already aware of the issue,

Having said that, while we really encourage active testing of the threshold branch, we'd appreciate it if you could be reluctant filing issues and reports for Threshold, especially if it is related to add-ons. This branch is in active development and it has the focus of many people, including NV Access and other members of the NVDA Council. Therefore, it is pretty likely that major issues like this one are fixed on the next business day. If you really believe that we aren't aware of the issue after several days, please report it here as yet. This saves you the burden of checking this list or github and filing an issue here or there, and it saves us the need to reply on an e-mail or on a github issue and close it afterwards. Thanks in advance for your cooperation!


Regards,

Leonard

On 15-5-2019 18:13, Zachary Morris wrote:
Hello,

I switched back to NVDA threshold to find that windows one core voices no longer work. The option in the synthesizer dialog is also gone. How do I fix this?




Re: NVDA with one core broken in threshold snapshots

Brian's Mail list account
 

Hi I notice this morning there is an update which is supposed to fix this issue. Cannot try it here as no win 10 machine at home.
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: "Zachary Morris" <morriszachary99@...>
To: <nvda-devel@groups.io>
Sent: Wednesday, May 15, 2019 5:13 PM
Subject: [nvda-devel] NVDA with one core broken in threshold snapshots


Hello,

I switched back to NVDA threshold to find that windows one core voices no longer work. The option in the synthesizer dialog is also gone. How do I fix this?


Re: Threshold/add-on releases round 2: reverting recent releases/compatibility range changes, Threshold work from my add-ons put on hold #addonrelease

Brian's Mail list account
 

Yes well even with all addons disabled the latest Threshold has a common warning as it comes out of the starting process anyway.


NVDA initialized
DEBUG - core.main (08:27:16.247):
entering wx application main loop
DEBUGWARNING - NVDAObjects.IAccessible.IAccessible._get_presentationalColumnNumber (08:27:16.269):
value None is not an int
Traceback (most recent call last):
File "NVDAObjects\IAccessible\__init__.pyc", line 1160, in _get_presentationalColumnNumber
TypeError: int() argument must be a string or a number, not 'NoneType'
DEBUGWARNING - NVDAObjects.IAccessible.IAccessible._get_presentationalRowNumber (08:27:16.269):
value None is not an int
Traceback (most recent call last):
File "NVDAObjects\IAccessible\__init__.pyc", line 1111, in _get_presentationalRowNumber
TypeError: int() argument must be a string or a number, not 'NoneType'
IO - speech.speak (08:27:16.269):
Speaking [LangChangeCommand ('en_GB'), u'Desktop list']
DEBUGWARNING - characterProcessing._getSpeechSymbolsForLocale (08:27:16.269):
No CLDR data for locale en_GB
DEBUGWARNING - NVDAObjects.IAccessible.IAccessible._get_presentationalColumnNumber (08:27:16.401):
value None is not an int
Traceback (most recent call last):
File "NVDAObjects\IAccessible\__init__.pyc", line 1160, in _get_presentationalColumnNumber
TypeError: int() argument must be a string or a number, not 'NoneType'
DEBUGWARNING - NVDAObjects.IAccessible.IAccessible._get_presentationalRowNumber (08:27:16.401):
value None is not an int
Traceback (most recent call last):
File "NVDAObjects\IAccessible\__init__.pyc", line 1111, in _get_presentationalRowNumber
TypeError: int() argument must be a string or a number, not 'NoneType'
IO - speech.speak (08:27:16.404):
Speaking [LangChangeCommand ('en_GB'), u'sound - Shortcut 66 of 75']
IO - inputCore.InputManager.executeGesture (08:27:27.950):
Input: kb(desktop):control+alt+r
DEBUGWARNING - NVDAObjects.IAccessible.IAccessible._get_presentationalColumnNumber (08:27:28.025):
value None is not an int
Traceback (most recent call last):
File "NVDAObjects\IAccessible\__init__.pyc", line 1160, in _get_presentationalColumnNumber
TypeError: int() argument must be a string or a number, not 'NoneType'
DEBUGWARNING - NVDAObjects.IAccessible.IAccessible._get_presentationalRowNumber (08:27:28.025):
value None is not an int
Traceback (most recent call last):
File "NVDAObjects\IAccessible\__init__.pyc", line 1111, in _get_presentationalRowNumber
TypeError: int() argument must be a string or a number, not 'NoneType'
IO - speech.speak (08:27:28.025):
Speaking [LangChangeCommand ('en_GB'), u'Taskbar']
DEBUGWARNING - NVDAObjects.IAccessible.IAccessible._get_presentationalColumnNumber (08:27:28.038):
value None is not an int
Traceback (most recent call last):
File "NVDAObjects\IAccessible\__init__.pyc", line 1160, in _get_presentationalColumnNumber
TypeError: int() argument must be a string or a number, not 'NoneType'
DEBUGWARNING - NVDAObjects.IAccessible.IAccessible._get_presentationalRowNumber (08:27:28.038):
value None is not an int
Traceback (most recent call last):
File "NVDAObjects\IAccessible\__init__.pyc", line 1111, in _get_presentationalRowNumber
TypeError: int() argument must be a string or a number, not 'NoneType'

Hope this is of help.
What you are basically saying then is this.

if you have just had messages to update add ons, then next time they will be downdated again. However this will mean that in effect in Threshold no add ons will work unless you want to test them by changing the manifest entry as things go forward, but at the moment, no critical changes exist as I see apart from the correction to the one core voices problem it is in fact beta with add ons disabled.
Obviously, you cannot yet be sure of the changes that nvaccess will make so actually trying to second guess these in an add on would be counter productive since you may need to change it when a stable bit of code that has been tested gets added to threshhold.

I have to say, I did kind of think that Murphy and his law might conspire against your good intentions here.
Its that old chestnut, there are known unknowns but also unknown unknowns......... grin.
Brian who does not know either!


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: "Joseph Lee" <@joslee>
To: <nvda-devel@groups.io>
Sent: Wednesday, May 15, 2019 8:55 PM
Subject: [nvda-devel] Threshold/add-on releases round 2: reverting recent releases/compatibility range changes, Threshold work from my add-ons put on hold #AddonRelease


Hi all,



After receiving feedback regarding recent add-on updates and compatibility
checks, I'm going to do two things:

1. Revert releases: although Project Threshold does say that NVDA
2019.3 is required, feature set isn't frozen. Thus I'm reverting recent
releases.
2. Threshold/add-on compatibility work put on hold: until the "real"
game changer comes to Threshold and getting clearance to introduce Threshold
work, I'm putting Threshold add-on work on hold for all my add-ons (for now,
all of my add-ons, including Add-on Updater, are affected by this hold).



For those using Add-on Updater: depending on if you've updated add-ons
recently or not, you'll either get no update announcement or a dialog asking
you to "update". Don't worry if update versions seem to be older than what
you might be using.



A note to anyone wishing to test Project Threshold with add-ons: at this
time, I advise against it until "green light" is issued from authorities.
The exception is for add-on developers who are interested in keeping an eye
on changes coming with this project - hold off releasing Threshold powered
add-on versions until told to do so.

Cheers,

Joseph



Re: Threshold/add-on releases round 2: reverting recent releases/compatibility range changes, Threshold work from my add-ons put on hold #addonrelease

Brian's Mail list account
 

Ps that string of error warnings occurs on alpha snaps as well.
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: "Joseph Lee" <@joslee>
To: <nvda-devel@groups.io>
Sent: Wednesday, May 15, 2019 8:55 PM
Subject: [nvda-devel] Threshold/add-on releases round 2: reverting recent releases/compatibility range changes, Threshold work from my add-ons put on hold #AddonRelease


Hi all,



After receiving feedback regarding recent add-on updates and compatibility
checks, I'm going to do two things:

1. Revert releases: although Project Threshold does say that NVDA
2019.3 is required, feature set isn't frozen. Thus I'm reverting recent
releases.
2. Threshold/add-on compatibility work put on hold: until the "real"
game changer comes to Threshold and getting clearance to introduce Threshold
work, I'm putting Threshold add-on work on hold for all my add-ons (for now,
all of my add-ons, including Add-on Updater, are affected by this hold).



For those using Add-on Updater: depending on if you've updated add-ons
recently or not, you'll either get no update announcement or a dialog asking
you to "update". Don't worry if update versions seem to be older than what
you might be using.



A note to anyone wishing to test Project Threshold with add-ons: at this
time, I advise against it until "green light" is issued from authorities.
The exception is for add-on developers who are interested in keeping an eye
on changes coming with this project - hold off releasing Threshold powered
add-on versions until told to do so.

Cheers,

Joseph



Re: Problem with fast browse mode - multiple NVDAObjects are created

 

Hey folks,


For anyone who missed it, I'd like to point out that this feature is now in alpha snapshots. You can find it in the advanced settings panel, "Automatically set system focus to focusable elements". Turning this off activates the experimental behavior.

Note that we are aware of the fact that, when activating elements, there's often the announcement of the word unknown, just as focus were bouncing to an unknown object and then returning back to the object you activated. Any ideas about what causes this would be very appreciated.

For now, please report any issues you may find here or in [#9511](https://github.com/nvaccess/nvda/pull/9511) and refrain from creating new github issues for problems you may encounter.


Regards,

Leonard

On 17-4-2019 18:25, Tony Malykh wrote:

Hi Leonard,

Object properties cache in speech.py relies on the fact that only a single unique NVDAObject represents a checkbox, because the cache is stored inside NVDAObject. Once we have multiple duplicate NVDAObjects representing the same checkbox this logic falls apart, since we'd have two separate instances of properties caches.

--Tony


On 4/16/2019 10:20 AM, Leonard de Ruijter wrote:

Hey Tony,


I've quickly looked at the pr and the issue you're facing.


I don't think it is that strange that there are multiple python objects referring to the same content. For example, try the following:


>>> a=(1, 2)
>>> b=(1, 2)
>>> a==b
True
>>> a is b
False

Note that the == operator calls a.__eq__(b), whereas the word is is more strict, i.e. it directly checks whether this is entirely the same object.


I've seen this issue in other cases as well actually, totally unrelated to browse mode.


Regards,

Leonard

On 15-4-2019 13:50, Michael Curran wrote:

Hi Tony,


I would like to publicly apologize for not replying to your email around a month ago. I should have at very least explained that I did not have time to look at this at that point in time.


I still stand by my statement that I do think this work is important, and that I would like to see this in 2019.2. I also want to get this work in before speech refactor / Python 3. Therefore, I will in deed prioritize this now.


I need to clear my head enough to give this full attention and try and reconcile the issues I previously had with the PR. I am currently on personal leave but will be back next week and will start looking into it again then.


Thanks again for your contributions.


Mick










On 4/14/2019 5:06 AM, Tony Malykh wrote:

Hi Reef,
I appreciate your explanation.
1. I haven't heard from Michael for over a month. At this point I believe he saw my email and decided not to reply. I understand he was busy, but I can't believe he didn't have time to reply a few lines to me for over a month.
2. I believe I explained my problem clearly enough - duplicate  NVDA objects are created. The rest are details, test case, etc - you can find that in my previous emails in this thread.
3. I understand that you guys have your own set of priorities. However when you're saying that (and correct me if I'm wrong), it creates an impression that fast browse mode is not important or not worthy of Michael's reply. Here I pulled the list of 22 NVDA issues that I was trying to fix by fast browse mode (some of them are closed as duplicates):
    * nvda jumping the text box to enter the text to translate in google translator #8992
    * nvda 2018.4 beta 2 stuck in sum elements in web page #8999
    * Navigating quickly in edit fields on GMail causes NVDA to change from focus to browse mode unexpectedly #8211
    * When navigating the gmail page gsuite corporate inbox using the default view, nvda gets stuck in the navigation of the chat tabs #8111
    * NVDA cuts words and reports parts of different elements together on one key press; first occurance since nvda 2018.4 #9129
    * Internal focus handling seems quirky #5831
    * Browse mode problems with slow/inappropriate focus changes in browsers #2039
    * Losing Focus When Using Browse Mode #1544
    * Long pressing arror key will force to enter edit mode in firefox. #4719
    * In Firefox 37,when I move focus to a new line or control NVDA sometimes sets focus back to the previous line or control which had focus #5032
    * focus mode is activated due to caret movement sometimes randomly even when configured not to do so #5359
    * Firefox: Performance Degradation since merging #2039 Fix #5411
    * NVDA jumps when navigating on the web #2211
    * NVDA jumps to the bottom of the page when reaching the main landmark or heading level 1 on certain pages #4797
    * cursor moving backwards in navigation with the keyboard #2312
    * firefox edit fields: duplicate llines and words #3156
    * Sometimes focus jumps back to a previous web element in Firefox when arrowing down a webpage #4522
    * Internet Explorer 11 64 bit on windows 7 #6450
    * Timing issues in virtual buffers #6586
    * The user is unexpectedly dropped into focus mode on Twit.tv #6625
    * the cursor jumps backwards when browsing certain websites in Firefox, Chrome and Edge #7956
    * in chrome, sometimes focus is jumping #8013
So apparently NVDA users are bothered by bugs in NVDA browse mode as they keep creating new issues for years.
4. My attempts to fix all the bugs of fast browse mode take me deeper and deeper into NVDA internals. This particular problem with duplicate NVDA objects is very hard to fix. I could fix it for Chrome and Firefox by rewriting speech cache,but then in Internet explorer duplicate NVDA objects even have different IA2UniqueIDs, which makes it impossible for me to relate them. In edge there is another problem with focus event not being received, which I havn't started to look at. I was hoping to at least ask someone to explain to me what was the logic of creating NVDAObjects, when a new one is created as at a glance there doesn't seem to be any cache in NVDA code. But again, I received no reply. I was just trying to help NVDA, but it looks like my help is not very welcome here, Michael is only willing to be a passive code reviewer. Well, he's the boss here, but this attitude will make much harder for contributors to submit any pull requests longer than a few lines of code. Given all of that and given lack of my own free time, I'll not be working on fast browse mode anymore. I wish someone else could one day fix NVDA browse mode.
--Tony


On 4/10/2019 2:37 AM, Reef Turner wrote:
Hi Tony,

I can't speak for Michael, or the previous conversations that you have had. However, I can point out that this has been a very busy month for us at NV Access. We have had a week at CSUN AT conference (and got over the resulting jetlag), worked hard to get 2019.1 out the door and are pursuing a 2019.1.1 release. Michael and the rest of the team are taking some leave before we get into the work for the next quarter. I'm telling you this just to give some context.

Internal to NV Access, I'm sure you can appreciate that we have our own priorities and quite a busy schedule. The best advice I can give you for getting help on your project, is to try to distil the problem down to it's core, explain it is simply and succinctly as you can. You may find that there are other people on this list who can help.

On Tue, 2 Apr 2019 at 18:15, Tony Malykh <anton.malykh@...> wrote:
Hello Michael,

Did you see my previous emails?

--Tony



On 3/25/2019 3:12 PM, Tony Malykh via Groups.Io wrote:
> Hello Michael,
>
> I was wondering if I could have any assistance with this issue? I was
> under impression that you offered to help me with debugging fast
> browse mode PR... I haven't heard from you for more than two weeks, so
> should I keep waiting? Or did I misunderstand you and I'm own my own
> with this PR?
>
> Thanks
>
> --Tony
>
> On 3/20/2019 9:20 AM, Tony Malykh via Groups.Io wrote:
>> Moving this thread to new mailing list.
>>
>> [BCC old mailing list]
>>
>>
>> --Tony
>>
>> On 3/9/2019 2:49 PM, Tony Malykh wrote:
>>> Hello NVDA devs and especially Michael,
>>>
>>> I am trying to work on fast browse mode PR (a.k.a. focus follows
>>> browse mode off).
>>> Just a quick recap: In v1 of this PR there were some  bugs related
>>> to the fact that some logic was asynchronous and it relied on
>>> gainFocus event being received from the operating system. However in
>>> some cases for unknown reason operating system wouldn't send this
>>> event, causing bugs that are hard to deal with, such as inability to
>>> activate form elements on web pages.
>>> I am now working on v2:
>>> https://github.com/nvaccess/nvda/pull/9360
>>> The code is by no means ready to be reviewed, but it's just for the
>>> reference.
>>> The main change in v2 is replacing asynchronous logic with
>>> synchronous logic there, and in general it works, but there is one
>>> new bugI'm facing that I would like to discuss and maybe ask for
>>> some help.
>>>
>>> Basic description of the bug:
>>> When unchecking a checkbox on a web page, its new state is not being
>>> announced. The bug only reproduces for unchecking - that is checking
>>> previously blank checkbox works as expected.
>>> Here are the concrete steps to reproduce the bug.
>>> 1. Enter Fast browse mode by pressing NVDA+num row 8.
>>> 2. In Chrome or Firefox navigate to
>>> https://www.ironspider.ca/forms/checkradio.htm
>>> 3. Check the first 3 checkboxes on the page
>>> 4. Go back to the first check box
>>> 5. Press space to uncheck it. The check box will be successfully
>>> unchecked, but the new state will not be announced immediately.
>>>
>>> I spent some time debugging this , and here are my findings so far.
>>> Announcing state change works like this. First
>>> speech.speakObject(obj,controlTypes.REASON_ONLYCACHE) is called to
>>> cache the previous state. In traditional browse mode this function
>>> is called when user navigates to that checkbox, and therefore system
>>> focus is switched to that checkbox as well. This happens in
>>> BrowseModeDocumentTreeInterceptor.event_gainFocus.
>>> Then, assuming that user presses space bar on a checkbox,
>>> BrowseModeTreeInterceptor._activatePosition is triggered, which
>>> activates this checkbox. Shortly, in response to that we receive a
>>> state changed event, that is processed in
>>> NVDAObject.event_stateChange(), which in turn calls
>>> speech.speakObjectProperties(self,states=True,
>>> reason=controlTypes.REASON_CHANGE).
>>> So we make two calls to speech module: the first one to cache object
>>> properties, the second one to speak whatever properties have
>>> changed. Cached properties are stored inside NVDAObject, so it is
>>> very important that the same object is passed to both these calls.
>>>
>>> Now back to fast browse mode v2. Since we don't update system focus
>>> on every browse mode focus change, we need to update system focus
>>> right before activating the checkbox. This is accomplished in
>>> BrowseModeTreeInterceptor.maybeSyncFocus(). And in the same
>>> function, right after I call obj.setFocus(), I also call
>>> speech.speakObject(obj,controlTypes.REASON_ONLYCACHE).
>>> However, here is the problem. When we receive state changed event,
>>> the function NVDAObject.event_stateChange is called on a different
>>> NVDA object instance. So we completely miss the cached state.
>>> When I say a different NVDAObject instance, I only mean a different
>>> python object. So there are apparently (at least) two NVDAObjects,
>>> I'll call them NVDAObject1 and NVDAObject2. Both represent the same
>>> checkbox in the browser, both have the same IA2UniqueID and
>>> windowHandle. Yet in the first call (cacheonly) I see NVDAObject1,
>>> and the state changed event comes in with NVDAObject2.
>>> To illustrate this, here is the example from my logs (slightly
>>> formatted):
>>> cacheonly from maybeSyncFocus():
>>>     <NVDAObjects.IAccessible.mozilla.Mozilla object at 0x07A6A370>
>>>     uniqueID = (67548, -33555216)
>>> speakObject on stateChanged
>>>     <NVDAObjects.IAccessible.mozilla.Mozilla object at 0x07A6A1F0>
>>>     uniqueID = (67548L, -33555216)
>>>
>>> So the big question I have is why there are two separate NVDAObjects
>>> created for the same checkbox in my scenario? And why they are not
>>> created Without my PR? What is logic behind creating new NVDA
>>> Objects? I did some cursory debugging of that and I saw that most of
>>> NVDAObjects are created using function getNVDAObjectFromEvent()
>>> defined in IAccessible2\__init__.py, and there doesn't seem to be
>>> any caching logic there.
>>> It seems there are two potential approaches of tackling this issue.
>>> 1. We need to figure out why two separate NVDA objects are created.
>>> 2. Potentially another approach is to allow creating multiple python
>>> NVDAObjects for the same Checkbox (or any other real IAccessible2
>>> object), and have a properties cache that would take this into
>>> account. Some kind of weakKeyDictionary might work. Property caching
>>> logic in speech.py might have to be redesigned though.
>>>
>>> And also another thing worth noticing in the logs that I pasted
>>> above. UniqueID is a tuple of WindowHandle and IA2UniqueID . If you
>>> looked at both entries carefully, you would notice that WindowHandle
>>> is slightly different: even though the value is the same, in the
>>> first entry it is int, and in the second entry it is long. This
>>> looks very suspicious to me. Do you think this might be the reason
>>> why two copies of NVDAObjects are created? On the other hand it
>>> doesn't explain why two objects are not created in stock NVDA.
>>>
>>> Anyway, this is current state of my second attempt to implement fast
>>> browse mode. Any suggestions will be appreciated!
>>> Best
>>> --Tony
>>>
>>
>>
>>
>
>
>





--
Reef Turner
Software Developer 
 
Facebook: https://www.facebook.com/NVAccess 
Twitter: @NVAccess 


Speaking ARIA Current Attribute

Jim Homme
 

Hi,

By looking at the log I cannot figure out how to examine when NVDA speaks the aria-current attribute and I am wondering what other information I am missing when doing accessibility testing, so hopefully this is the right place to ask, because I am trying to start understanding the source and how to get information about what’s going on with how things work.

 

With that preamble out of the way, here is what I did. I went to this page.

 

https://www.gatsbyjs.org/tutorial/

 

When I got there, one of the links  said “Current page,” so I tried to look in the log to see if I could see that piece of text in the two name and description lines. I did not see it.

 

So next, I right clicked the link in Firefox and chose Inspect Element. Once I found the element, I right clicked it in the tree of code elements in the developer tools and copied the outer HTML, then brought it into my text editor to examine it. This is how I found the aria-current=”page” code, which I believe is making NVDA realize that the link is visually showing a sighted person that this is the current page.

 

This brings up two questions. Where does NVDA speak this, and why is it not in either the name or description areas?

 

Thanks.


Jim

 

 

==========

Jim Homme

Digital Accessibility

Bender Consulting Services

412-787-8567

https://www.benderconsult.com/our%20services/hightest-accessible-technology-solutions

 

Re: Speaking ARIA Current Attribute

James Scholes
 

In the log viewer, you'll find the current page state in the IAccessible2 attributes. It's not listed in either the name or description, because it's not a part of the name or description. It's a stateful attribute.

Think of a check box, for an example of a more familiar control. You wouldn't want the fact that it was checked or not checked to appear in the description or name of the control, because then that would appear to users as text. Whether a check box is checked, not checked or half-checked is a part of that control's state, and therefore NVDA stores and speaks that state appropriately. Same goes for current page links, same page links, visited links, headings at a particular level, and so on.

Regards,

James Scholes

On 17/05/2019 at 3:40 pm, Jim Homme wrote:
Hi,
By looking at the log I cannot figure out how to examine when NVDA speaks the aria-current attribute and I am wondering what other information I am missing when doing accessibility testing, so hopefully this is the right place to ask, because I am trying to start understanding the source and how to get information about what’s going on with how things work.
With that preamble out of the way, here is what I did. I went to this page.
https://www.gatsbyjs.org/tutorial/
When I got there, one of the links  said “Current page,” so I tried to look in the log to see if I could see that piece of text in the two name and description lines. I did not see it.
So next, I right clicked the link in Firefox and chose Inspect Element. Once I found the element, I right clicked it in the tree of code elements in the developer tools and copied the outer HTML, then brought it into my text editor to examine it. This is how I found the aria-current=”page” code, which I believe is making NVDA realize that the link is visually showing a sighted person that this is the current page.
This brings up two questions. Where does NVDA speak this, and why is it not in either the name or description areas?
Thanks.
Jim
==========
Jim Homme
Digital Accessibility
Bender Consulting Services
412-787-8567
https://www.benderconsult.com/our%20services/hightest-accessible-technology-solutions

How to find out where an error actually is.

Brian's Mail list account
 

The log below has been produced on the alpha branch latest build on a windows 7 machine with add ons enabled. They have to be enabled as I was looking at the about pages on disabled add ons at the time, so gto speak, while other addons were enabled when nvda crashed like this.

Adding generator 6
DEBUG - queueHandler.pumpAll (09:48:33.532):
generator 6 finished
IO - inputCore.InputManager.executeGesture (09:48:33.950):
Input: kb(desktop):numpad4
IO - speech.speak (09:48:33.973):
Speaking [LangChangeCommand ('en_GB'), u'2017']
IO - inputCore.InputManager.executeGesture (09:48:34.390):
Input: kb(desktop):numpad4
IO - speech.speak (09:48:34.404):
Speaking [LangChangeCommand ('en_GB'), u': ']
IO - inputCore.InputManager.executeGesture (09:48:34.910):
Input: kb(desktop):numpad4
IO - speech.speak (09:48:34.923):
Speaking [LangChangeCommand ('en_GB'), u'version']
IO - inputCore.InputManager.executeGesture (09:48:35.486):
Input: kb(desktop):numpad4
IO - inputCore.InputManager.executeGesture (09:48:35.950):
Input: kb(desktop):numpad4
IO - inputCore.InputManager.executeGesture (09:48:36.349):
Input: kb(desktop):numpad4
IO - inputCore.InputManager.executeGesture (09:48:36.757):
Input: kb(desktop):numpad4
IO - inputCore.InputManager.executeGesture (09:48:37.118):
Input: kb(desktop):numpad4
IO - inputCore.InputManager.executeGesture (09:48:37.493):
Input: kb(desktop):numpad4
IO - inputCore.InputManager.executeGesture (09:48:37.822):
Input: kb(desktop):numpad4
IO - inputCore.InputManager.executeGesture (09:48:38.446):
Input: kb(desktop):numpad4
IO - inputCore.InputManager.executeGesture (09:48:38.661):
Input: kb(desktop):numpad4
IO - inputCore.InputManager.executeGesture (09:48:38.829):
Input: kb(desktop):numpad4
IO - inputCore.InputManager.executeGesture (09:48:39.013):
Input: kb(desktop):numpad4
IO - inputCore.InputManager.executeGesture (09:48:39.181):
Input: kb(desktop):numpad4
IO - inputCore.InputManager.executeGesture (09:48:39.325):
Input: kb(desktop):numpad4
IO - inputCore.InputManager.executeGesture (09:48:39.710):
Input: kb(desktop):numpad6
IO - inputCore.InputManager.executeGesture (09:48:40.269):
Input: kb(desktop):numpad6
IO - inputCore.InputManager.executeGesture (09:48:40.766):
Input: kb(desktop):numpad4
IO - inputCore.InputManager.executeGesture (09:48:44.559):
Input: kb(desktop):NVDA+numpad5
IO - inputCore.InputManager.executeGesture (09:48:44.782):
Input: kb(desktop):NVDA+numpad5
IO - inputCore.InputManager.executeGesture (09:48:44.934):
Input: kb(desktop):NVDA+numpad5
DEBUGWARNING - watchdog._watcher (09:48:45.075):
Trying to recover from freeze, core stack:
File "nvda.pyw", line 231, in <module>
File "core.pyc", line 519, in main
File "wx\core.pyc", line 2134, in MainLoop
File "gui\addonGui.pyc", line 417, in onAbout
File "gui\addonGui.pyc", line 134, in _showAddonInfo
File "gui\__init__.pyc", line 602, in messageBox
File "gui\__init__.pyc", line 1003, in Notify
File "core.pyc", line 490, in run
File "queueHandler.pyc", line 86, in pumpAll
File "queueHandler.pyc", line 53, in flushQueue
File "C:\nvda extra\userConfig\addons\focusHighlight\globalPlugins\focusHighlight.py", line 489, in update
File "C:\nvda extra\userConfig\addons\focusHighlight\globalPlugins\focusHighlight.py", line 394, in updateLocations
File "C:\nvda extra\userConfig\addons\focusHighlight\globalPlugins\focusHighlight.py", line 294, in updateNavigatorLocation
File "C:\nvda extra\userConfig\addons\focusHighlight\globalPlugins\focusHighlight.py", line 245, in moveAndShowWindow

DEBUGWARNING - RPC process 2028 (dwm.exe) (09:48:48.397):
Thread 1120, build\x86_64\remote\injection.cpp, inproc_winEventCallback, 66:
SetWindowsHookEx with WH_GETMESSAGE failed, GetLastError returned 5

DEBUGWARNING - RPC process 2028 (dwm.exe) (09:48:48.398):
Thread 1120, build\x86_64\remote\injection.cpp, inproc_winEventCallback, 69:
SetWindowsHookEx with WH_CALLWNDPROC failed, GetLastError returned 5

WARNING - watchdog._watcher (09:49:00.076):
Core frozen in stack:
File "nvda.pyw", line 231, in <module>
File "core.pyc", line 519, in main
File "wx\core.pyc", line 2134, in MainLoop
File "gui\addonGui.pyc", line 417, in onAbout
File "gui\addonGui.pyc", line 134, in _showAddonInfo
File "gui\__init__.pyc", line 602, in messageBox
File "gui\__init__.pyc", line 1003, in Notify
File "core.pyc", line 490, in run
File "queueHandler.pyc", line 86, in pumpAll
File "queueHandler.pyc", line 53, in flushQueue
File "C:\nvda extra\userConfig\addons\focusHighlight\globalPlugins\focusHighlight.py", line 489, in update
File "C:\nvda extra\userConfig\addons\focusHighlight\globalPlugins\focusHighlight.py", line 394, in updateLocations
File "C:\nvda extra\userConfig\addons\focusHighlight\globalPlugins\focusHighlight.py", line 294, in updateNavigatorLocation
File "C:\nvda extra\userConfig\addons\focusHighlight\globalPlugins\focusHighlight.py", line 245, in moveAndShowWindow


This is where since hearing nothing at all, I decided to boot in the installed stable version so there is no clean shutdown it just goes.
The add on disabled of course was audio themes 3d, but I'm not sure that really matters. I've looked at about pages before in stable with no issues and with focus highlight installed so its weird.

Its happened three times thus far but is not absolutely reproducable.
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

how to start to lokk at sources of nvda

Roberto Burceni <roberto@...>
 

Hello,
I’m a new member of this list. I’m a blind user and I would like to start to learn sources of nvda to make some tests in particular where the braille is managed.
I’m starting to learn python at this time so I’m not so ready to develope but I would like to starto to look in depth sources.
Have you some suggestions to start this?
Thank you best regards

Re: how to start to lokk at sources of nvda

 

hi Roberto Burceni
It is recommended that you read the readme.md description of the NVDA code directory.
thank

Re: how to start to lokk at sources of nvda

derek riemer
 

I don't understand what you are trying to do. Can you tell me more?


On Sun, May 19, 2019 at 6:01 PM dingpengyu <dingpengyu06@...> wrote:
hi Roberto Burceni
It is recommended that you read the readme.md description of the NVDA code directory.
thank



--
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




Should latest beta be giving errors with normal add ons?

Brian's Mail list account
 

I notice that whereas for some time now, say sounds manager 3D has presented some python warnings. from this latest beta snap it has in effect rendered the add on useless by not allowing it to put its gui into the menus etc. Its complaining about not being able to import things so one assumes it just gives up.

DEBUGWARNING - Python warning (08:16:11.428):

C:\nvda release candidate\userConfig\addons\AudioThemes3D\globalPlugins\audioThemes\backend\unspoken\mixer.py:30: DeprecationWarning: integer argument expected, got float

ERROR - globalPluginHandler.listPlugins (08:16:11.427):

Error importing global plugin audioThemes

Traceback (most recent call last):

File "globalPluginHandler.pyc", line 23, in listPlugins

File "importlib\__init__.pyc", line 37, in import_module

File "C:\nvda release candidate\userConfig\addons\AudioThemes3D\globalPlugins\audioThemes\__init__.py", line 23, in <module>

File "C:\nvda release candidate\userConfig\addons\AudioThemes3D\globalPlugins\audioThemes\dialogs\manage_dg.py", line 17, in <module>

ImportError: cannot import name VoiceSettingsSlider

DEBUG - core.main (08:16:11.446):







Is this deliberate or an accident.

Also as previously mentioned thhere are a number of warnings appearing which seemingly do not actually seem to affect the use of nvda, but are nothing to do with add ons as they tend to be still there with add ons disabled.

Initializing core pump

DEBUG - core.main (08:16:11.447):

Initializing watchdog

DEBUG - core.main (08:16:11.447):

initializing updateCheck

INFO - core.main (08:16:11.447):

NVDA initialized

DEBUG - core.main (08:16:11.447):

entering wx application main loop

DEBUGWARNING - NVDAObjects.IAccessible.IAccessible._get_presentationalColumnNumber (08:16:11.483):

value None is not an int

Traceback (most recent call last):

File "NVDAObjects\IAccessible\__init__.pyc", line 1160, in _get_presentationalColumnNumber

TypeError: int() argument must be a string or a number, not 'NoneType'

DEBUGWARNING - NVDAObjects.IAccessible.IAccessible._get_presentationalRowNumber (08:16:11.484):

value None is not an int

Traceback (most recent call last):

File "NVDAObjects\IAccessible\__init__.pyc", line 1111, in _get_presentationalRowNumber

TypeError: int() argument must be a string or a number, not 'NoneType'

IO - speech.speak (08:16:11.484):

Speaking [LangChangeCommand ('en_GB'), u'Inbox - Outlook Express - Brians lineone account']

DEBUGWARNING - NVDAObjects.IAccessible.IAccessible._get_presentationalColumnNumber (08:16:11.486):

value None is not an int

Traceback (most recent call last):

File "NVDAObjects\IAccessible\__init__.pyc", line 1160, in _get_presentationalColumnNumber

TypeError: int() argument must be a string or a number, not 'NoneType'

DEBUGWARNING - NVDAObjects.IAccessible.IAccessible._get_presentationalRowNumber (08:16:11.486):

value None is not an int

Traceback (most recent call last):

File "NVDAObjects\IAccessible\__init__.pyc", line 1111, in _get_presentationalRowNumber

TypeError: int() argument must be a string or a number, not 'NoneType'

IO - speech.speak (08:16:11.486):

Speaking [LangChangeCommand ('en_GB'), u'Outlook Express Message List list']



Now this pops up all over the place with different appications and sometimes with nothing running at all, and I'm a at a bit of a loss on what to say if I raise it in a ticket.
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

Re: how to start to lokk at sources of nvda

Roberto Burceni <roberto@...>
 

Hello,
I would like to contribute to develope nvda and I would like to know where to start to learn how it is developed and how to start to play with code.
Thank you

Il giorno 20 mag 2019, alle ore 02:38, derek riemer <driemer.riemer@...> ha scritto:

I don't understand what you are trying to do. Can you tell me more?

On Sun, May 19, 2019 at 6:01 PM dingpengyu <@dingpengyu> wrote:
hi Roberto Burceni
It is recommended that you read the readme.md description of the NVDA code directory.
thank




--
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




Re: how to start to lokk at sources of nvda

Rui Fontes
 

Hello Robert!

If you use GitHub, you can fork the NVDA repository to your account...
If not, you can download the sources in a ZIP file...

Rui Fontes


Às 18:07 de 20/05/2019, Roberto Burceni escreveu:

Hello,
I would like to contribute to develope nvda and I would like to know where to start to learn how it is developed and how to start to play with code.
Thank you

Il giorno 20 mag 2019, alle ore 02:38, derek riemer <driemer.riemer@...> ha scritto:

I don't understand what you are trying to do. Can you tell me more?

On Sun, May 19, 2019 at 6:01 PM dingpengyu <@dingpengyu> wrote:
hi Roberto Burceni
It is recommended that you read the readme.md description of the NVDA code directory.
thank




--
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




Re: how to start to lokk at sources of nvda

Arnold Loubriat
 

Hi Roberto and welcome,
If you are still beginning to learn Python, I would recommend that you first sharpen your programming skills before diving into NVDA's source code.
It is a fairly large code base and you will spend tons of hours finding where a particular feature is implemented.
When you feel that you have a good understanding of the Python programming language, I would suggest to take a quick look at Git and text searching tools (I personnally use ripgrep on Windows).
Finally, if you are interested in Braille in particular, you can have a look at liblouis as well as some display devices protocols.
But, as I said, make sure that you really know Python before going forward because NVDA's source code doesn't always make use of good practices. We are all trying to reach this goal and some pieces of the software are well designed, but it will take you a bit of experience to actually discover it.
Regards,

Arnold

Creating a keyboard layered mode such as input help mode

Andy B.
 

Hi,

I am developing a new addon which requires the use of a layered mode such as input help mode. Can someone advise on how to create something similar in a global plugin?

Re: how to start to lokk at sources of nvda

Roberto Burceni <roberto@...>
 

Hello Harnold,
Thank you for your email.
At this time I’m learning basics of python and this seems not so difficult. I’m already a developer but at this time only for web with php and I learned some years ago C language. So I hope to learn python qucly.
Thank you for your suggestions.
Best regards

Il giorno 20 mag 2019, alle ore 21:57, Arnold Loubriat <@DataTriny> ha scritto:

Hi Roberto and welcome,
If you are still beginning to learn Python, I would recommend that you first sharpen your programming skills before diving into NVDA's source code.
It is a fairly large code base and you will spend tons of hours finding where a particular feature is implemented.
When you feel that you have a good understanding of the Python programming language, I would suggest to take a quick look at Git and text searching tools (I personnally use ripgrep on Windows).
Finally, if you are interested in Braille in particular, you can have a look at liblouis as well as some display devices protocols.
But, as I said, make sure that you really know Python before going forward because NVDA's source code doesn't always make use of good practices. We are all trying to reach this goal and some pieces of the software are well designed, but it will take you a bit of experience to actually discover it.
Regards,

Arnold