-
Notifications
You must be signed in to change notification settings - Fork 8
Open
Description
Imagine the following accessibility tree:
[Window] Advanced Text Editor - Untitled
|- [Pane] Editor Workspace
| |- [Custom] Document View
| | |- [Text] Line 1: This is some sample text.
| | |- [Text] Line 2: It has multiple
| | |- [Text] Line 3: levels of indentation.
| | |- [Custom] Code Block (collapsed)
| | |- [Text] int main() {
| | |- [Text] return 0;
| | |- [Text] }
| |- [ScrollBar] Vertical Scroll Bar
|- [Pane] Side Panel
| |- [TabControl] Tools
| | |- [TabPage] Project Explorer
| | | |- [Tree] Files
| | | |- [TreeItem] Source
| | | | |- [TreeItem] main.cpp
| | | | |- [TreeItem] utilities.h
| | | |- [TreeItem] Resources
| | | |- [TreeItem] images
| | | | |- [TreeItem] icon.png
| | | |- [TreeItem] data.json
| | |- [TabPage] Outline View
| | |- [Tree] Functions and Classes
| | |- [TreeItem] MyClass
| | | |- [TreeItem] MyMethod()
| | |- [TreeItem] GlobalFunction()
| |- [Grouping] Find and Replace
| |- [TextBox] Find what:
| |- [TextBox] Replace with:
| |- [Button] Find Next
| |- [Button] Replace All
|- [MenuBar] Main Menu
| |- [MenuItem] File
| | |- [MenuItem] New
| | |- [MenuItem] Open...
| | |- [MenuItem] Save As...
| | |- [MenuItem] Recent Files
| | | |- [MenuItem] document1.txt
| | | |- [MenuItem] project_report.md
| | |- [MenuItem] Exit
| |- [MenuItem] Edit
| | |- [MenuItem] Undo
| | |- [MenuItem] Redo
| | |- [MenuItem] Select All
| | |- [MenuItem] Advanced
| | |- [MenuItem] Go to Line...
| | |- [MenuItem] Toggle Comment
| |- [MenuItem] View
| | |- [MenuItem] Toolbars
| | | |- [MenuItem] Standard Toolbar
| | | |- [MenuItem] Formatting Toolbar
| | |- [MenuItem] Status Bar
| | |- [MenuItem] Zoom
| | |- [MenuItem] Zoom In
| | |- [MenuItem] Zoom Out
| | |- [MenuItem] Reset Zoom
| |- [MenuItem] Help
| |- [MenuItem] About Advanced Text Editor
|- [StatusBar] Application Status
|- [Text] Ln 10, Col 5 | Modified | UTF-8
|- [ProgressBar] Saving... (if applicable)
Say for instance you need access to all of
[Tree] Files
[TextBox] Find what:
[TextBox] Replace with:
[MenuItem] Reset Zoom
[MenuItem] Go to Line...
It is sometimes difficult top understand what are the key common ancestors, especially for useful for performance.
For instance it would be useful to do:
let panel = Window.findFirst((el)=>el.role == "Pane" && el.name == "Side Panel")
let tree = panel.findFirst((el)=>el.role == "Tree")
let FAndR = panel.findFirst((el)=>el.role == "Grouping" && el.name == ...)
...Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels