chromium-accessibility@chromium.org

145 views
Skip to first unread message

Peter Ann

unread,
Oct 17, 2022, 10:16:57 AM10/17/22
to Chromium Accessibility

i use at-spi to read the structure of linux chrome.

but i found only the window and tab info can be read.

when i came to the document of chrome window, it seems unreadable.

but if i use orca to inspect the chrome window first, then i can use the same code (my code write use at-spi) to get the full structure of chrome window.


i have checked if i start chrome with "--force-renderer-accessibility", everything is fine.

but when i start chrome without "--force-renderer-accessibility", orca can work fine, but my code can't read all structure of chrome window.


Someone can tell me, how can i read the structure of chrome without  start param "--force-renderer-accessibility", just like orca do at linux.


the node at line 57 is the AtspiAccessible object of chrome window's tab panel.

unnamed.png

before i run orca, my code output.

unnamed (1).png

after i run orca, my code output.

unnamed (2).png


Daniel Libby

unread,
Oct 18, 2022, 5:59:06 PM10/18/22
to Peter Ann, Chromium Accessibility, jdi...@igalia.com, Aaron Leventhal

Glancing through the code, either of the below functions need to be called to enable accessibility for all of the web content, following analogous mechanisms on Windows and Mac:

 

https://www.chromium.org/developers/design-documents/accessibility/#how-chrome-detects-the-presence-of-assistive-technology

 

jdiggs@/aleventhal@ - Might be good to update that page for Linux? ATK documentation is pretty sparse, so I’m not 100% sure what APIs these map to for AT/clients.

 

AtkRelationSet* AtkRefRelationSet(AtkObject* atk_object) {

  RecordAccessibilityAtkApi(UmaAtkApi::kRefRelationSet);

  // Enables AX mode. Most AT does not call AtkRefRelationSet, but Orca does,

  // which is why it's a good signal to enable accessibility for Orca users

  // without too many false positives.

  AXPlatformNodeAuraLinux::EnableAXMode();

  return RefRelationSet(atk_object);

}

 

AtkAttributeSet* AtkGetAttributes(AtkObject* atk_object) {

  RecordAccessibilityAtkApi(UmaAtkApi::kGetAttributes);

  // Enables AX mode. Most AT does not call AtkGetAttributes, but Orca does,

  // which is why it's a good signal to enable accessibility for Orca users

  // without too many false positives.

  AXPlatformNodeAuraLinux::EnableAXMode();

  return GetAttributes(atk_object);

}

 

From: chromium-ac...@chromium.org <chromium-ac...@chromium.org> On Behalf Of Peter Ann
Sent: Sunday, October 16, 2022 6:18 AM
To: Chromium Accessibility <chromium-ac...@chromium.org>
Subject: chromium-ac...@chromium.org

 

You don't often get email from annpe...@gmail.com. Learn why this is important

i use at-spi to read the structure of linux chrome.

but i found only the window and tab info can be read.

when i came to the document of chrome window, it seems unreadable.

but if i use orca to inspect the chrome window first, then i can use the same code (my code write use at-spi) to get the full structure of chrome window.

 

i have checked if i start chrome with "--force-renderer-accessibility", everything is fine.

but when i start chrome without "--force-renderer-accessibility", orca can work fine, but my code can't read all structure of chrome window.

 

Someone can tell me, how can i read the structure of chrome without  start param "--force-renderer-accessibility", just like orca do at linux.

 

the node at line 57 is the AtspiAccessible object of chrome window's tab panel.

before i run orca, my code output.

after i run orca, my code output.

 

--
To unsubscribe from this group and stop receiving emails from it, send an email to chromium-accessib...@chromium.org.

Reply all
Reply to author
Forward
0 new messages