gtk4.git
2 years agogtk-demo: Some a11y improvements
Matthias Clasen [Tue, 20 Jun 2023 02:10:45 +0000 (22:10 -0400)]
gtk-demo: Some a11y improvements

Add missing labels to the applauncher demo
and the clocks demo.

2 years agolistitemwidget: Clean up in teardown
Matthias Clasen [Tue, 20 Jun 2023 01:50:45 +0000 (21:50 -0400)]
listitemwidget: Clean up in teardown

2 years agogtk-demo: Improve a11y for applauncher
Matthias Clasen [Tue, 20 Jun 2023 01:06:50 +0000 (21:06 -0400)]
gtk-demo: Improve a11y for applauncher

Use the new listitem properties to make
orca read the selected item in the applauncher
demo.

2 years agolistitem: Add accessible-label and -description
Matthias Clasen [Tue, 20 Jun 2023 01:05:51 +0000 (21:05 -0400)]
listitem: Add accessible-label and -description

Add properties to GtkListItem to set the accessible
label and description of the listitem widget. This
is important, since orca will read these if the
listitem widget ends up with the focus.

2 years agoMerge branch 'a11y-defeat' into 'main'
Matthias Clasen [Mon, 19 Jun 2023 21:06:13 +0000 (21:06 +0000)]
Merge branch 'a11y-defeat' into 'main'

Give up on warning ATs into submission

See merge request GNOME/gtk!6121

2 years agoMerge branch 'fix-issue-5899' into 'main'
Matthias Clasen [Mon, 19 Jun 2023 20:52:15 +0000 (20:52 +0000)]
Merge branch 'fix-issue-5899' into 'main'

GtkFileChooserWidget: Fix condition on visit action

Closes #5899

See merge request GNOME/gtk!6103

2 years agoa11y: Remove the unrealized warning
Matthias Clasen [Mon, 19 Jun 2023 20:41:39 +0000 (16:41 -0400)]
a11y: Remove the unrealized warning

This warning triggers quite a lot when opening
a window while orca is running, which clearly
shows that what it warns about happens in
practice. But fixing it is reentry hell, and
not a battle I'm up for today.

2 years agoGive up on warning ATs into submission
Matthias Clasen [Mon, 19 Jun 2023 20:41:20 +0000 (16:41 -0400)]
Give up on warning ATs into submission

Its been more than a decade since Wayland
has not supported screen coordinates. Clearly
spamming every apps stderr with warnings is
never going to make ATs stop asking for screen
coordinates.

Just give up. Go home

2 years agoMerge branch 'unaligned-access' into 'main'
Benjamin Otte [Mon, 19 Jun 2023 20:26:18 +0000 (20:26 +0000)]
Merge branch 'unaligned-access' into 'main'

gtk: Align key_size up to key_align

Closes #5907

See merge request GNOME/gtk!6120

2 years agogtk: Align key_size up to key_align
Matt Turner [Mon, 19 Jun 2023 19:50:04 +0000 (15:50 -0400)]
gtk: Align key_size up to key_align

Avoids unaligned accesses when e.g. the key_size is 12 and key_align is
8. We need to round the key size up to 16 to ensure that all keys are
appropriately aligned.

This manifested as a failure in the `gtk:gtk / sorter` unit test on
sparc.

Closes: https://gitlab.gnome.org/GNOME/gtk/-/issues/5907
2 years agogtk: Pass G_ALIGNOF (...) to gtk_sort_keys_new
Matt Turner [Mon, 19 Jun 2023 19:47:17 +0000 (15:47 -0400)]
gtk: Pass G_ALIGNOF (...) to gtk_sort_keys_new

The sizeof and G_ALIGNOF are often, but not always, identical.

2 years agoWidget: Also mention get_height in get_alloc depʼn
Daniel Boles [Mon, 19 Jun 2023 19:28:01 +0000 (20:28 +0100)]
Widget: Also mention get_height in get_alloc depʼn

The deprecation notice seems to have been copied from
get_allocated_width(), but for get_allocation() height is also relevant.

2 years agoMerge branch 'redo-a11y-name-computation' into 'main'
Matthias Clasen [Mon, 19 Jun 2023 17:49:22 +0000 (17:49 +0000)]
Merge branch 'redo-a11y-name-computation' into 'main'

Reimplement a11y name computation

See merge request GNOME/gtk!6119

2 years agoAdd more name computation tests
Matthias Clasen [Mon, 19 Jun 2023 15:25:09 +0000 (11:25 -0400)]
Add more name computation tests

Test the fallback for range values.

This was not working at all before
the previous commit.

2 years agoa11y: Fix name computation for ranges
Matthias Clasen [Mon, 19 Jun 2023 15:42:10 +0000 (11:42 -0400)]
a11y: Fix name computation for ranges

There were two problems here:

First, the code was checking for the abstract
range role, instead of its subclasses.

Second, the code was calling a string value
getter on a number value. Oops.

2 years agoAdd tests for accessible name computation
Matthias Clasen [Mon, 19 Jun 2023 03:05:21 +0000 (23:05 -0400)]
Add tests for accessible name computation

2 years agoa11y: Quietly allow realizing unrooted at context
Matthias Clasen [Mon, 19 Jun 2023 14:45:59 +0000 (10:45 -0400)]
a11y: Quietly allow realizing unrooted at context

We can't set the display if we don't have a root,
but the default display is more than good enough
for the tests which otherwise would need to do
quite a bit more setup work to make their test
widgets rooted.

2 years agoa11y: Only allow get_name/description when realized
Matthias Clasen [Mon, 19 Jun 2023 15:47:59 +0000 (11:47 -0400)]
a11y: Only allow get_name/description when realized

These functions rely on self->accessible_role
being set, and that is only the case for realized
contexts.

In practice, this is not a problem. Contexts are
realized before ATs can get their names or descriptions,
and the inspector realizes contexts too, nowadays.

The only place where this caused a hickup is the
testsuite.

2 years agolabel: Stop overriding accessible label
Matthias Clasen [Sun, 18 Jun 2023 22:57:02 +0000 (18:57 -0400)]
label: Stop overriding accessible label

There's no need to, the accessible name computation
picks the content up where it is allowed (and not
overridden by explicit attributes).

2 years agoa11y: Reimplement name computation
Matthias Clasen [Sun, 18 Jun 2023 22:56:14 +0000 (18:56 -0400)]
a11y: Reimplement name computation

Reimplement the name computation to follow the spec
(https://www.w3.org/TR/accname-1.2) more closely.

Also, unify the functions for name and description,
since their only difference is which property/relation
they use.

2 years agoa11y: Cosmetics
Matthias Clasen [Mon, 19 Jun 2023 14:09:17 +0000 (10:09 -0400)]
a11y: Cosmetics

No need to have two code paths doing the same.

2 years agoMerge branch 'a11y-inspector-tweaks' into 'main'
Matthias Clasen [Mon, 19 Jun 2023 16:21:31 +0000 (16:21 +0000)]
Merge branch 'a11y-inspector-tweaks' into 'main'

Move the a11y naming data into gtk proper

See merge request GNOME/gtk!6118

2 years agoa11y: Move naming data to gtkatcontext.c
Matthias Clasen [Sun, 18 Jun 2023 20:43:58 +0000 (16:43 -0400)]
a11y: Move naming data to gtkatcontext.c

This is in preparation for using this information
in the name computation.

2 years agoinspector: Tweak the a11y overlay
Matthias Clasen [Sun, 18 Jun 2023 19:28:58 +0000 (15:28 -0400)]
inspector: Tweak the a11y overlay

Shorten the warnings, and lower some of the
errors to 'not recommended' (where the authoring
guidelines say 'do not label', but aria doesn't
prohibit labels outright).

2 years agoa11y: Update the name-prohibited list
Matthias Clasen [Sun, 18 Jun 2023 19:28:22 +0000 (15:28 -0400)]
a11y: Update the name-prohibited list

ARIA has the time role in this as well.

It does not matter in practice since we don't
have a widget with this role, but lets match
the specs.

2 years agoa11y: Cover the printer option widget case too
Matthias Clasen [Sun, 18 Jun 2023 19:15:54 +0000 (15:15 -0400)]
a11y: Cover the printer option widget case too

This is another case of nested control, in this
case it goes two levels deep. Since we already
have this hack, lets use it for all the cases.
This avoids some more complicated workaround.

2 years agodocs: Add guidance on container roles
Matthias Clasen [Mon, 19 Jun 2023 15:14:43 +0000 (11:14 -0400)]
docs: Add guidance on container roles

Provide some guidance on whether group or generic
is a more suitable role for containers.

2 years agoa11y: Change the role for many containers
Matthias Clasen [Sat, 17 Jun 2023 21:12:37 +0000 (17:12 -0400)]
a11y: Change the role for many containers

The group role that we've used before has some
implications of semantic grouping, whereas these
containers are mainly about layout, so use the
generic role instead.

This should not affect the translation to AT-SPI
at all.

The affected containers are: box, grid, centerbox,
scrolledwindow, viewport, windowhandle, aspectframe.

The role of GtkTreeExpander has been changed to
button instead, since it acts as a button.

2 years agoa11y: Treat none and presentation the same
Matthias Clasen [Mon, 19 Jun 2023 02:14:19 +0000 (22:14 -0400)]
a11y: Treat none and presentation the same

ARIA says these roles are aliases, so treat them
the same.

2 years agoMerge branch 'wip/otte/for-vulkan' into 'main'
Benjamin Otte [Mon, 19 Jun 2023 14:30:50 +0000 (14:30 +0000)]
Merge branch 'wip/otte/for-vulkan' into 'main'

vulkan: Add support for different image formats

See merge request GNOME/gtk!6117

2 years agovulkan: Check for descriptor indexing extension
Benjamin Otte [Mon, 19 Jun 2023 12:54:00 +0000 (14:54 +0200)]
vulkan: Check for descriptor indexing extension

By checking if the extension is supported and avoiding devices when it
isn't, we avoid critical warnings later.

2 years agovulkan: Refactor function
Benjamin Otte [Mon, 19 Jun 2023 12:48:37 +0000 (14:48 +0200)]
vulkan: Refactor function

Instead of checking for one specific extension, instead pass the
extension to check for by name.

This way we can reuse it for different extensions.

2 years agovulkan: Add support for high bit depth
Benjamin Otte [Sun, 18 Jun 2023 12:00:39 +0000 (14:00 +0200)]
vulkan: Add support for high bit depth

2 years agovulkan: Don't create unnecessary render passes
Benjamin Otte [Sat, 17 Jun 2023 17:15:05 +0000 (19:15 +0200)]
vulkan: Don't create unnecessary render passes

Pass the render pass to the pipeline creation function instead of
creating an extra one just for pipeline creation.

2 years agovulkan: Put the framebuffer in the renderpass
Benjamin Otte [Sat, 17 Jun 2023 16:53:33 +0000 (18:53 +0200)]
vulkan: Put the framebuffer in the renderpass

... instead of having fancy caching.

That caching is complicated and it's not necessary.

2 years agovulkan: Store the VkFormat in GskVulkanImage
Benjamin Otte [Sat, 17 Jun 2023 14:05:09 +0000 (16:05 +0200)]
vulkan: Store the VkFormat in GskVulkanImage

... and use that info when creating renderpasses.

2 years agovulkan: Pick high depth texture for high depth nodes
Benjamin Otte [Thu, 15 Jun 2023 21:17:40 +0000 (23:17 +0200)]
vulkan: Pick high depth texture for high depth nodes

If a node has a higher depth, pick the RGBA format that has that depth
as the texture format we're renderig to with render_texture().

Support for adapting the swapchain is not part of this.

2 years agovulkan: Add format fallback
Benjamin Otte [Thu, 15 Jun 2023 21:13:31 +0000 (23:13 +0200)]
vulkan: Add format fallback

When a GdkMemoryFormat isn't supported, pick close formats that have a
higher chance of being supported.
Make sure this works recursively and the whole loop always ends up at
R8G8B8A8_UNORM because that one is mandatory.

Roughly, follow these rules:
1. Drop the unpremultiplied
2. Expand channels to include all of RGBA
3. pick swizzle that is RGBA
4. pick next largest depth
5. pick R8G8B8A8_UNORM

2 years agovulkan: Allow mapping images as "read" and/or "write"
Benjamin Otte [Thu, 15 Jun 2023 12:29:15 +0000 (14:29 +0200)]
vulkan: Allow mapping images as "read" and/or "write"

This way, we unify the code paths for memory access to textures.

We also technically gain the ability to modify images, though I have no
use case for this.

2 years agovulkan: Pass format to offscreen creation function
Benjamin Otte [Wed, 14 Jun 2023 19:32:26 +0000 (21:32 +0200)]
vulkan: Pass format to offscreen creation function

That way, the offscreen can create images of different types.

Its not used in this commit, but will come in handy when we want to
support high bit depth.

2 years agovulkan: Remove gsk_vulkan_image_new_for_framebuffer()
Benjamin Otte [Wed, 14 Jun 2023 19:20:56 +0000 (21:20 +0200)]
vulkan: Remove gsk_vulkan_image_new_for_framebuffer()

Use gsk_vulkan_image_new_for_offscreen() instead, it does the same thing
pretty much.

2 years agovulkan: Allow uploading in different formats
Benjamin Otte [Wed, 14 Jun 2023 18:37:58 +0000 (20:37 +0200)]
vulkan: Allow uploading in different formats

This requires quite some code because Vulkan may not support all the
formats and then we need to detect that and fallback properly.

2 years agovulkan: Create the view in vulkan_image_new()
Benjamin Otte [Wed, 14 Jun 2023 18:36:14 +0000 (20:36 +0200)]
vulkan: Create the view in vulkan_image_new()

All callers want it created anyway.

Plus, we can consolidate things in future commits.

2 years agotestsuite: Unify skipping memorytexture test
Benjamin Otte [Mon, 19 Jun 2023 13:03:51 +0000 (15:03 +0200)]
testsuite: Unify skipping memorytexture test

... and make it handle more cases of failure, in particular OpenGL and
Vulkan being unsupported by the system.

2 years agoMerge branch 'more-a11y-tweaks' into 'main'
Emmanuele Bassi [Mon, 19 Jun 2023 12:53:10 +0000 (12:53 +0000)]
Merge branch 'more-a11y-tweaks' into 'main'

A11y improvements

See merge request GNOME/gtk!6116

2 years agodocs: Expand role docs
Matthias Clasen [Mon, 19 Jun 2023 12:26:38 +0000 (08:26 -0400)]
docs: Expand role docs

Clarify that presentation and none
can be used interchangeably.

2 years agodropdown: Use presentation instead of none
Matthias Clasen [Mon, 19 Jun 2023 12:23:30 +0000 (08:23 -0400)]
dropdown: Use presentation instead of none

2 years agotestsuite: Add a vulkan method to memorytexure test
Benjamin Otte [Wed, 14 Jun 2023 08:24:39 +0000 (10:24 +0200)]
testsuite: Add a vulkan method to memorytexure test

This uses the newly added NULL-surface renderer.

2 years agovulkan: Make gsk_renderer_realize() work with NULL surface
Benjamin Otte [Wed, 14 Jun 2023 08:18:47 +0000 (10:18 +0200)]
vulkan: Make gsk_renderer_realize() work with NULL surface

Pretty much copy what GL does and just use the default display to create
GPU-related resources without the need for a display.

This also adds gdk_display_create_vulkan_context() but I've
kept it private because the Vulkan API is generally considered in flux,
in particular with our pending attempts to redo how renderers work.

2 years agovulkan: Actually reset the buffer size
Benjamin Otte [Sun, 18 Jun 2023 16:38:48 +0000 (18:38 +0200)]
vulkan: Actually reset the buffer size

Fixes a bug introduced in d1135f9e3c7.

Luckily the buffer was large enough that all my testing didn't catch it
because it took a few minutes to overflow.

2 years agovulkan: Renaming fix
Benjamin Otte [Wed, 14 Jun 2023 06:31:36 +0000 (08:31 +0200)]
vulkan: Renaming fix

This rename was a long time ago...

2 years agomodelbutton: Set a11y shortcuts
Matthias Clasen [Mon, 19 Jun 2023 00:59:33 +0000 (20:59 -0400)]
modelbutton: Set a11y shortcuts

2 years agoprintdialog: Some a11y improvements
Matthias Clasen [Sun, 18 Jun 2023 19:30:05 +0000 (15:30 -0400)]
printdialog: Some a11y improvements

Add proper roles and labels in some places.

2 years agoprintdialog: Give the page range entry a label
Matthias Clasen [Sun, 18 Jun 2023 17:04:52 +0000 (13:04 -0400)]
printdialog: Give the page range entry a label

This is mainly to pacify the a11y checker.

2 years agonotebook: Make sure tabs are labelled
Matthias Clasen [Sun, 18 Jun 2023 19:16:28 +0000 (15:16 -0400)]
notebook: Make sure tabs are labelled

2 years agowindowcontrols: Cosmetics
Matthias Clasen [Sun, 18 Jun 2023 17:04:34 +0000 (13:04 -0400)]
windowcontrols: Cosmetics

2 years agodropdown: Avoid accessibility warnings
Matthias Clasen [Sun, 18 Jun 2023 17:04:02 +0000 (13:04 -0400)]
dropdown: Avoid accessibility warnings

The image here is just presentational.

2 years agoinfobar: Improve a11y labelling
Matthias Clasen [Sun, 18 Jun 2023 17:00:06 +0000 (13:00 -0400)]
infobar: Improve a11y labelling

Treat the close button the same way we treat
the window close button, wrt. to accessibility.

2 years agogtk-demo: Miscellaneous a11y improvements
Matthias Clasen [Sun, 18 Jun 2023 16:59:51 +0000 (12:59 -0400)]
gtk-demo: Miscellaneous a11y improvements

2 years agoMerge branch 'a11y-remove-value-opt' into 'main'
Emmanuele Bassi [Mon, 19 Jun 2023 11:46:19 +0000 (11:46 +0000)]
Merge branch 'a11y-remove-value-opt' into 'main'

a11y: Remove an overzealous optimisation

Closes #5886

See merge request GNOME/gtk!6115

2 years agoa11y: Remove an overzealous optimisation
Matthias Clasen [Mon, 19 Jun 2023 10:45:28 +0000 (06:45 -0400)]
a11y: Remove an overzealous optimisation

The result of calling update_property needs
to be that the property is marked as set
afterward, even if the value we pass happens
to match the default value.

After this change, scrollbars have value-now
show up as zero in the accessiblity page of
the inspector, even when that matches the lower
bound.

Test included.

Fixes: #5886
2 years agoMerge branch 'a11y-nest-button-redux' into 'main'
Matthias Clasen [Sun, 18 Jun 2023 15:42:06 +0000 (15:42 +0000)]
Merge branch 'a11y-nest-button-redux' into 'main'

Revert "dropdown: Shuffle accessible roles around"

See merge request GNOME/gtk!6111

2 years agoMerge branch 'main' into 'main'
Matthias Clasen [Sun, 18 Jun 2023 13:19:07 +0000 (13:19 +0000)]
Merge branch 'main' into 'main'

Revert "Use gsk_matrix_transform_point3d consistently"

Closes #5902

See merge request GNOME/gtk!6112

2 years agoMerge branch 'wip/otte/for-main' into 'main'
Benjamin Otte [Sun, 18 Jun 2023 13:14:57 +0000 (13:14 +0000)]
Merge branch 'wip/otte/for-main' into 'main'

memoryformat: Add gdk_memory_format_get_depth()

See merge request GNOME/gtk!6110

2 years agogdk: Replace prefers_high_depth with depth
Benjamin Otte [Fri, 16 Jun 2023 06:00:19 +0000 (08:00 +0200)]
gdk: Replace prefers_high_depth with depth

Now that we track depth, we can also pass it into the GDK frame code.

For now it's just passed along, code acts the same as with
prefers_high_depth.

2 years agorendernode: Change to gsk_render_node_get_preferred_depth()
Benjamin Otte [Thu, 15 Jun 2023 18:27:13 +0000 (20:27 +0200)]
rendernode: Change to gsk_render_node_get_preferred_depth()

Instead of just tracking preferred_high_depth(), track the actual depth
we'd like to have.

2 years agomemoryformat: Add gdk_memory_format_get_depth()
Benjamin Otte [Thu, 15 Jun 2023 18:02:46 +0000 (20:02 +0200)]
memoryformat: Add gdk_memory_format_get_depth()

Replace gdk_memory_format_prefers_high_depth with the more generic
gdk_memory_format_get_depth() that returns the depth of the individual
channels.

Also make the GL renderer use that to pick the generic F16 format
instead of immediately going for F32 when uploading textures.

2 years agoinspector: Handle a11y being disabled
Benjamin Otte [Sat, 17 Jun 2023 20:02:38 +0000 (22:02 +0200)]
inspector: Handle a11y being disabled

2 years agoRevert "Use gsk_matrix_transform_point3d consistently"
Yiğit Burak [Sun, 18 Jun 2023 12:14:23 +0000 (15:14 +0300)]
Revert "Use gsk_matrix_transform_point3d consistently"

Revert commit 440d56a4

2 years agoa11y: Special-case nested buttons
Matthias Clasen [Sun, 18 Jun 2023 12:12:31 +0000 (08:12 -0400)]
a11y: Special-case nested buttons

Special-case nested buttons in our name computation,
since it is hard to reconcile all the a11y attributes
being on the wrapper, but the focus ending up on the
button inside.

This is a pragmatic approach that works. The only
downside is that the wrapper and the button end up
with the same name+description, but at least orca
seems to only read the focus elements' ones.

2 years agoRevert "colordialogbutton: Shuffle accessible roles around"
Matthias Clasen [Sun, 18 Jun 2023 11:35:52 +0000 (07:35 -0400)]
Revert "colordialogbutton: Shuffle accessible roles around"

This reverts commit 343b9d246ff09e24842020e907a681984ea6d610.

Unfortunately, this makes it so that the focus ends up on
the 'generic' accessible, not the one with the label, and
orca remains quiet.

2 years agoRevert "dropdown: Shuffle accessible roles around"
Matthias Clasen [Sun, 18 Jun 2023 11:34:50 +0000 (07:34 -0400)]
Revert "dropdown: Shuffle accessible roles around"

This reverts commit 5ec0b07bafaa0d874fb2e7e0674e46f9d8f8378d.

Unfortunately, this makes it so that the focus ends up on
the 'generic' accessible, not the one with the label, and
orca remains quiet.

2 years agoMerge branch 'matthiasc/for-main' into 'main'
Matthias Clasen [Sun, 18 Jun 2023 03:03:33 +0000 (03:03 +0000)]
Merge branch 'matthiasc/for-main' into 'main'

testsuite: Add some more a11y tests

See merge request GNOME/gtk!6109

2 years agodropdown: Shuffle accessible roles around
Matthias Clasen [Sun, 18 Jun 2023 02:38:43 +0000 (22:38 -0400)]
dropdown: Shuffle accessible roles around

Make the internal toggle button generic, so that
the a11y checker doesn't complain about it not
having a label. And mark the icons in the popup
as presentational.

2 years agocolordialogbutton: Shuffle accessible roles around
Matthias Clasen [Sun, 18 Jun 2023 02:36:47 +0000 (22:36 -0400)]
colordialogbutton: Shuffle accessible roles around

Make the color button itself take the button role,
and make the internal toggle button just be generic.

This solves the problem that labelled-by relations
that are set up in ui files via mnemonics point at
the toplevel, not the toggle button.

2 years agogtk-demo: a11y improvements
Matthias Clasen [Sun, 18 Jun 2023 02:36:31 +0000 (22:36 -0400)]
gtk-demo: a11y improvements

Make the clipboard demo come up clean in the
a11y checker.

2 years agotestsuite: Add some more a11y tests
Matthias Clasen [Sun, 18 Jun 2023 02:00:04 +0000 (22:00 -0400)]
testsuite: Add some more a11y tests

Test that overriding roles works, both
via g_object_new, and via ui files.

2 years agoMerge branch 'matthiasc/for-main' into 'main'
Matthias Clasen [Sun, 18 Jun 2023 01:47:50 +0000 (01:47 +0000)]
Merge branch 'matthiasc/for-main' into 'main'

gtk-demo: Fix a crash

Closes #4522

See merge request GNOME/gtk!6108

2 years agoApply suggestions from review
Emmanuele Bassi [Sat, 17 Jun 2023 23:44:46 +0000 (23:44 +0000)]
Apply suggestions from review

2 years agovideo: Make the overlay clickable
Matthias Clasen [Sat, 17 Jun 2023 23:00:14 +0000 (19:00 -0400)]
video: Make the overlay clickable

And add missing accessible labels at the same time.

Fixes: #4522
2 years agoinspector: Cosmetic fixes
Matthias Clasen [Sat, 17 Jun 2023 23:05:48 +0000 (19:05 -0400)]
inspector: Cosmetic fixes

Align the values on the a11y page to the right.

2 years agomediacontrols: Add accessible labels
Matthias Clasen [Sat, 17 Jun 2023 22:51:54 +0000 (18:51 -0400)]
mediacontrols: Add accessible labels

2 years agogtk-demo: Misc a11y improvements
Matthias Clasen [Sat, 17 Jun 2023 21:54:39 +0000 (17:54 -0400)]
gtk-demo: Misc a11y improvements

2 years agogtk-demo: Fix a crash
Matthias Clasen [Sat, 17 Jun 2023 21:54:21 +0000 (17:54 -0400)]
gtk-demo: Fix a crash

This was broken in 6b2c088a29e4a819.

2 years agoMerge branch 'matthiasc/for-main' into 'main'
Matthias Clasen [Sat, 17 Jun 2023 21:20:10 +0000 (21:20 +0000)]
Merge branch 'matthiasc/for-main' into 'main'

colordialogbutton: Sync color

See merge request GNOME/gtk!6107

2 years agoinspector: Limit the width of a11y page
Matthias Clasen [Sat, 17 Jun 2023 20:44:16 +0000 (16:44 -0400)]
inspector: Limit the width of a11y page

Ellipsize labels that can contain long
content to prevent a super-wide window.

2 years agogtk-demo: Misc a11y fixes
Matthias Clasen [Sat, 17 Jun 2023 16:19:05 +0000 (12:19 -0400)]
gtk-demo: Misc a11y fixes

Add some missing labels.

2 years agoinspector: Realize AT ontexts
Matthias Clasen [Sat, 17 Jun 2023 18:48:18 +0000 (14:48 -0400)]
inspector: Realize AT ontexts

Otherwise we don't get change notification...

2 years agoa11y: Set has-popup consistently
Matthias Clasen [Sat, 17 Jun 2023 16:18:34 +0000 (12:18 -0400)]
a11y: Set has-popup consistently

Set the has-popup property when a widget
has a context menu.

2 years agocolordialogbutton: Sync color
Matthias Clasen [Sat, 17 Jun 2023 15:37:22 +0000 (11:37 -0400)]
colordialogbutton: Sync color

Make sure the color of the swatch and the button
are initially in sync. As a side-effect, this
ensures that the swatch has its accessible label
computed at the outset.

2 years agogtk-demo: Cosmetics
Matthias Clasen [Sat, 17 Jun 2023 15:37:11 +0000 (11:37 -0400)]
gtk-demo: Cosmetics

2 years agoMerge branch 'matthiasc/for-main' into 'main'
Matthias Clasen [Sat, 17 Jun 2023 15:44:21 +0000 (15:44 +0000)]
Merge branch 'matthiasc/for-main' into 'main'

Don't use "Tab list" as an accessible label

Closes #4839

See merge request GNOME/gtk!6106

2 years agoGtkFileChooserWidget: Use GTK_INVALID_LIST_POSITION
Luca Bacci [Sat, 17 Jun 2023 13:45:07 +0000 (15:45 +0200)]
GtkFileChooserWidget: Use GTK_INVALID_LIST_POSITION

...instead of G_MAXUINT

2 years agoGtkFileChooserWidget: Fix condition on visit action
Luca Bacci [Sat, 17 Jun 2023 12:40:19 +0000 (14:40 +0200)]
GtkFileChooserWidget: Fix condition on visit action

Fixes #5899

2 years agoDon't use "Tab list" as an accessible label
Matthias Clasen [Fri, 16 Jun 2023 17:09:16 +0000 (13:09 -0400)]
Don't use "Tab list" as an accessible label

It does not add any extra information.

Fixes: #4839
2 years agoMerge branch 'dropdown-sections' into 'main'
Benjamin Otte [Sat, 17 Jun 2023 06:41:30 +0000 (06:41 +0000)]
Merge branch 'dropdown-sections' into 'main'

dropdown: Add section support

See merge request GNOME/gtk!6102

2 years agogtk-demo: Add an example for dropdown sections
Matthias Clasen [Sat, 17 Jun 2023 01:12:47 +0000 (21:12 -0400)]
gtk-demo: Add an example for dropdown sections

Make one of the dropdowns in the Selections
demo have sections.

2 years agodropdown: Add section support
Matthias Clasen [Sat, 17 Jun 2023 01:12:11 +0000 (21:12 -0400)]
dropdown: Add section support

Add a header-factory property and pass it through
to the listview in the popup.

2 years agoMerge branch 'fix-c4013' into 'main'
Matthias Clasen [Fri, 16 Jun 2023 16:38:22 +0000 (16:38 +0000)]
Merge branch 'fix-c4013' into 'main'

gtkprintoperation-win32.c: Fix build

See merge request GNOME/gtk!6099

2 years agoMerge branch 'a11y-computed-name' into 'main'
Matthias Clasen [Fri, 16 Jun 2023 16:30:51 +0000 (16:30 +0000)]
Merge branch 'a11y-computed-name' into 'main'

atcontext: Update name computation

See merge request GNOME/gtk!6088