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/gtknotebook.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/gtknotebook.c')
-rw-r--r-- | gtk/gtknotebook.c | 9 |
1 files changed, 0 insertions, 9 deletions
diff --git a/gtk/gtknotebook.c b/gtk/gtknotebook.c index fea2d3064d..ddcb9d64b9 100644 --- a/gtk/gtknotebook.c +++ b/gtk/gtknotebook.c @@ -55,8 +55,6 @@ #include "gtkwidgetpaintable.h" #include "gtknative.h" -#include "a11y/gtknotebookaccessibleprivate.h" - #include <stdio.h> #include <string.h> #include <math.h> @@ -1364,7 +1362,6 @@ gtk_notebook_class_init (GtkNotebookClass *class) add_tab_bindings (widget_class, GDK_CONTROL_MASK, GTK_DIR_TAB_FORWARD); add_tab_bindings (widget_class, GDK_CONTROL_MASK | GDK_SHIFT_MASK, GTK_DIR_TAB_BACKWARD); - gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_NOTEBOOK_ACCESSIBLE); gtk_widget_class_set_layout_manager_type (widget_class, GTK_TYPE_BOX_LAYOUT); gtk_widget_class_set_css_name (widget_class, I_("notebook")); } @@ -5292,7 +5289,6 @@ gtk_notebook_real_switch_page (GtkNotebook *notebook, { GList *list = gtk_notebook_find_child (notebook, GTK_WIDGET (child)); GtkNotebookPage *page = GTK_NOTEBOOK_PAGE_FROM_LIST (list); - AtkObject *accessible; gboolean child_has_focus; if (notebook->cur_page == page || !gtk_widget_get_visible (GTK_WIDGET (child))) @@ -5338,11 +5334,6 @@ gtk_notebook_real_switch_page (GtkNotebook *notebook, update_arrow_state (notebook); - accessible = _gtk_widget_peek_accessible (GTK_WIDGET (notebook)); - if (accessible != NULL) - gtk_notebook_accessible_update_page (GTK_NOTEBOOK_ACCESSIBLE (accessible), - gtk_notebook_get_current_page (notebook)); - gtk_widget_queue_resize (GTK_WIDGET (notebook)); gtk_widget_queue_resize (notebook->tabs_widget); g_object_notify_by_pspec (G_OBJECT (notebook), properties[PROP_PAGE]); |