Add native wxCollapsibleHeaderCtrl implementation for macOS (PR #27058)

13 views
Skip to first unread message

Quin Gillespie

unread,
Sep 21, 2026, 10:16:08 PM (3 days ago) Sep 21
to wx-...@googlegroups.com, Subscribed

As mentioned in #27057, the custom drawn wxCollapsibleHeaderCtrl, used by wxCollapsiblePane and so by the generic about dialog, is invisible to VoiceOver under macOS, so its users can't open the panes or read their contents.

This adds a native implementation for wxOSX, using a borderless toggle button showing a chevron before its label: the native disclosure triangle can't show any label, so it can't be used directly. The button still reports itself as a disclosure triangle to VoiceOver, which then announces its state. Clicking it, Space and the VoiceOver press action all work natively. wxGenericCollapsibleHeaderCtrl remains available under macOS.

Tested with VoiceOver on macOS 26 in the generic about dialog: the headers are read as "License, collapsed, disclosure triangle" etc, can be opened and closed, and the text inside them can be read. The chevron points right when collapsed and down when expanded. I checked the appearance by rendering the dialog into an image, as I can't see the screen; the labels looked a bit dimmed there, probably because that window wasn't active.

One thing I noticed, which might be a more general wxOSX keyboard navigation issue: right after expanding a pane, Tab moves to the next header instead of the text control inside the pane, while Shift-Tab from there goes back to the text control.

build/upmake was run to update the file lists, but I couldn't regenerate Makefile.in or update the Xcode project, as I don't have Bakefile here.


You can view, comment on, or merge this pull request online at:

  https://github.com/wxWidgets/wxWidgets/pull/27058

Commit Summary

  • de5b5e1 Add native wxCollapsibleHeaderCtrl implementation for macOS

File Changes

(6 files)

Patch Links:

—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications, keep track of coding agent tasks and review pull requests on the go with GitHub Mobile for iOS and Android. Download it today!
You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/pull/27058@github.com>

Quin Gillespie

unread,
Sep 21, 2026, 10:40:37 PM (3 days ago) Sep 21
to wx-...@googlegroups.com, Push

@trypsynth pushed 1 commit.

  • f8f5c9e Add native wxCollapsibleHeaderCtrl to Makefile.in and Xcode project

—
View it on GitHub or unsubscribe.


Triage notifications, keep track of coding agent tasks and review pull requests on the go with GitHub Mobile for iOS and Android. Download it today!

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/pull/27058/before/de5b5e15522f4bf3e6b8bd9bf1b972d2dd3ef2c6/after/f8f5c9e3b12e129e87e7ff387314aca759e243b6@github.com>

VZ

unread,
Sep 22, 2026, 7:34:05 AM (2 days ago) Sep 22
to wx-...@googlegroups.com, Subscribed

@vadz commented on this pull request.

Thanks, this looks good to me, but any review/testing (because I don't know if this actually looks correctly) would be very welcome.

@csomor @vslavik Please have a look at this small PR if you can, TIA!

—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications, keep track of coding agent tasks and review pull requests on the go with GitHub Mobile for iOS and Android. Download it today!

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/pull/27058/review/5277398256@github.com>

Quin Gillespie

unread,
12:16 PM (4 hours ago) 12:16 PM
to wx-...@googlegroups.com, Push

@trypsynth pushed 2 commits.

  • 6a46bad Add native wxCollapsibleHeaderCtrl implementation for macOS
  • 6273be8 Add native wxCollapsibleHeaderCtrl to Makefile.in and Xcode project

—
View it on GitHub or unsubscribe.


Triage notifications, keep track of coding agent tasks and review pull requests on the go with GitHub Mobile for iOS and Android. Download it today!

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/pull/27058/before/f8f5c9e3b12e129e87e7ff387314aca759e243b6/after/6273be8296667a6e0a68698531065a368014f7ea@github.com>

Reply all
Reply to author
Forward
0 new messages