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

Provide an accessible solution to use wx.CheckListBox #7325

leonardder opened this issue Jun 26, 2017 · 5 comments · Fixed by #7491

Provide an accessible solution to use wx.CheckListBox #7325

leonardder opened this issue Jun 26, 2017 · 5 comments · Fixed by #7491


Copy link

@leonardder leonardder commented Jun 26, 2017

Steps to reproduce:

Populate a wx gui with a wx.CheckListBox

Expected behavior:

Check boxes in the wx.CheckListBox are reported in NVDA, similar to the list control with checkable items in disk clean up (cleanmgr)

Actual behavior:

The wx.CheckListBox is reported as a normal list (i.e. the check boxes aren't reported)

Additional info

  • This is probably best fixed at the WX side of things, but this might take a little while. wx.CheckListBox isn't accessible in WX Python 4.0 either.

  • I recall @jcsteh having an idea about how to make the check boxes accessible, can you elaborate on this?

  • @josephsl mentioned in #6305 (comment) regarding the selection of add-ons to copy to the system profile:

    Hi, wx.CheckListBox is there, but I remember @jcsteh saying something about it. Also, I can see this being applicable for #3208 when users will select which add-ons to update, and I can use a more accessible version of wx.CheckListBox in one of my add-ons. Thanks.

    It would also be helpful for #7232 to have such a control.

Use cases with an issue

  • #1271: Enable and disable braille displays for auto detection. If a user has two braille displays with two separate drivers, NVDA should only try to autodetect these two.
  • #3208: Allowing users to select which add-ons to update
  • #6305: A list with checkable items for add-ons to copy to the system config
  • #7232: Allowing users to enable/disable showing certain object properties in a list view, such as for position information, object shortcut keys, etc.

Use cases without an issue

  • Show all the items for the formatting dialog in a list. However, this would break accelerator shortcuts, so we probably not want this. Just wanted to bring it up
  • Show the add-ons in the add-ons manager in a list with check boxes, so we can get rid of the separate enable/disable button. This might be confusing for add-ons which are marked for deletion, though. But we probably can force disable the check box in that case.
  • Add-on authors might be interested
Copy link

@jcsteh jcsteh commented Jun 26, 2017

Copy link

@feerrenrut feerrenrut commented Jun 27, 2017

@leonardder I understand that in a general sense this added support would be useful. However, if there is some application in particular that is using the wx.CheckListBox, or some development that is blocked by this support could you please mention it in the description of this issue?

Copy link
Collaborator Author

@leonardder leonardder commented Jun 28, 2017

@feerrenrutcommented: I just updated the description

Copy link

@derekriemer derekriemer commented Aug 9, 2017

I've worked out a basic prototype of this.In an addon now so people can test.

Copy link

@derekriemer derekriemer commented Aug 9, 2017

If people like this I'll send it in for review.

@nvaccessAuto nvaccessAuto added this to the 2018.4 milestone Aug 14, 2018
feerrenrut pushed a commit that referenced this issue Aug 14, 2018
Implements an accPropServer for NVDA to be able to use checkableLists. accPropServer is a base class users can inherit from to implement accpropServers on wx widgets. 

This commit introduces
- an accessible check list box, so that each item is a checkbox. This list box only supports one column
- CheckableAutoWidthColumnListCtrl, which is a multi column supporting list control with accessible check boxes. From an accessibility perspective, this control behaves similar to the list control in Windows disk cleanup (cleanmgr).
- an abstract AccPropServer we can make other servers from. This helps with fixing accessibility, but wraps the callback you provide with exception handling code (Since comtypes seems to squelch errors).

closes #7325
closes #4357
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
None yet
None yet

Successfully merging a pull request may close this issue.

5 participants