Matthias Clasen
abf8cbeaea
a11y: Set an accessible role for GtkLevelBar
...
Use the 'meter' role for GtkLevelBar, and set the
appropriate properties.
Update the docs and add a test.
2020-07-29 22:46:00 -04:00
Matthias Clasen
c0de580d46
a11y: Set an accessible role for GtkExpander
...
Use the button accessible role for GtkExpander
and set attributes as appropriate.
Update the documentation and add a test.
2020-07-29 22:46:00 -04:00
Matthias Clasen
144114bf40
a11y: Set accessible role for GtkLinkButton
...
Set the accessible role for GtkLinkButton to button.
We don't use the 'link' role since ARIA says "if it
behaves like a button, use 'button'".
Update docs and add a test.
This changes should not be neccessary, since
GtkLinkButton derives from GtkButton, see #2965 .
2020-07-29 22:46:00 -04:00
Matthias Clasen
c68fe1053a
a11y: Set an accessible role for GtkTextView
...
Use the text-box accessible role for GtkTextView
and set properties as appropriate.
Update the documentation and add a test.
2020-07-29 22:46:00 -04:00
Matthias Clasen
1755e07af7
a11y: Set an accessible role for GtkPasswordEntry
...
Use the text-box accessible role for GtkPasswordEntry.
And set properties as appropriate.
Update the documentation and add a test.
2020-07-28 18:23:57 -04:00
Matthias Clasen
a610bb89a0
a11y: Set an accessible role for GtkSearchEntry
...
Use the searchbox accessible role for GtkSearchEntry.
And set properties as appropriate.
Update the documentation and add a test.
2020-07-28 18:16:37 -04:00
Matthias Clasen
2040b7ecdf
a11y: Set an accessible role for GtkLabel
...
Use the label accessible role for GtkLabel. ARIA has some
ominous wording about it going way, but while we have it,
GtkLabel is the obvious candidate for carrying it.
Update the documentation and add a test.
2020-07-28 18:16:37 -04:00
Matthias Clasen
cc35cc6c4e
a11y: Add tests for mnemonics
...
We set up labelled-by accessible relations when
a label is set as mnemonic widget. Verify that that
happens as expected.
2020-07-28 18:16:37 -04:00
Matthias Clasen
9a82aadca7
a11y: Set an accessible role for GtkEntry
...
Use the text-box accessible role for GtkEntry and
set the placeholder and read-only accessible properties.
Update the documentation and add tests.
2020-07-28 18:16:37 -04:00
Matthias Clasen
23e185e674
a11y: Add a scrollbar relation test
...
Check that GtkScrolledWindow sets up the expected
relations between its scrollbars and child.
2020-07-28 18:16:37 -04:00
Matthias Clasen
efd4169fa2
a11y: Set accessible roles for GtkImage and GtkPicture
...
Use the img accessible role for these.
Also update the documentation and add tests.
2020-07-28 18:16:37 -04:00
Emmanuele Bassi
3294557717
a11y: Update the valuetext attribute of GtkProgressBar
...
Since progress bars can have a label, we should propagate that information
to ATs whenever it's set.
2020-07-28 16:59:08 +01:00
Emmanuele Bassi
7f04faf30d
a11y: Use undefined as default for string attributes
...
Instead of an empty string.
2020-07-28 16:49:13 +01:00
Matthias Clasen
6e494b93ce
a11y: Add spinbutton tests
...
Tests the fix in the previous commit.
2020-07-27 21:18:10 -04:00
Matthias Clasen
9190e95df9
a11y: Add scrollbar tests
...
Tests the fix in the previous commit.
2020-07-27 21:18:10 -04:00
Matthias Clasen
d2c5e3f2b3
a11y: Add switch tests
...
Tests the fix in the previous commit.
2020-07-27 21:18:10 -04:00
Matthias Clasen
2cbaa568b5
a11y: Add separator tests
...
Tests the fix in the previous commit.
2020-07-27 21:18:10 -04:00
Matthias Clasen
606daab475
a11y: Add progressbar tests
...
Test the changes in the previous commit.
2020-07-27 21:18:10 -04:00
Matthias Clasen
d3a8597a93
a11y: Add dialog and window tests
...
Tests the modal property changes in the previous commit.
2020-07-27 21:18:10 -04:00
Matthias Clasen
6ca245306b
a11y: Add checkbutton tests
...
Tests the fix in the previous commit.
2020-07-27 21:18:09 -04:00
Emmanuele Bassi
cd7bb0200a
a11y: Test unset relations
...
We use "NULL" in C to mean "undefined", when it comes to relations that
deal with references or reference lists.
2020-07-27 14:26:19 +01:00
Emmanuele Bassi
4060febd7f
a11y: Make GtkATContext.create() public
...
Implementations of the GtkAccessible interface should have a way to
instantiate the appropriate GtkATContext.
2020-07-27 11:48:11 +01:00
Matthias Clasen
40b65b2608
a11y: Add some more tests
...
Test that setting multiple states or properties
at the same time works as expected.
2020-07-27 01:21:05 -04:00
Matthias Clasen
6c4c93b8d0
Add some more a11y tests
...
Add some tests that exercise the accessible machinery
without any connection to widgets.
2020-07-27 01:13:16 -04:00
Emmanuele Bassi
ac0fcc55a6
a11y: Add a simple test case for GtkButton's accessible state
2020-07-26 21:27:03 +01:00
Emmanuele Bassi
83eac3f33a
a11y: Restart the accessibility test suite
2020-07-26 20:49:08 +01:00
Emmanuele Bassi
c63087a563
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
2020-07-26 20:31:14 +01:00
Benjamin Otte
3078b180fe
Replace "gdouble" with "double"
2020-07-25 00:47:36 +02:00
Benjamin Otte
d375dce9f5
Replace "gchar" with "char"
2020-07-25 00:47:36 +02:00
Benjamin Otte
d7266b25ba
Replace "gint" with "int"
2020-07-25 00:47:36 +02:00
Alexander Mikhaylenko
7c3b30036e
headerbar: Show title buttons by default
...
Most of the time show-title-buttons is set to TRUE. Go ahead and make that
the default.
2020-07-02 23:51:16 +05:00
Matthias Clasen
386b63b85d
scrolledwindow: Don't take adjustments in new()
...
In 99.9% of all cases, these are just NULL, NULL.
So just do away with these arguments, people can
use the setters for the rare cases where they want
the scrolled window to use a different adjustment.
2020-06-24 11:25:09 -04:00
Timm Bäder
14c3bc542d
tetsuite/a11y: Pass common_cflags to build
2020-05-19 08:32:33 +02:00
Matthias Clasen
509db01319
tests: Centralize our test setup a bit
...
Put all of the constant environment into the
toplevel meson.build file, to reduce repetition
and copy-paste errors.
2020-05-15 14:11:53 -04:00
Matthias Clasen
e706d4860e
testsuite: Drop a container api use
2020-05-11 22:38:21 -04:00
Matthias Clasen
2a24b8c653
Replace most remaining uses of container api
...
These are all on GtkBox or enumerating children.
2020-05-11 22:38:21 -04:00
Matthias Clasen
025375ff5f
Replace gtk_widget_destroy everywhere
...
Replace all remaining uses of gtk_widget_destroy
by gtk_container_remove or g_object_unref.
2020-05-11 12:20:59 -04:00
Matthias Clasen
cd0081d08a
Use gtk_window_destroy
...
Replace calls to gtk_widget_destroy on windows
with gtk_window_destroy.
2020-05-11 12:20:57 -04:00
Matthias Clasen
67759d4c3e
Use gtk_scrolled_window_set_child throughout
...
Replace all uses of gtk_container_add on popovers
by gtk_scrolled_window_set_child.
2020-05-04 22:53:07 -04:00
Alexander Mikhaylenko
c2e4e1af73
headerbar: Remove user-settable title
...
Use window title, or custom title widget if it's set. Remove 'title'
property.
Update demos and tests to set the title on the window instead of
headerbar.
2020-05-01 19:48:05 +05:00
Alexander Mikhaylenko
35d50f88c8
headerbar: Remove subtitle
...
Also remove the box containing title and subtitle, as there's only one
label now.
2020-05-01 19:48:05 +05:00
Matthias Clasen
35ba24d2e8
Update a11y test results
2020-04-09 18:26:10 -04:00
Matthias Clasen
b1afe5ff23
a11y tests: Stop using can-focus
2020-04-09 17:50:29 -04:00
Matthias Clasen
339d3e41b0
Add GtkScrollbarAccessible
...
When GtkScrollbar stopped being a GtkRange,
GtkRangeAccessible stopped working for scrollbars.
Update a11y tests to match.
2020-04-03 15:20:27 -04:00
Matthias Clasen
14166b09b5
a11y tests: Update for focus state changes
2020-04-02 17:35:15 -04:00
Matthias Clasen
9eda683060
testsuite: Fix an a11y test
...
The derive test wasn't producing TAP, so
running it as part of a tap testsuite wasn't
going well. Fix that.
2020-03-20 12:09:21 -04:00
Matthias Clasen
cbb0ca4902
testsuite: Tell meson we use TAP
...
This makes meson actually parse the individual test
results. Most of the time, it does not make a difference,
but one case where it does is when all the individual
tests of a binary are skipped, meson will mark the
test as skipped.
2020-03-20 11:55:26 -04:00
Matthias Clasen
66a0a8d53e
Merge branch 'wip/baedert/test-cflags' into 'master'
...
Pass (almost) all our cflags to tests, testsuite, examples, demos, ...
See merge request GNOME/gtk!1516
2020-03-13 18:40:46 +00:00
Matthias Clasen
aec3705717
testsuite: Stop using type-hint
2020-03-11 19:35:56 -04:00
Matthias Clasen
c488e86caa
testsuite: Update a11y test output
2020-03-11 19:35:55 -04:00