我试图改善我的Delphi应用程序对视力障碍用户的可访问性。我的应用程序使用许多自定义GUI组件。它们主要来自TWinControl或TGraphicControl。
使用NVDA进行测试时,我的自定义组件似乎不可见。例如,当鼠标悬停在常规的Delphi VCL控件(例如按钮或窗体)上时,NVDA将通过读取控件的名称(或其他详细信息)进行响应。相反,将鼠标悬停在我的任何自定义控件上时,NVDA完全不响应。
如何使我的自定义组件对NVDA和其他屏幕阅读软件可见?
最佳答案
在NVDA Design Overview页面上找到了答案。 NVDA使用许多可访问性API来收集有关GUI控件的信息。 NVDA支持:
看来我需要实现上述API之一。尚不确定每种API的优缺点。
Creating Accessible UI components in Delphi提供有关实现IAccessible的详细信息。 (感谢链接大卫)