forked from AuroraMiddleware/gtk
c63087a563
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
28 lines
987 B
XML
28 lines
987 B
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<interface domain="gtk40">
|
|
<template class="GtkVolumeButton" parent="GtkScaleButton">
|
|
<property name="has-tooltip">1</property>
|
|
<property name="adjustment">
|
|
<object class="GtkAdjustment">
|
|
<property name="upper">1</property>
|
|
<property name="step-increment">0.02</property>
|
|
<property name="page-increment">0.2</property>
|
|
</object>
|
|
</property>
|
|
<property name="icons">audio-volume-muted
|
|
audio-volume-high
|
|
audio-volume-low
|
|
audio-volume-medium</property>
|
|
<signal name="query-tooltip" handler="cb_query_tooltip" swapped="no"/>
|
|
<signal name="value-changed" handler="cb_value_changed" swapped="no"/>
|
|
<child internal-child="plus_button">
|
|
<object class="GtkButton" id="scalebutton-plus_button1">
|
|
</object>
|
|
</child>
|
|
<child internal-child="minus_button">
|
|
<object class="GtkButton" id="scalebutton-minus_button1">
|
|
</object>
|
|
</child>
|
|
</template>
|
|
</interface>
|