How to connect to chromium Accessibility Topic is solved

Ask for help, how to use AHK_H, etc.
arcticir
Posts: 471
Joined: 17 Nov 2013, 11:32

How to connect to chromium Accessibility

30 Sep 2017, 13:27

chromium Use the command line parameter "--force-renderer-accessibility" to allow us to use the ACC.
But its interface seems to be somewhat incomplete, it rarely provides "accName" or "accValue".
And if you use Firefox, the same page, we can get the complete information.


On this page: chrome://accessibility
To view the "show accessibility tree" option on the page, we can see that its ACC contains all the information.
But the problem is that we can not get this information.

I found some relevant documentation, for example here:
https://chromium.googlesource.com/chromium/src/+/master/docs/accessibility/overview.md

On Windows, the root node implements the IAccessible protocol and if you call IAccessible::get_accRole, it returns ROLE_SYSTEM_DOCUMENT, and if you call IAccessible::get_accName, it returns “How old are you?”. Other methods let you walk the tree.


But I can not understand how these data are connected.

https://www.chromium.org/developers/design-documents/accessibility
HotKeyIt
Posts: 1549
Joined: 29 Sep 2013, 18:35
Contact:

Re: How to connect to chromium Accessibility

30 Sep 2017, 14:13

Can you post an example and explain where it does not work?
arcticir
Posts: 471
Joined: 17 Nov 2013, 11:32

Re: How to connect to chromium Accessibility

30 Sep 2017, 15:55

Using the same code, chromium and Firefox have different information.

Code: [Select all] [Download] GeSHi © Codebox Plus

	Acc := Acc_ObjectFromPoint(ChildId)
role:=Acc_GetRoleText(Acc.accRole(ChildId))
state:=Acc_GetStateText(Acc.accState(ChildId))
action:=Acc.accDefaultAction(ChildId)
f:={role:role,state:state,action:action,ChildId:ChildId}
if role
f.name:=Acc.accName(ChildId),f.value:=Acc.accValue(ChildId)

ImageImage
HotKeyIt
Posts: 1549
Joined: 29 Sep 2013, 18:35
Contact:

Re: How to connect to chromium Accessibility

30 Sep 2017, 16:40

I am not sure but as I understand chromium uses different structure.
If I get it right the value is an object that contains the information, try f.value:=(ChildId2:=Acc.AccValue(ChildId)).accName(ChildId2) or something similar.
arcticir
Posts: 471
Joined: 17 Nov 2013, 11:32

Re: How to connect to chromium Accessibility

30 Sep 2017, 17:08

But I did not find who's the value is an object.
Even if you use "for wach, child in Acc_Children (AccObj)", no useful data is found.
arcticir
Posts: 471
Joined: 17 Nov 2013, 11:32

Re: How to connect to chromium Accessibility  Topic is solved

01 Oct 2017, 04:24

I use "Acc_Parent (Acc)" to get the parent data, which seems to be the correct answer.
thank you very much. :D

Return to “Ask For Help”

Who is online

Users browsing this forum: No registered users and 1 guest