summaryrefslogtreecommitdiff
path: root/gtk/gtkswitch.c
diff options
context:
space:
mode:
authorEmmanuele Bassi <ebassi@gnome.org>2020-06-16 16:41:59 +0100
committerEmmanuele Bassi <ebassi@gnome.org>2020-07-26 20:31:14 +0100
commitc63087a5631e72cd1c45bdc5a41bf605195be64c (patch)
tree5336167dacb3d88a5d23220d0846f7847605590c /gtk/gtkswitch.c
parentea0fc7619ddd0ad20cd7c83e3e8c8672004c20c9 (diff)
downloadgtk+-c63087a5631e72cd1c45bdc5a41bf605195be64c.tar.gz
Remove ATK
To build a better world sometimes means having to tear the old one down. -- Alexander Pierce, "Captain America: The Winter Soldier" ATK served us well for nearly 20 years, but the world has changed, and GTK has changed with it. Now ATK is mostly a hindrance towards improving the accessibility stack: - it maps to a very specific implementation, AT-SPI, which is Linux and Unix specific - it requires implementing the same functionality in three different layers of the stack: AT-SPI, ATK, and GTK - only GTK uses it; every other Linux and Unix toolkit and application talks to AT-SPI directly, including assistive technologies Sadly, we cannot incrementally port GTK to a new accessibility stack; since ATK insulates us entirely from the underlying implementation, we cannot replace it piecemeal. Instead, we're going to remove everything and then incrementally build on a clean slate: - add an "accessible" interface, implemented by GTK objects directly, which describe the accessible role and state changes for every UI element - add an "assistive technology context" to proxy a native accessibility API, and assign it to every widget - implement the AT context depending on the platform For more information, see: https://gitlab.gnome.org/GNOME/gtk/-/issues/2833
Diffstat (limited to 'gtk/gtkswitch.c')
-rw-r--r--gtk/gtkswitch.c9
1 files changed, 0 insertions, 9 deletions
diff --git a/gtk/gtkswitch.c b/gtk/gtkswitch.c
index 040519506e..64e9cc379b 100644
--- a/gtk/gtkswitch.c
+++ b/gtk/gtkswitch.c
@@ -69,8 +69,6 @@
#include "gtkstylecontextprivate.h"
#include "gtkwidgetprivate.h"
-#include "a11y/gtkswitchaccessible.h"
-
typedef struct _GtkSwitchClass GtkSwitchClass;
/**
@@ -607,9 +605,6 @@ gtk_switch_class_init (GtkSwitchClass *klass)
g_object_class_override_property (gobject_class, PROP_ACTION_NAME, "action-name");
g_object_class_override_property (gobject_class, PROP_ACTION_TARGET, "action-target");
- gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_SWITCH_ACCESSIBLE);
- gtk_widget_class_set_accessible_role (widget_class, ATK_ROLE_TOGGLE_BUTTON);
-
gtk_widget_class_set_css_name (widget_class, I_("switch"));
}
@@ -692,7 +687,6 @@ gtk_switch_set_active (GtkSwitch *self,
if (self->is_active != is_active)
{
- AtkObject *accessible;
gboolean handled;
self->is_active = is_active;
@@ -706,9 +700,6 @@ gtk_switch_set_active (GtkSwitch *self,
g_object_notify_by_pspec (G_OBJECT (self), switch_props[PROP_ACTIVE]);
- accessible = gtk_widget_get_accessible (GTK_WIDGET (self));
- atk_object_notify_state_change (accessible, ATK_STATE_CHECKED, self->is_active);
-
gtk_widget_queue_allocate (GTK_WIDGET (self));
}
}