AtkSharp: Difference between revisions

From Wiki Maui Linux NET
Jump to navigation Jump to search
Created page with "{{Infobox software | name = AtkSharp | logo = GTK_logo.svg | developer = GNOME Project, Xamarin, and community contributors | released = {{Start date|2002}} | programming_language = C# | operating_system = Cross-platform | platform = .NET, Mono | genre = Accessibility library bindings | license = GNU Lesser General Public License | website = [https://github.com/GtkSharp/GtkSharp GitHub repository] }} '''AtkShar..."
 
 
Line 54: Line 54:
* [[GLibSharp]]
* [[GLibSharp]]
* [[Mono (software)]]
* [[Mono (software)]]
* [[.NET (software framework)]]
* [[Assistive Technology Service Provider Interface]]
* [[Assistive Technology Service Provider Interface]]



Latest revision as of 13:20, 20 October 2025

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