the basic concept is an application implements a “server” that emits events when parts of the UI change, and recieves events that are requests for information about the UI, or requests to activate things on the screen. The UI itself is expected to have detailed descriptions for each UI element and its location within a heirarchy so screen readers can sufficiently describe “where you are”