otherwise:
- screen readers don't really do this - it can't work anyway becaue they need to communicate potentially invisible state too. They traverse a tree, that doesn't even involve machine learning
you just have nodes matching widgets/html elements/whatever, nodes have a role (button, group, etc), labels/descriptions and states like selected item, labelled-by etc
