Live Region populated dynamically versus adding the entire live region dynamically
This page compares two live region implementations. The first one uses the standard approach of populating a live region that is already on the page. The second approach adds the live region in its entirety to the page dynamically.
Live region already on page and populated with messages dynamically
Entire live region added to page dynamically
Both implementations work with iOS 11.2/VoiceOver
Both implementations work with IE11/JAWS 18
The second approach, adding the entire live region dynamically DOES NOT WORK with NVDA 2016.3/Firefox 53.0 on Windows 7
Both approaches work with Android 6.0.1 and TalkBack