We have windows form with custom Listview control and all the Rows and subitems are rendered by using draw() method. Now we want to make our application accessibility compliant and the Screen readers like Narrator/NVDA tools doesn't read the Listview items. Tool just reading "Selected Item" where as it should read out "Selected Item 0 Column text" should be read upon selecting row.

We have tried setting "Name" property to column value and also tried setting "AccessibleName" property, which didn't work. We where drawing first column an icon, have tried removing icon column but no luck.

After adding properties using reflection, property values where shown empty string when observed UI with "Inspect.exe" tool.

public class QueueListItem : ListViewItem
    {
        public QueueListItem(){
        Type type = this.GetType();
        PropertyInfo property = type.GetProperty("AccessibleName");
        property.SetValue(this, "Test QueueListView Item", null);
    }

}

Can someone help us guiding best way to do this? Screen reader tool should read at least first column value upon selection.

0 Answers