Can't get config panel intro text spoken by default


Luke Davis
 

Hello

I am trying to place some options in a configuration panel of NVDA, and have some introductory text spoken before the first option.

If you open NVDA preferences, settings, move down to the Object Presentation category, and press tab, NVDA speaks a description of the panel you are entering:

"""
Configure how much information NVDA will present about controls. These options apply to focus reporting and NVDA object navigation, but not when reading text content e.g. web content with browse mode.
"""

That text comes from the block between lines 1940 and 2074, of NVDA source file source/settingsDialogs.py.

However, if I create intro text in the same way using a settings panel, upon tabbing from my new settings category into the panel itself, my text is not spoken, only the first option is.

Object navigation shows it as the next left sibling, just as it shows for Object Presentation panel's text above.

Code stub:

import gui
from gui.settingsDialogs import PANEL_DESCRIPTION_WIDTH
class TestSettings(gui.settingsDialogs.SettingsPanel):
title = "Panel title"
def makeSettings(self, settingsSizer):
helper = gui.guiHelper.BoxSizerHelper(self, sizer=settingsSizer)
intro = "Text that should be spoken on tabbing into panel."
introItem = helper.addItem(wx.StaticText(self, label=intro))
introItem.Wrap(self.scaleSize(PANEL_DESCRIPTION_WIDTH))
self.cb = helper.addItem(wx.CheckBox(self, label="stuff on/off"))
self.cb.Value = False
# End

Obviously, I know there should be translation features, and the names are ill-advised. This is just for demonstration purposes.

Does anyone know what I'm missing that makes similar code work in gui.settingsPanels, but not work here?

Luke

Join {nvda-addons@nvda-addons.groups.io to automatically receive all group messages.