绘制列表项时如何在本机winform自定义listview控件上实现可访问性

时间:2019-04-30 11:03:30

标签: c# winforms listview accessibility custom-controls

我们有带有自定义Listview控件的Windows窗体,并且所有的行和子项都使用draw()方法呈现。现在,我们要使我们的应用程序可访问性兼容,并且诸如Narrator / NVDA工具之类的屏幕阅读器不会读取Listview项。在选择行时,应仅在读取“选定项目”的地方读取“选定项目0列文本”的工具。

我们尝试将“名称”属性设置为列值,还尝试将“ AccessibleName”属性设置为无效。 我们在第一列绘制图标的地方,曾尝试删除图标列但没有运气。

使用反射添加属性后,使用“ Inspect.exe”工具观察UI时,属性值在其中显示为空字符串。

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

}

有人可以帮助我们指导最佳方法吗?屏幕阅读器工具在选择时应至少读取第一列的值。

0 个答案:

没有答案