Use Accessibility Tree in the DAST Crawler
The Accessibility Tree is a browser feature that is used by assistive technology to interact with websites. From Chrome's Blog:
The accessibility tree is a derivative of the DOM tree. Its structure is roughly the same, but simplified to remove nodes with no semantic content such as a
element purely used for styling. Each node in the tree has a role such as Button or Heading, and often a name that can be either from ARIA attributes or derived from the node’s contents.
An example of the DOM tree vs accessibility tree is shown in https://developer.chrome.com/blog/full-accessibility-tree#how_is_the_tree_created
The Accessibility Tree provides a powerful abstraction over the DOM to classify elements by their computed accessible "role" rather than the tag and attributes.
Use-case for DAST
When looking for interact-ables, DAST makes multiple queries to the DOM. Consider the case of looking for hyperlinks: DAST makes two DOM queries, a precise query for a tags and another broad query for "interactable" elements i.e. those that have event listeners or other interactable qualities.
Using the accessibility tree, DAST will only have to query once with the computed role of "link" using the appropriate DevTools method
Hence, for DAST one of the use-cases for the accessibility tree is to improve the accuracy of broad queries that the crawler makes to discover new elements.