The characteristics of user interface components should be described by the role attribute. Interactive elements cannot contain elements with another role.
The engine looks for elements which have a role attribute different from “presentation“ and “none“ and checks if they are a child of either of these:
<a href>, <button>,<role=link>,<role=button>,<role=checkbox>,<role=menuitem>,<role=menuitemcheckbox>,<role=menuitemradio>,<role=option>,<role=radio>,<role=searchbox>,<role=slider>,<role=spinbutton>,<role=switch>,<role=tab>,<role=textbox>,<role=treeitem>
Exposing the roles correctly enables users to understand widgets and how to interact with it.