dotnet / winforms

Windows Forms is a .NET UI framework for building Windows desktop applications.
MIT License
4.41k stars 982 forks source link

Accessibility: WinForms TreeView does not support providing per-TreeNode information relating to the TreeView.ImageList icons shown on the nodes #2964

Open Tanya-Solyanik opened 4 years ago

Tanya-Solyanik commented 4 years ago

Steps to reproduce:

  1. Create a new WinForms app with .NET Framework 4.8, and add a Treeview with some items.
  2. Use TreeView.ImageList to have a variety of icons shown visually on the nodes.
  3. Run the app, and run the Narrator screen reader to have information about the icons announced.

Result: The announcement includes no details of the icon, and so if the icon visually conveys important information to the app's sighted customers, then customers who can't leverage the icons visually are blocked from accessing that information.

Expected: The WinForms Treeview/TreeNode provides some practical way for an app builder to expose the icon-related information pro grammatically through UIA for a screen reader to announce.

Ported from VSO 1077919

weltkante commented 4 years ago

I wonder if the (public) accessibility properties should be added on the ImageList instead of the TreeView/TreeNode, since ImageList is used in other places to provide icons it may be useful to have a general concept of accessibility on ImageList entries. Otherwise you may have to replicate that work for every place that may "visually convey important information" via imagelist icon.

merriemcgaw commented 4 years ago

I like that very much @weltkante. @M-Lipin / @vladimir-krestov can you evaluate the possibility here? It would be cool if we could do it at the ImageList could do a notification if the ImageList has an accessible object.