Re: Checkboxes are indicated as buttons for screen readers in dark mode
Sean Tolstoyevski <[email protected]> Thu, 21 Aug 2025 22:34:41 +0300
| Newsgroups | gmane.comp.lib.wxwindows.general |
|---|---|
| Message-ID | <[email protected]> |
hello quentin. I guess you have some mail client problems because we get more times same mail. please check yoru mail client. > On 21 Aug 2025, at 22:30, QuentinC <[email protected]> wrote: > > Hello, > > I have quite a simple and classic dialog box with text fields, checkboxes and buttons. Everything works as expected as long as the app is in light or unspecified appearance mode. > However, when the app is in dark mode, checkboxes are notified as buttons by screen readers (Jaws and NVDA), and their state checked or unchecked isn't announced. They continue to work properly, i.e. the state correctly switches when clicking or pressing space, but they keep being indicated as buttons without state. So screen reader users can no longer know that they are checkboxes, and if they are checked or not. > > Am I missing something ? Is that a limitation of dark mode ? Or this is just a bug ? > > I'm using WXWidgets developement / master branch, last updated about 10-15 days ago, on Windows 11. > There was no problem with version 3.2. > > I activate dark mode with: > SetAppearance(Appearance::Dark); > in wxApp::OnInit, according to user configuration. > > My dialog box is pretty simple, some example code: > > ConnectDialog::ConnectDialog (App& app0): > wxDialog(nullptr, wxID_ANY, > U(translate("connTitle")), > wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE), > app(app0) > { > auto usernameLabel = new wxStaticText(this, wxID_ANY, U(translate("login"))); > username = new wxTextCtrl(this, ID_USERNAME, wxEmptyString, > wxDefaultPosition, wxDefaultSize, 0); > auto passwordLabel = new wxStaticText(this, wxID_ANY, U(translate("password"))); > password = new wxTextCtrl(this, ID_PASSWORD, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_PASSWORD); > rememberMe = new wxCheckBox(this, ID_REMEMBERME, U(translate("rememberpassword"))); > autologin = new wxCheckBox(this, ID_AUTOLOGIN, U(translate("useAutoLogin"))); > auto connectBtn = new wxButton(this, wxID_OK, U(translate("connection"))); > > ... > > auto dlgSizer = new wxFlexGridSizer(2, 5, 5); > dlgSizer->Add(usernameLabel, 0); > dlgSizer->Add(username, 0, wxEXPAND); > dlgSizer->Add(passwordLabel, 0); > dlgSizer->Add(password, 0, wxEXPAND); > dlgSizer->Add(new wxStaticText(this, wxID_ANY, wxEmptyString), 0); > dlgSizer->Add(rememberMe, 0, wxEXPAND); > dlgSizer->Add(new wxStaticText(this, wxID_ANY, wxEmptyString), 0); > dlgSizer->Add(autologin, 0, wxEXPAND); > dlgSizer->Add(connectBtn, 0); > > ... > > SetSizerAndFit(dlgSizer); > > username->SetFocus(); > } > > Thank you for your help. > > P.S. Sorry if you get this message multiple times. It seems that it didn't go through on previous attempt. > > -- > Please read https://www.wxwidgets.org/support/mlhowto.htm before posting. > --- You received this message because you are subscribed to the Google Groups "wx-users" group. > To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. > To view this discussion visit https://groups.google.com/d/msgid/wx-users/c2eb84c4-7142-4e72-9bf4-14f5834d2cd3%40quentinc.net. -- Please read https://www.wxwidgets.org/support/mlhowto.htm before posting. --- You received this message because you are subscribed to the Google Groups "wx-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion visit https://groups.google.com/d/msgid/wx-users/95D8CA51-AE86-40FA-AE97-96BA98B4974D%40gmail.com.