Listbox accessibility issue
Hello!
First, thank you for this great library. I have found it to be an excellent cross-platform solution for creating GUIs!
However, I wanted to bring up an accessibility issue. While this library uses native system widgets, which is beneficial for screen reader users, the listbox widget relies on a custom implementation. As a result, it is not fully accessible to screen readers.
I can read all the list items using screen view or other methods provided by the screen reader. However, when navigating through the list with arrow keys, the screen reader does not announce the selected item.
My recommendations:
-
Consider using native list boxes provided by the system to ensure accessibility for users with visual impairments.
-
Alternatively, you could implement the accessibility API directly.
Thank you very much for your hard work!
The table control is affected too. Maybe there are more controls like these.
Hi @m1maker, @a11cf0! Thanks for use NAppGUI.
NAppGUI uses native controls except, indeed, for ListBox and TableView. The problems I found with it were (especially for TableView):
- Difficulty to unify the same appearance/behavior on Windows/macOS/Linux using native controls.
- TableView works as a "dumb" viewer (no data cache). Normally native controls use some kind of automanaged "datasource" object.
- Total flexibility to implement any kind of "custom-cell" in the future. TableView is prepared to draw anything in very large data collections, since it focuses on drawing only the visible area.
However, any unimplemented native behavior should be there. I leave this issue open to do so when the time comes. Any information you can provide about the accessibility API will be welcome.
Here are some accessibility API related documentation links:
Microsoft
Apple
Linux
Sorry, unfortunately there is very little documentation for Linux, but I think this will still help you.
Thank you!