Together with Plug, Socket provides the ability to embed accessibles from one process into another in a fashion that is transparent to assistive technologies.
Socket works as the container of Plug, embedding it using the method embed. Any accessible contained in the Plug will appear to the assistive technologies as being inside the application that created the Socket.
The communication between a Socket and a Plug is done by the IPC
layer of the accessibility framework, normally implemented by the D-Bus based implementation of AT-SPI (at-spi2). If that is the case,
at-spi-atk2 is the responsible to implement the abstract methods get_id and
embed, so an ATK implementor shouldn't reimplement them. The process that
contains the Plug is responsible to send the ID returned by
atk_plug_id to the
process that contains the Socket, so it could call the method
embed in order to embed it.