diff options
author | Michael Weghorn <m.weghorn@posteo.de> | 2023-11-13 17:45:21 +0100 |
---|---|---|
committer | Michael Weghorn <m.weghorn@posteo.de> | 2023-11-14 08:09:52 +0100 |
commit | d5a21cca3851488d904ef7d4d86ae8fa8cd3ec12 (patch) | |
tree | d787a9d362709932bcd4e5b2469906ab66f126f2 /sw | |
parent | 42f839a5371ffc25e7181606b53d339ba0c8c9ee (diff) |
tdf#123864 gtk4 a11y: Handle CHECKABLE/CHECKED state independent of role
The GtkAccessibleState doc [1] says for `GTK_ACCESSIBLE_STATE_CHECKED`:
> A “checked” state; indicates the current state of a GtkCheckButton.
> Value type: GtkAccessibleTristate
The CHECKED state is actually used for more than just for checkboxes,
(e.g. for toggle buttons in the toolbar), so don't restrict its
use to the CHECK_BOX role in LibreOffice.
Explicitly setting `GTK_ACCESSIBLE_STATE_CHECKED` makes
Gtk report `ATSPI_STATE_CHECKABLE` on the AT-SPI layer [2],
so this should only be set for objects that actually
have `AccessibleStateType::CHECKABLE` set on LO side.
This also implies that the gtk4 a11y bridge now depends
on the recently introduced CHECKABLE state being set properly.
(Reporting of that state in the different a11y classes will
be added in follow-up commits.)
For more background, see the commit adding the new role:
Change-Id I6aa7fec3b3bd728a5cfedcdc8d6b66f06337f7ce
Author: Michael Weghorn <m.weghorn@posteo.de>
Date: Mon Nov 13 15:53:44 2023 +0100
tdf#123864 a11y: Add new AccessibleStateType::CHECKABLE
[1] https://docs.gtk.org/gtk4/enum.AccessibleState.html
[2] https://gitlab.gnome.org/GNOME/gtk/-/blob/a9e4993184605bc70e930b5c1e69d8f49c689c76/gtk/a11y/gtkatspicontext.c#L204-220
Change-Id: I898898f6117fb2ff62310c65e4baa140486deb16
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159390
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Diffstat (limited to 'sw')
0 files changed, 0 insertions, 0 deletions