如果用户正在使用屏幕阅读器(例如Microsoft叙述者),并且他们的焦点进入文本框:
他们听到的只是:
编辑文本
同时在可访问的应用程序中,
-
例如Microsoft File Explorer
-
Microsoft Word
-
Microsoft Excel
-
Microsoft Outlook
可访问性系统能够获取控件的
“可访问名称”
:
批次分隔符。编辑文本
这可以通过实现
IAccessible
界面它获取窗口的实现
I可访问
通过发送hWnd
WM_GETOBJECT
消息应用程序从不发送此消息,但:
由Microsoft Active Accessibility和Microsoft UI Automation发送,以获取有关服务器应用程序中包含的可访问对象的信息。
应用程序从不直接发送此消息。Microsoft Active Accessibility发送此消息以响应对AccessibleObjectFromPoint、AccessibleObjectFromEvent或AccessibleObjectFromWindow的调用。
但我们可以
手柄
消息,并返回
I可访问
调用方接口:
case Message.Msg of
WM_GETOBJECT:
begin
if DWORD(Message.LParam) = OBJID_CLIENT then
Message.Result := LResultFromObject(IAccessible, Message.WParam, FAccessible);
end;
end;
在中。网络世界,他们的包装
Edit
control
,公开了设置
可访问名称
使用
Control.AccessibleName
property:
控制AccessibleName属性
获取或设置可访问性客户端应用程序使用的控件的名称。
public string AccessibleName { get; set; }
我不知道底层的Microsoft Edit控件如何公开辅助功能。我找不到任何关于
I可访问
在VCL中,TCustomActionMenuBar除外。
VCL如何公开辅助功能?
如何设置与TEdit控件关联的可访问名称?
如何设置与编辑控件关联的可访问名称?
奖金喋喋不休
这个
名称
通过
read-only IAccessible.accName property.
Property Access Type Description
-------- ----------- ----------------------------------------------------------
accName Read-only The name of the object. All objects support this property.
See get_accName.
奖金读数