Files
sci-gui-agent-benchmark/desktop_env/server
David Chang b7e3e1f7d0 ver Jan26thv2
fixed bugs by incomplete merging
2024-01-26 23:40:20 +08:00
..
2024-01-26 23:40:20 +08:00
2024-01-15 18:27:29 +08:00
2024-01-15 11:49:43 +08:00

About the Converted Accessibility Tree

For several applications like Firefox or Thunderbird, you should first enable

gsettings set org.gnome.desktop.interface toolkit-accessibility true

to see their accessibility tree.

Example of AT

An example of a node:

<section xmlns:attr="uri:deskat:attributes.at-spi.gnome.org" attr:class="subject" st:enabled="true" cp:screencoord="(1525, 169)", cp:windowcoord="(342, 162)", cp:size="(327, 21)">
    歡迎使用新的 Outlook.com 帳戶
</section>

An example of a tree:

<desktop-frame ...>
    <application name="Thunderbird" ...>
        ... <!-- nodes of windows -->
    </application>
    ...
</desktop-frame>

Useful attributes

  1. name - shows the name of application, title of window, or name of some component
  2. attr:class - somewhat the same role as class in HTML
  3. attr:id - somewhat the same role as id in HTML
  4. cp:screencoord - absolute coordinator on the screen
  5. cp:windowcoord - relative coordinator in the window
  6. cp:size - the size

Also several states like st:enabled and st:visible can be indicated. A full state list is available at https://gitlab.gnome.org/GNOME/pyatspi2/-/blob/master/pyatspi/state.py?ref_type=heads.

How to use it in evaluation

See example thunderbird/12086550-11c0-466b-b367-1d9e75b3910e.json and function check_accessibility_tree in metrics/general.py. You can use CSS selector or XPath to reference a target nodes. You can also check its text contents.

An example of a CSS selector:

application[name=Thunderbird] page-tab-list[attr|id="tabmail-tabs"]>page-tab[name="About Profiles"]

This selector will select the page tab of profile manager in Thunderbird (if open).

For usage of CSS selector: https://www.w3.org/TR/selectors-3/. For usage of XPath: https://www.w3.org/TR/xpath-31/.

Manual check

You can use accerciser to check the accessibility tree on GNOME VM.

sudo apt install accerciser

Additional Installation

Activating the window manager control requires the installation of wmctrl:

sudo apt install wmctrl

To enable recording in the virtual machine, you need to install ffmpeg:

sudo apt install ffmpeg