TAdvTaskDialog and screen readers reading the text 3 times

I have a customer who uses JAWS (a screen reader for the visually impaired). They say that some of the dialogs my app displays (using TAdvTaskDialog) causes their screen reader (JAWS in this case) to read the dialog 3 times which is "pretty inefficient at best and annoying at worst".

Does anyone know why this would happen? Could be be an issue with the VCL? Or with TAdvTaskDialog? Or a bug in JAWS? Or something I'm doing when using the component? Or some other issue with something? I'm at a loss... and don't know much about how this works.

Thanks,
Albert Wiersch
CSS HTML Validator
support@htmlvalidator.com

I do not immediately have an idea why JAWS fails to read this correct.
TAdvTaskDialog has a couple of text parts. So, what text part(s) does it read multiple times?

I am not sure. I have asked my customer and will respond back when I get an answer. Thanks.

Hello, customer provided this:

CSS HTML Validator: Information (Update Check)
CSS HTML Validator: Information (Update Check)
dialog
CSS HTML Validator: Information (Update Check)
pane
MainInstructionIcon
image
You’re using 2024 (v24.0100). You’re up-to-date.
OK
button
Close

So it looks like it is reading the 'Title' property ('CSS HTML Validator: Information (Update Check)') 3 times. I am setting 'Title' before the 'Instruction' and 'Content' properties (in case that matters).

I don't know exactly how this works, but I'm guessing the 'dialog' line and everything after is correct, it's just the two lines above the 'dialog' line that is being read by JAWS that should not be.

I'm surprised JAWS can even read the Title on the dialog as this is set via TLabel which is a TGraphicControl, i.e. content can't be queried via a window handle.
Have you contacted JAWS to ask what particular algorithm they use to get the text out of such dialog with graphic controls?

I have not contacted JAWS... but customer did say "I asked on a Jaws users list and one person who is quite well informed thinks it could be the software that generates the dialog and no one at Freedo Scientific has bothered to program the screen reader to not read the same information more than once."

I'm hoping at this point the native Windows dialog(s) would be used 99% of the time (and my app only official supports Windows 10+ now)... is TAdvTaskDialog building a non-native dialog in the background and setting TLabels that might be causing this issue?

What is your setting for TAdvTaskDialog.NonNativeDialog? Is it set to nndAuto? And if so, what is the operating system you run this on?

Hello, customer says they are using Windows 11 and I have TAdvTaskDialog.NonNativeDialog set to nndAuto.... but I will set this right after creating the object... I wonder if setting NonNativeDialog sooner would have any effect? I might as well give it a shot.

Were you able to find any solution to this issue? It would be nice to get it fixed but fortunately it's just an annoyance and not a showstopper.

Sorry, this is a very particular issue where it's not clear the problem is in our component. We could not yet allocate time for this.