In IE and early versions of MS Edge, the A11y tree was a subset of the DOM tree. Well it was closer to a shrubbery than a tree really. The DOM was the oldest sub-system left in Trident and EdgeHTML, built for a world where web apps didn't exist and most pages were static. The a11y tree required a lot of custom work to support new features, etc. The new model is closely aligned with the display tree, which makes way more sense. For example if something is [hidden] or display: none, it is still in the DOM, just not displayed. Generated Content, and list items etc. are also in the display tree, but not the DOM. Really what you want is for the accessibility tree to be in sync with the display tree so if something is hidden it is also automatically hidden in the a11y tree too. It means it is more in sync, better performance, less custom work to add new features, and it should get new capabilities like generated content. With that underlying work we've started to update all the mapping of elements (and ARIA) to the equivalent UIA constructs from the HTML AAM and Core AAM specs, and the accessible name/description spec too.