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/a11y/gtktoplevelaccessible.h | |
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/a11y/gtktoplevelaccessible.h')
-rw-r--r-- | gtk/a11y/gtktoplevelaccessible.h | 59 |
1 files changed, 0 insertions, 59 deletions
diff --git a/gtk/a11y/gtktoplevelaccessible.h b/gtk/a11y/gtktoplevelaccessible.h deleted file mode 100644 index 9c782b8a75..0000000000 --- a/gtk/a11y/gtktoplevelaccessible.h +++ /dev/null @@ -1,59 +0,0 @@ -/* GTK+ - accessibility implementations - * Copyright 2001 Sun Microsystems Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library. If not, see <http://www.gnu.org/licenses/>. - */ - -#ifndef __GTK_TOPLEVEL_ACCESSIBLE_H__ -#define __GTK_TOPLEVEL_ACCESSIBLE_H__ - -#if !defined (__GTK_A11Y_H_INSIDE__) && !defined (GTK_COMPILATION) -#error "Only <gtk/gtk-a11y.h> can be included directly." -#endif - -#include <atk/atk.h> - -G_BEGIN_DECLS - -#define GTK_TYPE_TOPLEVEL_ACCESSIBLE (gtk_toplevel_accessible_get_type ()) -#define GTK_TOPLEVEL_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_TOPLEVEL_ACCESSIBLE, GtkToplevelAccessible)) -#define GTK_TOPLEVEL_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_TOPLEVEL_ACCESSIBLE, GtkToplevelAccessibleClass)) -#define GTK_IS_TOPLEVEL_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_TOPLEVEL_ACCESSIBLE)) -#define GTK_IS_TOPLEVEL_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_TOPLEVEL_ACCESSIBLE)) -#define GTK_TOPLEVEL_ACCESSIBLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_TOPLEVEL_ACCESSIBLE, GtkToplevelAccessibleClass)) - -typedef struct _GtkToplevelAccessible GtkToplevelAccessible; -typedef struct _GtkToplevelAccessibleClass GtkToplevelAccessibleClass; -typedef struct _GtkToplevelAccessiblePrivate GtkToplevelAccessiblePrivate; - -struct _GtkToplevelAccessible -{ - AtkObject parent; - - GtkToplevelAccessiblePrivate *priv; -}; - -struct _GtkToplevelAccessibleClass -{ - AtkObjectClass parent_class; -}; - -GDK_AVAILABLE_IN_ALL -GType gtk_toplevel_accessible_get_type (void); -GDK_AVAILABLE_IN_ALL -GList *gtk_toplevel_accessible_get_children (GtkToplevelAccessible *accessible); - -G_END_DECLS - -#endif /* __GTK_TOPLEVEL_ACCESSIBLE_H__ */ |