# AT-SPI Interfaces and Subinterfaces

### 1.0

This is the main documentation page for the Assistive Technology Service Provider Interface (AT-SPI).

## Applications and Interface Components

Namespace Accessibility includes service APIs implemented by participating applications and their user interface components:
Accessibility::Accessible
Accessibility::Action
Accessibility::Application
Accessibility::Collection
Accessibility::Component
Accessibility::Desktop
Accessibility::Document
Accessibility::EditableText
Accessibility::Hypertext
Accessibility::Image
Accessibility::Selection
Accessibility::StreamableContent
Accessibility::Table
Accessibility::Text
Accessibility::Value

## Enumerated Types

Accessibility defines a number of key enumerated types, including:
Accessibility::RelationType
Accessibility::Role
Accessibility::StateType
Accessibility::Event
Accessibility::EventDetails

## Registry

Accessibility also includes Accessibility::Registry, which is the service used by assistive technologies and related AT-SPI clients to register interest in certain classes of events, enumerate the currently available desktop and application list, and to synthesize certain kinds of device events.

## Event Listener Interfaces

Accessibility::EventListener
Accessibility::DeviceEventListener

## Helper Interfaces

The following interfaces may be implemented by assistive technologies themselves, in order to export their services in a consistent manner or in order to interoperate with other applications or desktop services.

Accessibility::LoginHelper : Implemented by adaptive technologies which need to participate in user-authentication or login activities, and which therefore may need negotiation with authentication agents or processes.

Accessibility::Selector [NEW]: Implemented by user agents or assistive technologies which export lists of choices from which the end-user is expected to make selections. Useful for various types of remote activation or intercommunication between multiple ATs.