The ATK library provides a set of interfaces for accessibility. By supporting the ATK interfaces, an application or toolkit can be used with such tools as screen readers, magnifiers, and alternative input devices. Atk provides a core set of interfaces which are common to all widgets and "additional" interfaces that are appropriate to certain classes of widgets and whose existence can be queried at run time. It also provides interfaces which an application can use to provide additional accessibility information to assistive technology tools.