AccessKit / AccessKit/accesskit

Support exposing the 'embeds' relationship.

Open
#778 24 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
1.5k
Forks
114
Avg merge
8h 25m
Merged PRs (30d)
28

Description

In Servo, we use AccessKit to handle the platform API mappings and we are trying to get the core-aam tests working on Linux.

The issue is that the fixture used in core-aam tests tries to locate the tab under test by following the 'embeds' relation. Since AccessKit currently doesn't expose (AFAIU) most of the AT-SPI relationships, this approach to finding the tab doesn't work when Servo exposes the tabs as children of the root frame.

On Linux, Orca requires support for the 'embeds' relationship and both Chrome and FF follow this approach.
I'm not too familiar with Windows, but based on the IA2 fixture used by core-aam test, 'embeds' relationship seems to be prioritized over direct children.

I don't know what would be the ideal API for this, but I'm creating this issue to start the discussion. Please let me know if you need more information.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading adapters/atspi-common/src/node.rs around the relationship handling near line 910, then inspect the linked core-aam atspi_wrapper.py and ia2_wrapper.py fixtures. Review the discussion for an agreed API direction; done means the embeds relationship is exposed appropriately and the Linux core-aam tests can locate the tab under test.

Written by the indexing model from the issue text.

Assessment

Tech stack
linux, rust
Domain
accessibility
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.