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 /docs | |
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 'docs')
-rw-r--r-- | docs/reference/gtk/building.md | 8 | ||||
-rw-r--r-- | docs/reference/gtk/compiling.md | 4 | ||||
-rw-r--r-- | docs/reference/gtk/overview.xml | 12 |
3 files changed, 4 insertions, 20 deletions
diff --git a/docs/reference/gtk/building.md b/docs/reference/gtk/building.md index 1f676faae8..7412e25473 100644 --- a/docs/reference/gtk/building.md +++ b/docs/reference/gtk/building.md @@ -127,7 +127,7 @@ compilation flags needed for that library along with version number information.) Some of the libraries that GTK depends on are maintained by the -GTK team: GLib, GdkPixbuf, Pango, ATK and GObject Introspection. +GTK team: GLib, GdkPixbuf, Pango, and GObject Introspection. Other libraries are maintained separately. - The GLib library provides core non-graphical functionality @@ -139,10 +139,6 @@ Other libraries are maintained separately. file formats. It is available [here](ttps://download.gnome.org/sources/gdk-pixbuf/). - [Pango](http://www.pango.org) is a library for internationalized text handling. It is available [here](https://download.gnome.org/sources/pango/). -- ATK is the Accessibility Toolkit. It provides a set of generic - interfaces allowing accessibility technologies such as - screen readers to interact with a graphical user interface. - It is available [here](https://download.gnome.org/sources/atk/). - [GObject Introspection](https://wiki.gnome.org/Projects/GObjectIntrospection) is a framework for making introspection data available to language bindings. It is available [here](https://download.gnome.org/sources/gobject-introspection/). @@ -192,7 +188,7 @@ you'll have all of these installed already, or they will be easily accessible through your operating system package repositories. Then build and install the GTK libraries in the order: -GLib, Cairo, Pango, ATK, then GTK. For each library, follow the +GLib, Cairo, Pango, then GTK. For each library, follow the instructions they provide, and make sure to share common settings between them and the GTK build; if you are using a separate prefix for GTK, for instance, you will need to use the same prefix for diff --git a/docs/reference/gtk/compiling.md b/docs/reference/gtk/compiling.md index 55e154bd17..1cceedded1 100644 --- a/docs/reference/gtk/compiling.md +++ b/docs/reference/gtk/compiling.md @@ -9,9 +9,9 @@ is used (the actual output on your system may be different): ``` $ pkg-config --cflags gtk4 - -pthread -I/usr/include/gtk-4.0 -I/usr/lib64/gtk-4.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 + -pthread -I/usr/include/gtk-4.0 -I/usr/lib64/gtk-4.0/include -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 $ pkg-config --libs gtk4 - -pthread -lgtk-4 -lgdk-4 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0 + -pthread -lgtk-4 -lgdk-4 -lgio-2.0 -lpangoft2-1.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0 ``` The simplest way to compile a program is to use the "backticks" feature of the shell. If you enclose a command in backticks diff --git a/docs/reference/gtk/overview.xml b/docs/reference/gtk/overview.xml index f49ce93eb8..0435836586 100644 --- a/docs/reference/gtk/overview.xml +++ b/docs/reference/gtk/overview.xml @@ -62,18 +62,6 @@ other widgets that display text. </varlistentry> <varlistentry> -<term>ATK</term> -<listitem><para> -ATK is the Accessibility Toolkit. It provides a set of generic -interfaces allowing accessibility technologies to interact with a -graphical user interface. For example, a screen reader uses ATK to -discover the text in an interface and read it to blind users. GTK -widgets have built-in support for accessibility using the ATK -framework. -</para></listitem> -</varlistentry> - -<varlistentry> <term>GdkPixbuf</term> <listitem><para> This is a small library which allows you to create GdkPixbuf |