diff options
author | Emmanuele Bassi <ebassi@gnome.org> | 2020-06-16 16:41:59 +0100 |
---|---|---|
committer | Emmanuele Bassi <ebassi@gnome.org> | 2020-07-26 20:31:14 +0100 |
commit | c63087a5631e72cd1c45bdc5a41bf605195be64c (patch) | |
tree | 5336167dacb3d88a5d23220d0846f7847605590c /gtk/gtkswitch.c | |
parent | ea0fc7619ddd0ad20cd7c83e3e8c8672004c20c9 (diff) | |
download | gtk+-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.c | 9 |
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)); } } |