У меня есть текстовый блок (ContentTextBlock
) с AutomationProperties.LiveSettings="Assertive"
.Я просто тестирую и проверяю, насколько полезна эта функция.И ... пока разочарован.
private void Button_Click(object sender, RoutedEventArgs e)
{
ContentTextBlock.Text += " test";
var peer = UIElementAutomationPeer.FromElement(ContentTextBlock);
if(peer == null)
{
peer = UIElementAutomationPeer.CreatePeerForElement(ContentTextBlock);
peer.RaiseAutomationEvent(AutomationEvents.LiveRegionChanged);
}
peer.RaiseAutomationEvent(AutomationEvents.LiveRegionChanged);
}
При использовании Narrator это работает так, как рекламируется.Всякий раз, когда нажимаете кнопку, Narrator объявляет текст TextBlock («тест», «тестовый тест», «тестовый тестовый тест») ... Но когда я использую NVDA или JAWS, ничего не происходит, хотя версии программы чтения с экрана относительно современны.Они действительно не добавили поддержки живым регионам или я просто упустил важный момент?