AtkSharp
| AtkSharp | |
|---|---|
| Developer(s) | GNOME Project, Xamarin, and community contributors |
| Initial release |
2002 |
| Latest version | — |
| Programming language | C# |
| Operating system | Cross-platform |
| Platform | .NET, Mono |
| Type | Accessibility library bindings |
| License | GNU Lesser General Public License |
| Website | GitHub repository |
AtkSharp is a set of C# bindings for the ATK (Accessibility Toolkit) library.
It is part of the GtkSharp project and provides managed access to the GNOME accessibility infrastructure for use in .NET and Mono applications.
Overview of ATK
ATK is the Accessibility Toolkit developed as part of the GNOME project. It defines a set of interfaces that enable assistive technologies—such as screen readers, magnifiers, and on-screen keyboards—to interact with user interface components in a consistent and device-independent way.
The ATK framework works in conjunction with the Assistive Technology Service Provider Interface (AT-SPI), forming the foundation of accessibility on Linux and other Unix-like systems. Through ATK, applications expose semantic information about their widgets, including role, name, state, and relationships, allowing assistive technologies to provide meaningful interaction for users with disabilities.
AtkSharp
AtkSharp provides a managed C# interface to the native ATK library, enabling .NET and Mono applications that use GtkSharp to integrate accessibility features directly.
Using AtkSharp, developers can:
- Implement accessible objects and expose them to assistive technologies
- Set and retrieve roles, names, descriptions, and states of UI elements
- Support navigation and interaction via accessibility APIs
- Ensure compliance with accessibility standards such as WCAG and Section 508
AtkSharp maps the ATK object model to .NET classes, offering an idiomatic and object-oriented API for defining accessible widgets and interfaces.
Relationship to other GtkSharp components
AtkSharp operates in close coordination with other GtkSharp bindings:
- GtkSharp – Provides the main widget toolkit; GTK widgets automatically expose ATK interfaces via AtkSharp.
- GLibSharp – Supplies the base type system, signals, and object model used by AtkSharp.
- GdkSharp – Provides low-level input and display handling that may be relevant to accessibility events.
Version compatibility
AtkSharp versions correspond to the GTK versions they accompany:
- **AtkSharp 2.x** – For GTK 2
- **AtkSharp 3.x** – For GTK 3 (current stable bindings)
- **AtkSharp 4.x** – Planned for GTK 4 with introspection-based generation
Importance
Accessibility support is a core design principle of modern desktop environments. AtkSharp ensures that GTK-based .NET applications can be used by people with disabilities, contributing to inclusive software design across platforms.
See also
- ATK (Accessibility Toolkit)
- GtkSharp
- GLibSharp
- Mono (software)
- .NET (software framework)
- Assistive Technology Service Provider Interface
