I experiment with PaneSelector command with a toy example which works as expected: i.e.
DynamicModule[
{x = 1},
Column[{
SetterBar[Dynamic[x], {"Don't press this", 1, 2, 100, "Hi there"}],
PaneSelector[{"Don't press this" -> "I said DONT PRESS !!!",
1 -> "One", 2 -> "Two", 100 -> "You Pressed One Hundred",
"Hi there" -> "What is your name ?"}, Dynamic[x]]
}]
However when I wrap the Speak function around the text to hear the message it is played directly once and is not executed when pressing the tab.
DynamicModule[
{x = 1},
Column[{
SetterBar[Dynamic[x], {"Don't press this", 1, 2, 100, "Hi there"}],
PaneSelector[{"Don't press this" -> Speak["I said DONT PRESS !!!"],
1 -> "One", 2 -> "Two", 100 -> "You Pressed One Hundred",
"Hi there" -> "What is your name ?"}, Dynamic[x]]
}]
]
]
What is going on here ?