Topics

NVDA does not read list items in SpeedCommander, if the view is set to thumbnails or icons


 

Hello NVDA developers,

I have a problem with NVDA not reading names of files and folders in the SpeedCommander file manager, if its list view is set to thumbnails or icons. I've wrote the report below to the SpeedCommander developer, but he said the following:

I can't say why NVDA won't read the names. SpeedCommander uses the normal Windows list view with the built-in accessibility support. Maybe the guys from NVDA can give you more information here?

I'm attaching the NVDA 2020.1 log with logging level set to "Debug". While NVDA was logging, I went to the SpeedCommander file manager, switched its list view between a few of the view modes, including thumbnails and icons and reproduced the issue. Is there enough useful information in the log to help diagnose the issue?

And here is the report that I sent to the SpeedCommander developer:

I have a few folders with videos and/or images, for which I've configured SpeedCommander to show them in thumbnails view. And when navigating in those folders, I've noticed that the NVDA screen reader fails to read the names of the list (folder) items, no matter if they are folders or files. This applies for each folder which is configured to show its content as thumbnails or icons. I don't remember this issue being present in SpeedCommander 18, though I can't test at the moment, since I've uninstalled it yesterday before installing the new version. Strangely enough, the other two screen readers that I have - Narrator and JAWS do not exhibit this behavior/bug - only NVDA does.

Steps to reproduce the bug:

  1. Install SpeedCommander 19.
  2. Launch SpeedCommander 19 and configure it to show the folder view as thumbnails or icons.
  3. Launch the NVDA screen reader.
  4. While the focus is in the folder list with the thumbnails/icons view, use the arrow keys to move the focus between the items.

Expected results: NVDA should read the names of the folders and files in the view.

Actual results: NVDA does not read the currently focused item.

Test environment:

  • Operating system: Windows 10 Pro version 2004 (build 19041.388), 64-bit, in Bulgarian with all locale settings set to "Bulgarian".
  • SpeeedCommander version: 19.00.9800, 64-bit, in english.
  • NVDA version: 2020.1, in bulgarian (though the NVDA locale does not matter in this case - I've tested it).

I remain at your disposal if you need more information and/or assistance in solving this issue.

Thanks in advance!

______
Best wishes,
Kostadin Kolev


 

Hello all,

Has the quoted message below arrived to the list? Because it is 3 days since I've sent it and there has been no reply to it it all. It contained an attachment - are they allowed on this list?

Thanks in advance!

______
Best wishes,
Kostadin Kolev

На 18.7.2020 г. в 20:22, Kostadin Kolev написа:

Hello NVDA developers,

I have a problem with NVDA not reading names of files and folders in the SpeedCommander file manager, if its list view is set to thumbnails or icons. I've wrote the report below to the SpeedCommander developer, but he said the following:

I can't say why NVDA won't read the names. SpeedCommander uses the normal Windows list view with the built-in accessibility support. Maybe the guys from NVDA can give you more information here?

I'm attaching the NVDA 2020.1 log with logging level set to "Debug". While NVDA was logging, I went to the SpeedCommander file manager, switched its list view between a few of the view modes, including thumbnails and icons and reproduced the issue. Is there enough useful information in the log to help diagnose the issue?

And here is the report that I sent to the SpeedCommander developer:

I have a few folders with videos and/or images, for which I've configured SpeedCommander to show them in thumbnails view. And when navigating in those folders, I've noticed that the NVDA screen reader fails to read the names of the list (folder) items, no matter if they are folders or files. This applies for each folder which is configured to show its content as thumbnails or icons. I don't remember this issue being present in SpeedCommander 18, though I can't test at the moment, since I've uninstalled it yesterday before installing the new version. Strangely enough, the other two screen readers that I have - Narrator and JAWS do not exhibit this behavior/bug - only NVDA does.

Steps to reproduce the bug:

  1. Install SpeedCommander 19.
  2. Launch SpeedCommander 19 and configure it to show the folder view as thumbnails or icons.
  3. Launch the NVDA screen reader.
  4. While the focus is in the folder list with the thumbnails/icons view, use the arrow keys to move the focus between the items.

Expected results: NVDA should read the names of the folders and files in the view.

Actual results: NVDA does not read the currently focused item.

Test environment:

  • Operating system: Windows 10 Pro version 2004 (build 19041.388), 64-bit, in Bulgarian with all locale settings set to "Bulgarian".
  • SpeeedCommander version: 19.00.9800, 64-bit, in english.
  • NVDA version: 2020.1, in bulgarian (though the NVDA locale does not matter in this case - I've tested it).

I remain at your disposal if you need more information and/or assistance in solving this issue.

Thanks in advance!

______
Best wishes,
Kostadin Kolev


Alberto Buffolino
 

Kostadin Kolev, il 21/07/2020 10.44, ha scritto:
Has the quoted message below arrived to the list? Because it is 3 days since I've sent it and there has been no reply to it it all. It contained an attachment - are they allowed on this list?
Alberto:
Hi Kostadin,
yes, it arrived, with attachment.
According to log, I suggest to try:
1) to maximize window (object name shows an exception about object dimensions, so it's not read);
2) to install NVDA, recomended for stable use in various scenarious.
Alberto


 

Hello Alberto,

I tried maximizing the window, but that did not help. And why in this case even Narrator does not have a problem in reading the items (?). So I doubt it is due to the window not being maximized. Besides that, in its current size, the window of SpeedCommander shows a view of 4 columns and 4 rows of thumbnails, which I think is more than enough for a proper displaying of the items in the view.

As for the portable NVDA. That is a portable copy of the stable NVDA release, which I have for test purposes. I have an installed copy of the latest alpha snapshot and the problem is the same.

______
Best wishes,
Kostadin Kolev

На 21.7.2020 г. в 11:53, Alberto Buffolino написа:

Kostadin Kolev, il 21/07/2020 10.44, ha scritto:
Has the quoted message below arrived to the list? Because it is 3 days since I've sent it and there has been no reply to it it all. It contained an attachment - are they allowed on this list?
Alberto:
Hi Kostadin,
yes, it arrived, with attachment.
According to log, I suggest to try:
1) to maximize window (object name shows an exception about object dimensions, so it's not read);
2) to install NVDA, recomended for stable use in various scenarious.
Alberto




 

Hello all,

Me and the main developer of SpeedCommander - Sven Ritter - are continuing our conversation about this issue. We've found some things, which I'm posting here. As Sven said, maybe the developers of NVDA can assist in solving this issue. Here's the conversation:

======

Sven Ritter:

in the log file I noticed the following lines:

DEBUGWARNING - NVDAObjects.IAccessible.sysListView32.ListItem._getColumnLocationRaw (20:05:59.637) - MainThread (1780):
LVM_GETSUBITEMRECT failed for index 3 in list

LVM_GETSUBITEMRECT only makes sense in the detail view. It returns the areas for the individual column elements. In the symbol view these do not exist and therefore it makes no sense to query them.

Please check if deactivating „Display columns in all views" in the settings dialog on the „View - Appearance" page helps. Maybe NVDA is irritated by this extended list view style option (LVS_EX_HEADERINALLVIEWS).


Me:

I've disabled "Display columns in all views" in View ➡ Appearance in SpeedCommander. Unfortunately however, this did not fix the issue.

You may have a point however that it is related to columns from the details view. NVDA has commands (Control+Alt+Arrow keys) to move between columns and rows in tables and details view in lists. When I use Control+Alt+Left/Right arrows to navigate between columns for the current row, it works even for the thumbnails view. That is useful to me, but it is unusual/non-standard behavior. But even after I disabled "Display columns in all views", NVDA's behavior with the Control+Alt+Arrow keys remained the same - even in thumbnails view it behaved as if the focus was in a details view. So, maybe SpeedCommander's "Display columns in all views" option displays/hides the columns only visually and not on a deeper (programmatic) level.

Apparently, there is a strange lack of cooperation between NVDA and SpeedCommander in thumbnails/icons view. Strangely enough, I'm almost 100% sure that it worked as it should in v18 of SpeedCommander. Were any changes done to that component of SpeedCommander in v19?


Sven Ritter:

there are only some minor changes in the list view control, mainly refactoring stuff and for dark mode support.

Can you please download and install SC18 to check it? Both versions can be used side by side.

Me:

I've installed SpeedCommander 18 and with it I don't have the problem - NVDA reads the list items even if they are in a thumbnails or icons view.

But with it I also cannot navigate with Control+Alt+Arrow keys between column items in thumbnails and icons view. Again, Control+Alt+Arrow keys is an NVDA command for navigating between table columns and rows, which also works for list views in details view. More precisely, using Control+Alt+Left/Right arrow keys reports that I'm at the end of the table and Control+Alt+Up/Down arrow keys moves between the previous and next item in the list. That means that SpeedCommander 18 presents such views as tables with 1 column and number of rows corresponding to the number of items in the list. Unlike SpeedCommander 19, which presents even thumbnails and icons views as tables and the columns from the details view are only visually hidden but programmatically (including for screen readers) visible.


Sven Ritter:

I found some time today and experimented a little. And here's what I discovered:

1) During the first test under Windows 10 with SpeedCommander 19, NVDA had no problems reading the items in the thumbnail view.

2) After updating NVDA to the current version 2020.2 no more items were recognized. So far I had 2019.2 installed.

3) In SpeedCommander 19 the list view is created explicitly in detail view mode. This is necessary to display the column header correctly in dark mode. After the window creation, the program switches to the desired mode. This is analogous to SpeedCommander 18, where the list is created in symbol view mode.

4) If I create the list view in SpeedCommander 19 in symbol mode, the recognition of the items also works with NVDA 2020.2.

5) Since it worked with NVDA 2019.2, I have downgraded NVDA step by step (2020.1, 2019.3, 2019.2.1). With version 2019.2.1 it works again, even switching between column entries via Ctrl+Alt+cursor keys.

So there must be a change between 2019.2 and 2019.3 in NVDA that prevents the recognition of items in the thumbnail view when the list view is first created in column mode.

In the release notes for 2019.3 I found the following bug fix:

NVDA will no longer report content of visually hidden columns for list items in SysListView32 controls. (#8268)

Possibly this change is the reason for the incorrect behaviour. The github item

https://github.com/nvaccess/nvda/issues/8268

contains the title

sysListView32.ListItem._getColumnLocationRaw can return malformed rectangles (i.e. with a left coordinate that is greaterher than the right coordinate)

It is probably no coincidence that _getColumnLocationRaw also appears in your log file.

Maybe the NVDA developers can do something with it.

======

Thanks in advance!

______
Best wishes,
Kostadin Kolev

На 21.7.2020 г. в 15:22, Kostadin Kolev написа:

Hello Alberto,

I tried maximizing the window, but that did not help. And why in this case even Narrator does not have a problem in reading the items (?). So I doubt it is due to the window not being maximized. Besides that, in its current size, the window of SpeedCommander shows a view of 4 columns and 4 rows of thumbnails, which I think is more than enough for a proper displaying of the items in the view.

As for the portable NVDA. That is a portable copy of the stable NVDA release, which I have for test purposes. I have an installed copy of the latest alpha snapshot and the problem is the same.

______
Best wishes,
Kostadin Kolev

На 21.7.2020 г. в 11:53, Alberto Buffolino написа:
Kostadin Kolev, il 21/07/2020 10.44, ha scritto:
Has the quoted message below arrived to the list? Because it is 3 days since I've sent it and there has been no reply to it it all. It contained an attachment - are they allowed on this list?
Alberto:
Hi Kostadin,
yes, it arrived, with attachment.
According to log, I suggest to try:
1) to maximize window (object name shows an exception about object dimensions, so it's not read);
2) to install NVDA, recomended for stable use in various scenarious.
Alberto




 

Hello all,

I've updated to the latest alpha snapshot of NVDA and the problem is fixed. I think the fix for #11468 fixed the problem in SpeedCommander as well. So, thanks for the fix.

______
Best wishes,
Kostadin Kolev

На 4.8.2020 г. в 16:51, Kostadin Kolev написа:

Hello all,

Me and the main developer of SpeedCommander - Sven Ritter - are continuing our conversation about this issue. We've found some things, which I'm posting here. As Sven said, maybe the developers of NVDA can assist in solving this issue. Here's the conversation:

======

Sven Ritter:

in the log file I noticed the following lines:

DEBUGWARNING - NVDAObjects.IAccessible.sysListView32.ListItem._getColumnLocationRaw (20:05:59.637) - MainThread (1780):
LVM_GETSUBITEMRECT failed for index 3 in list

LVM_GETSUBITEMRECT only makes sense in the detail view. It returns the areas for the individual column elements. In the symbol view these do not exist and therefore it makes no sense to query them.

Please check if deactivating „Display columns in all views" in the settings dialog on the „View - Appearance" page helps. Maybe NVDA is irritated by this extended list view style option (LVS_EX_HEADERINALLVIEWS).


Me:

I've disabled "Display columns in all views" in View ➡ Appearance in SpeedCommander. Unfortunately however, this did not fix the issue.

You may have a point however that it is related to columns from the details view. NVDA has commands (Control+Alt+Arrow keys) to move between columns and rows in tables and details view in lists. When I use Control+Alt+Left/Right arrows to navigate between columns for the current row, it works even for the thumbnails view. That is useful to me, but it is unusual/non-standard behavior. But even after I disabled "Display columns in all views", NVDA's behavior with the Control+Alt+Arrow keys remained the same - even in thumbnails view it behaved as if the focus was in a details view. So, maybe SpeedCommander's "Display columns in all views" option displays/hides the columns only visually and not on a deeper (programmatic) level.

Apparently, there is a strange lack of cooperation between NVDA and SpeedCommander in thumbnails/icons view. Strangely enough, I'm almost 100% sure that it worked as it should in v18 of SpeedCommander. Were any changes done to that component of SpeedCommander in v19?


Sven Ritter:

there are only some minor changes in the list view control, mainly refactoring stuff and for dark mode support.

Can you please download and install SC18 to check it? Both versions can be used side by side.

Me:

I've installed SpeedCommander 18 and with it I don't have the problem - NVDA reads the list items even if they are in a thumbnails or icons view.

But with it I also cannot navigate with Control+Alt+Arrow keys between column items in thumbnails and icons view. Again, Control+Alt+Arrow keys is an NVDA command for navigating between table columns and rows, which also works for list views in details view. More precisely, using Control+Alt+Left/Right arrow keys reports that I'm at the end of the table and Control+Alt+Up/Down arrow keys moves between the previous and next item in the list. That means that SpeedCommander 18 presents such views as tables with 1 column and number of rows corresponding to the number of items in the list. Unlike SpeedCommander 19, which presents even thumbnails and icons views as tables and the columns from the details view are only visually hidden but programmatically (including for screen readers) visible.


Sven Ritter:

I found some time today and experimented a little. And here's what I discovered:

1) During the first test under Windows 10 with SpeedCommander 19, NVDA had no problems reading the items in the thumbnail view.

2) After updating NVDA to the current version 2020.2 no more items were recognized. So far I had 2019.2 installed.

3) In SpeedCommander 19 the list view is created explicitly in detail view mode. This is necessary to display the column header correctly in dark mode. After the window creation, the program switches to the desired mode. This is analogous to SpeedCommander 18, where the list is created in symbol view mode.

4) If I create the list view in SpeedCommander 19 in symbol mode, the recognition of the items also works with NVDA 2020.2.

5) Since it worked with NVDA 2019.2, I have downgraded NVDA step by step (2020.1, 2019.3, 2019.2.1). With version 2019.2.1 it works again, even switching between column entries via Ctrl+Alt+cursor keys.

So there must be a change between 2019.2 and 2019.3 in NVDA that prevents the recognition of items in the thumbnail view when the list view is first created in column mode.

In the release notes for 2019.3 I found the following bug fix:

NVDA will no longer report content of visually hidden columns for list items in SysListView32 controls. (#8268)

Possibly this change is the reason for the incorrect behaviour. The github item

https://github.com/nvaccess/nvda/issues/8268

contains the title

sysListView32.ListItem._getColumnLocationRaw can return malformed rectangles (i.e. with a left coordinate that is greaterher than the right coordinate)

It is probably no coincidence that _getColumnLocationRaw also appears in your log file.

Maybe the NVDA developers can do something with it.

======

Thanks in advance!

______
Best wishes,
Kostadin Kolev

На 21.7.2020 г. в 15:22, Kostadin Kolev написа:

Hello Alberto,

I tried maximizing the window, but that did not help. And why in this case even Narrator does not have a problem in reading the items (?). So I doubt it is due to the window not being maximized. Besides that, in its current size, the window of SpeedCommander shows a view of 4 columns and 4 rows of thumbnails, which I think is more than enough for a proper displaying of the items in the view.

As for the portable NVDA. That is a portable copy of the stable NVDA release, which I have for test purposes. I have an installed copy of the latest alpha snapshot and the problem is the same.

______
Best wishes,
Kostadin Kolev

На 21.7.2020 г. в 11:53, Alberto Buffolino написа:
Kostadin Kolev, il 21/07/2020 10.44, ha scritto:
Has the quoted message below arrived to the list? Because it is 3 days since I've sent it and there has been no reply to it it all. It contained an attachment - are they allowed on this list?
Alberto:
Hi Kostadin,
yes, it arrived, with attachment.
According to log, I suggest to try:
1) to maximize window (object name shows an exception about object dimensions, so it's not read);
2) to install NVDA, recomended for stable use in various scenarious.
Alberto