AccessKit / AccessKit/accesskit
Document sub-trees
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 1.5k
- Forks
- 114
- Avg merge
- 8h 25m
- Merged PRs (30d)
- 28
Description
Here's the section I wrote for the ARCHITECTURE.md PR.
Sub-trees
An app's accessibility tree can be composed of several subtrees.
The idea behind subtrees is to allow different actors to produce accessibility trees without coordinating (for example, because they're separate processes in a browser), and let the main application submit them to the adapters, which take care of combining them.
The main way this separation manifests is in namespacing: each subtree can pick whatever
NodeIds it wants without worrying about colliding with other subtree'sNodeIds.
NodeId(123)in one subtree andNodeId(123)in another subtree refer to completely different nodesSubtrees are composed through "graft nodes",
Nodeinstances with a "tree_id" property set to the id of the subtree.Each sub-tree has to be submitted to the adapter with a separate
TreeUpdate. When presented to the platform's accessibility APIs, the sub trees will be stitched together and submitted as a single accessibility tree.
I think we should have something like this section somewhere in the crate doc, so that doc items can link to it.
An obvious place to put that section would be on the TreeId type, but it can go anywhere as long as rustdoc can link to it and it stays updated.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Review the proposed Sub-trees section in ARCHITECTURE.md and the existing documentation for TreeId and the crate. Add an equivalent explanation to the crate documentation or TreeId documentation so doc items can link to it, and ensure it accurately covers subtree namespacing, graft nodes, and separate TreeUpdate submission.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 75/100