【问题标题】:WinApi: How to add alternative text to owner-drawn button for screen readers?WinApi:如何为屏幕阅读器的自绘按钮添加替代文本?
【发布时间】:2013-07-01 15:03:31
【问题描述】:

我创建了一个应用程序(C++,纯 Win32,没有 ATL/MFC),它有一个带有两个按钮的窗口。

这些是所有者绘制的按钮,是窗口本身的子级,我使用带有 BS_OWNERDRAW 样式的 CreateWindowEx 创建它们。

我目前正在进行辅助功能测试,但屏幕阅读器无法读取按钮上的文本。是否需要采取特殊步骤才能让屏幕阅读器读取按钮文本?

【问题讨论】:

  • 你的按钮不显示文字??是你的问题吗?是吗??
  • 不,按钮正在显示文本,屏幕阅读器无法识别按钮上的文本并将其读出
  • 您是否尝试过使用 SetWindow Text 向按钮实现提供文本? (这可能是屏幕阅读器寻找它的地方,无论按钮是否自行绘制。)
  • 微软有一个完整的可访问性 API 供屏幕阅读器使用,特别是这样他们就不必求助于此类手动操作。标准 UI 控件默认实现辅助功能,但我不确定所有者绘制的控件如何处理。

标签: c++ winapi button accessibility ownerdrawn


【解决方案1】:

正如 Scott 所说,尝试设置按钮的标准窗口文本,即使您是手动绘制它。否则,您将不得不让您的控件实现IAccessible 接口,并响应WM_GETOBJECT 窗口消息,以便向屏幕阅读器和自动化工具提供自定义文本等详细信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-10-28
    • 1970-01-01
    • 2013-10-10
    • 1970-01-01
    • 2021-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多