Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Omit GUI elements with zero width from output #8070

Open
schulle4u opened this issue Mar 10, 2018 · 8 comments
Open

Omit GUI elements with zero width from output #8070

schulle4u opened this issue Mar 10, 2018 · 8 comments

Comments

@schulle4u
Copy link

This issue is specific to the RadioBoss application and the developer already is aware of it, but the problem could also be valid for other applications.

Steps to reproduce:

  1. As an example: Download and install RadioBoss
  2. Load any m3u playlist into the program or from the playlist menu select some music files.
  3. Open the view menu and select "screen reader mode", though this doesn't seem to have an effect for NVDA.
  4. From the view menu select "playlist columns".
  5. Uncheck some of the columns and press OK.

Expected behavior:

NVDA should only read the remaining columns in the playlist, omitting all columns previously unchecked.

Actual behavior:

When navigating through the playlist, The columns are not presented in the expected order, instead the speech and braille output is totally cluttered and doesn't match the columns displayed on the screen. Columns that are hidden are still "visible" for speech and braille output, but not in the position they previously were.

Some information from the program developer:

When you hide/show columns, they are internally being resized and moved. Hidden columns are resized to zero width, making them effectively invisible. The shown columns are automatically resized to non-zero width.

NVDA should have an option to ignore GUI elements which are actually not visible on the screen, e.g. only display elements with dimensions greater than 0 or 1.

System configuration:

  • an installed copy of NVDA 2018.1
  • Windows 10 Home 64 bit, Version 1709 (Build 16299.248)
  • RadioBoss 5.7.0.7
@dkager
Copy link
Collaborator

dkager commented Mar 10, 2018

For the sake of completeness, could you provide the developer info (NVDA+F1) for one of these table rows and also confirm that with object navigation you can enter into the table row and see the individual cells? Do the cells actually have width 0 according to the developer info?

If this "interesting" solution to hiding columns is specific to RadioBoss I would say it can be addressed in an appmodule.

@schulle4u
Copy link
Author

The playlist is presented in a simple list view, I'm not able to navigate individual cells in object nav mode.

Here are the developer infos for the whole list object:

Developer info for navigator object:
name: None
role: ROLE_LIST
states: STATE_FOCUSABLE, STATE_FOCUSED
isFocusable: True
hasFocus: True
Python object: <NVDAObjects.IAccessible.List object at 0x0744AC90>
Python class mro: (<class 'NVDAObjects.IAccessible.List'>, <class 'NVDAObjects.IAccessible.IAccessible'>, <class 'NVDAObjects.window.Window'>, <class 'NVDAObjects.NVDAObject'>, <class 'documentBase.TextContainerObject'>, <class 'baseObject.ScriptableObject'>, <class 'baseObject.AutoPropertyObject'>, <type 'object'>)
description: None
location: (10, 152, 1904, 705)
value: None
appModule: <'appModuleHandler' (appName u'radioboss', process ID 932) at address 79d98b0>
appModule.productName: u'RadioBOSS'
appModule.productVersion: u'5.7'
TextInfo: <class 'NVDAObjects.NVDAObjectTextInfo'>
windowHandle: 1901472
windowClassName: u'TDKListView'
windowControlID: 1901472
windowStyle: 1442911297
windowThreadID: 5500
windowText: u''
displayText: u'Nr. Start Titel Intro Outro L\xe4nge Dateiname BPM Bewertung Counter Vorh\xf6ren Entfernen Abspielen Stopp ein... H\xf6rer Zuletzt g... Benutzer... Kommentar (user fiel... (user fiel... (user fiel... (user fiel... (user fiel...1 [RMN] - Sh... 00:12 [RMN]-Sho.' (truncated)
IAccessibleObject: <POINTER(IAccessible) ptr=0xa019ce0 at 77d6170>
IAccessibleChildID: 0
IAccessible event parameters: windowHandle=1901472, objectID=-4, childID=0
IAccessible accName: None
IAccessible accRole: ROLE_SYSTEM_LIST
IAccessible accState: STATE_SYSTEM_FOCUSED, STATE_SYSTEM_FOCUSABLE, STATE_SYSTEM_VALID (1048580)
IAccessible accDescription: None
IAccessible accValue: None

And for an individual list row, the deepest level I'm able to navigate:

Developer info for navigator object:
name: u'1'
role: ROLE_LISTITEM
states: STATE_FOCUSABLE, STATE_SELECTABLE, STATE_FOCUSED, STATE_SELECTED
isFocusable: True
hasFocus: True
Python object: <NVDAObjects.IAccessible.IAccessible object at 0x073C90B0>
Python class mro: (<class 'NVDAObjects.IAccessible.IAccessible'>, <class 'NVDAObjects.window.Window'>, <class 'NVDAObjects.NVDAObject'>, <class 'documentBase.TextContainerObject'>, <class 'baseObject.ScriptableObject'>, <class 'baseObject.AutoPropertyObject'>, <type 'object'>)
description: u'Titel: [RMN] - Showopener 2015 Indie point; L\xe4nge: 00:12; Dateiname: [RMN]-Showopener 2015 Indie point.mp3; Counter: 148; Zuletzt gespielt: 09.03.2018 16:58:50; Vorh\xf6ren: [~icon]87; Entfernen: [~icon]86; Abspielen: [~icon]90; Stopp einf\xfcgen: [~icon]91'
location: (10, 176, 1610, 20)
value: None
appModule: <'appModuleHandler' (appName u'radioboss', process ID 7992) at address 73c9fb0>
appModule.productName: u'RadioBOSS'
appModule.productVersion: u'5.7'
TextInfo: <class 'NVDAObjects.NVDAObjectTextInfo'>
windowHandle: 1050136
windowClassName: u'TDKListView'
windowControlID: 1050136
windowStyle: 1442911297
windowThreadID: 5124
windowText: u''
displayText: u'1 [RMN] - Sh... 00:12 [RMN]-Sho... 148 09.03.201...'
IAccessibleObject: <POINTER(IAccessible) ptr=0xbd83090 at 72e5f30>
IAccessibleChildID: 1
IAccessible event parameters: windowHandle=1050136, objectID=-4, childID=1
IAccessible accName: u'1'
IAccessible accRole: ROLE_SYSTEM_LISTITEM
IAccessible accState: STATE_SYSTEM_SELECTABLE, STATE_SYSTEM_SELECTED, STATE_SYSTEM_MULTISELECTABLE, STATE_SYSTEM_FOCUSED, STATE_SYSTEM_FOCUSABLE, STATE_SYSTEM_VALID (19922950)
IAccessible accDescription: u'Titel: [RMN] - Showopener 2015 Indie point; L\xe4nge: 00:12; Dateiname: [RMN]-Showopener 2015 Indie point.mp3; Counter: 148; Zuletzt gespielt: 09.03.2018 16:58:50; Vorh\xf6ren: [~icon]87; Entfernen: [~icon]86; Abspielen: [~icon]90; Stopp einf\xfcgen: [~icon]9' (truncated)
IAccessible accValue: None

HTH
Steffen

@seanbudd
Copy link
Member

Closing as duplicate of #13897

@seanbudd seanbudd closed this as not planned Won't fix, can't repro, duplicate, stale Nov 24, 2023
@Adriani90
Copy link
Collaborator

This is a completely different use case than #13897:

  1. It is not related to HTML or CSS
  2. It requests to exclude the zero width elements which are presented by the software in whatever way through the accessibility API

So solving this issue means there should be an additional heuristic by NVDA looking via displayModel or whatever to exclude such elements from being reported.

Reopening.
cc: @LeonarddeR

@Adriani90 Adriani90 reopened this Nov 24, 2023
@Adriani90
Copy link
Collaborator

Still they are related in the way that both issues have to do with visibility of elements on the screen, but technically the approach to solve them is different.

@CyrilleB79
Copy link
Collaborator

@schulle4u, are you able to reproduce the issue with latest NVDA?

I remember there has been improvement to ignore zero-width columns in the last months/years.
Cc @nvdaes, I think you had reported or fixed this issue in the past.

@Adriani90
Copy link
Collaborator

@CyrilleB79 it is still reproducible with this type of software, the improvements during last years were hnadling rather the visibility of elements in HTML or CSS representations but not using displayModel or other use cases where HTML or CSS is not involved.

@CyrilleB79
Copy link
Collaborator

@Adriani90, I was not thinking to improvements in HTML/CSS, but rather in list views.
Anyway, thanks for the update and the confirmation that you are still able to reproduce the issue. Have you tried on 2023.3?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants