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/gtkexpander.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/gtkexpander.c')
-rw-r--r-- | gtk/gtkexpander.c | 18 |
1 files changed, 0 insertions, 18 deletions
diff --git a/gtk/gtkexpander.c b/gtk/gtkexpander.c index a5864d5f47..7993e506d4 100644 --- a/gtk/gtkexpander.c +++ b/gtk/gtkexpander.c @@ -126,8 +126,6 @@ #include "gtkstylecontextprivate.h" #include "gtkwidgetprivate.h" -#include "a11y/gtkexpanderaccessibleprivate.h" - #include <string.h> #define TIMEOUT_EXPAND 500 @@ -375,7 +373,6 @@ gtk_expander_class_init (GtkExpanderClass *klass) NULL, G_TYPE_NONE, 0); - gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_EXPANDER_ACCESSIBLE); gtk_widget_class_set_css_name (widget_class, I_("expander-widget")); } @@ -880,14 +877,6 @@ gtk_expander_set_expanded (GtkExpander *expander, gtk_expander_resize_toplevel (expander); } - { - AtkObject *accessible = _gtk_widget_peek_accessible (GTK_WIDGET (expander)); - - if (accessible != NULL) - gtk_expander_accessible_update_state (GTK_EXPANDER_ACCESSIBLE (accessible), - expander->expanded); - } - g_object_notify (G_OBJECT (expander), "expanded"); } @@ -941,13 +930,6 @@ gtk_expander_set_label (GtkExpander *expander, gtk_expander_set_label_widget (expander, child); } - { - AtkObject *accessible = _gtk_widget_peek_accessible (GTK_WIDGET (expander)); - - if (accessible != NULL) - gtk_expander_accessible_update_label (GTK_EXPANDER_ACCESSIBLE (accessible)); - } - g_object_notify (G_OBJECT (expander), "label"); } |